max17042_battery: Support CHARGE_COUNTER power supply attribute
authorRamakrishna Pallala <ramakrishna.pallala@intel.com>
Mon, 7 May 2012 04:55:58 +0000 (10:25 +0530)
committerAnton Vorontsov <cbouatmailru@gmail.com>
Tue, 19 Jun 2012 23:48:08 +0000 (16:48 -0700)
This patch adds the support for CHARGE_COUNTER power supply attribute
to max17042/47 driver.

Note:QH(Charge Counter) register is not documented in max17042 the Spec.

Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
Signed-off-by: Anton Vorontsov <cbouatmailru@gmail.com>
drivers/power/max17042_battery.c

index 140788b309f84fe26056e77636eff26b954d8cb8..74abc6c755b498bf023fcd540b9232743f1cd744 100644 (file)
@@ -113,6 +113,7 @@ static enum power_supply_property max17042_battery_props[] = {
        POWER_SUPPLY_PROP_VOLTAGE_OCV,
        POWER_SUPPLY_PROP_CAPACITY,
        POWER_SUPPLY_PROP_CHARGE_FULL,
+       POWER_SUPPLY_PROP_CHARGE_COUNTER,
        POWER_SUPPLY_PROP_TEMP,
        POWER_SUPPLY_PROP_CURRENT_NOW,
        POWER_SUPPLY_PROP_CURRENT_AVG,
@@ -199,6 +200,13 @@ static int max17042_get_property(struct power_supply *psy,
                if (ret < 0)
                        return ret;
 
+               val->intval = ret * 1000 / 2;
+               break;
+       case POWER_SUPPLY_PROP_CHARGE_COUNTER:
+               ret = max17042_read_reg(chip->client, MAX17042_QH);
+               if (ret < 0)
+                       return ret;
+
                val->intval = ret * 1000 / 2;
                break;
        case POWER_SUPPLY_PROP_TEMP: