aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/power
diff options
context:
space:
mode:
authorRamakrishna Pallala <ramakrishna.pallala@intel.com>2012-05-07 00:55:58 -0400
committerAnton Vorontsov <cbouatmailru@gmail.com>2012-06-19 19:48:08 -0400
commit5fc55bc8225d5a5c13b978e3e3dbf51e6cd6a333 (patch)
treec0e8412fa7b3e9c2272aa888f0b80a48ffecfa20 /drivers/power
parent19dd6bcd1136d254c1f12b0f69e827c3e1679b43 (diff)
max17042_battery: Support CHARGE_COUNTER power supply attribute
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>
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/max17042_battery.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/power/max17042_battery.c b/drivers/power/max17042_battery.c
index 140788b309f8..74abc6c755b4 100644
--- a/drivers/power/max17042_battery.c
+++ b/drivers/power/max17042_battery.c
@@ -113,6 +113,7 @@ static enum power_supply_property max17042_battery_props[] = {
113 POWER_SUPPLY_PROP_VOLTAGE_OCV, 113 POWER_SUPPLY_PROP_VOLTAGE_OCV,
114 POWER_SUPPLY_PROP_CAPACITY, 114 POWER_SUPPLY_PROP_CAPACITY,
115 POWER_SUPPLY_PROP_CHARGE_FULL, 115 POWER_SUPPLY_PROP_CHARGE_FULL,
116 POWER_SUPPLY_PROP_CHARGE_COUNTER,
116 POWER_SUPPLY_PROP_TEMP, 117 POWER_SUPPLY_PROP_TEMP,
117 POWER_SUPPLY_PROP_CURRENT_NOW, 118 POWER_SUPPLY_PROP_CURRENT_NOW,
118 POWER_SUPPLY_PROP_CURRENT_AVG, 119 POWER_SUPPLY_PROP_CURRENT_AVG,
@@ -201,6 +202,13 @@ static int max17042_get_property(struct power_supply *psy,
201 202
202 val->intval = ret * 1000 / 2; 203 val->intval = ret * 1000 / 2;
203 break; 204 break;
205 case POWER_SUPPLY_PROP_CHARGE_COUNTER:
206 ret = max17042_read_reg(chip->client, MAX17042_QH);
207 if (ret < 0)
208 return ret;
209
210 val->intval = ret * 1000 / 2;
211 break;
204 case POWER_SUPPLY_PROP_TEMP: 212 case POWER_SUPPLY_PROP_TEMP:
205 ret = max17042_read_reg(chip->client, MAX17042_TEMP); 213 ret = max17042_read_reg(chip->client, MAX17042_TEMP);
206 if (ret < 0) 214 if (ret < 0)