[PATCH] power: bq20z75: Fix time and temp units

From: Benson Leung
Date: Sun Feb 27 2011 - 19:41:40 EST


Corrected temperature and time to empty/full conversions.
Temperature is in 0.1ÂC, time is in seconds.

Signed-off-by: Benson Leung <bleung@xxxxxxxxxxxx>
---
drivers/power/bq20z75.c | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/power/bq20z75.c b/drivers/power/bq20z75.c
index 4141775..998123e 100644
--- a/drivers/power/bq20z75.c
+++ b/drivers/power/bq20z75.c
@@ -269,12 +269,15 @@ static void bq20z75_unit_adjustment(struct i2c_client *client,
{
#define BASE_UNIT_CONVERSION 1000
#define BATTERY_MODE_CAP_MULT_WATT (10 * BASE_UNIT_CONVERSION)
-#define TIME_UNIT_CONVERSION 600
-#define TEMP_KELVIN_TO_CELCIUS 2731
+#define TIME_UNIT_CONVERSION 60
+#define TEMP_KELVIN_TO_CELSIUS 2731
switch (psp) {
case POWER_SUPPLY_PROP_ENERGY_NOW:
case POWER_SUPPLY_PROP_ENERGY_FULL:
case POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN:
+ /* bq20z75 provides energy in units of 10mWh.
+ * Convert to ÂW
+ */
val->intval *= BATTERY_MODE_CAP_MULT_WATT;
break;

@@ -288,14 +291,17 @@ static void bq20z75_unit_adjustment(struct i2c_client *client,
break;

case POWER_SUPPLY_PROP_TEMP:
- /* bq20z75 provides battery tempreture in 0.1ÂK
- * so convert it to 0.1ÂC */
- val->intval -= TEMP_KELVIN_TO_CELCIUS;
- val->intval *= 10;
+ /* bq20z75 provides battery temperature in 0.1K
+ * so convert it to 0.1ÂC
+ */
+ val->intval -= TEMP_KELVIN_TO_CELSIUS;
break;

case POWER_SUPPLY_PROP_TIME_TO_EMPTY_AVG:
case POWER_SUPPLY_PROP_TIME_TO_FULL_AVG:
+ /* bq20z75 provides time to empty and time to full in minutes.
+ * Convert to seconds
+ */
val->intval *= TIME_UNIT_CONVERSION;
break;

--
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/