public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/10] OPP layer and additional cleanups.
@ 2009-12-31 13:29 Romit Dasgupta
  2010-01-04 22:04 ` Nishanth Menon
  0 siblings, 1 reply; 2+ messages in thread
From: Romit Dasgupta @ 2009-12-31 13:29 UTC (permalink / raw)
  To: paul, nm, khilman; +Cc: linux-omap@vger.kernel.org

Cleaner way to take care of the precision loss during integer division.


diff --git a/arch/arm/plat-omap/opp_twl_tps.c b/arch/arm/plat-omap/opp_twl_tps.c
index e0db39b..43dee2d 100644
--- a/arch/arm/plat-omap/opp_twl_tps.c
+++ b/arch/arm/plat-omap/opp_twl_tps.c
@@ -36,14 +36,7 @@ unsigned long omap_twl_vsel_to_uv(const u8 vsel)
  */
 u8 omap_twl_uv_to_vsel(unsigned long uv)
 {
-	u8 vsel;
+	/* Takes care of precision loss due to integer division */
+	return (((uv + 99) / 100 - 6000) + 124) / 125;
 
-	vsel = ((uv / 100) - 6000) / 125;
-
-	/* round off to higher voltage */
-	/* XXX Surely not the best way to handle this. */
-	if (uv > omap_twl_vsel_to_uv(vsel))
-		vsel++;
-
-	return vsel;
 }



^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-01-04 22:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-31 13:29 [PATCH 1/10] OPP layer and additional cleanups Romit Dasgupta
2010-01-04 22:04 ` Nishanth Menon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox