Messages in this thread Patch in this message | | | From | Ramakrishna Pallala <> | Subject | [PATCH] max17042_battery: add support for battery STATUS and CHARGE_TYPE | Date | Fri, 27 Jul 2012 22:26:21 +0530 |
| |
This patch adds the support to report the battery power supply attributes STATUS and CHARGE_TYPE. This patch makes use of power_supply_get_external_attr() API to get these attributes through power supply core.
Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com> --- drivers/power/max17042_battery.c | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/drivers/power/max17042_battery.c b/drivers/power/max17042_battery.c index 74abc6c..56131f8 100644 --- a/drivers/power/max17042_battery.c +++ b/drivers/power/max17042_battery.c @@ -105,6 +105,8 @@ static void max17042_set_reg(struct i2c_client *client, static enum power_supply_property max17042_battery_props[] = { POWER_SUPPLY_PROP_PRESENT, + POWER_SUPPLY_PROP_STATUS, + POWER_SUPPLY_PROP_CHARGE_TYPE, POWER_SUPPLY_PROP_CYCLE_COUNT, POWER_SUPPLY_PROP_VOLTAGE_MAX, POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN, @@ -125,12 +127,29 @@ static int max17042_get_property(struct power_supply *psy, { struct max17042_chip *chip = container_of(psy, struct max17042_chip, battery); + struct power_supply_attr_query query; int ret; if (!chip->init_complete) return -EAGAIN; + memset(&query, 0x0, sizeof(query)); + query.property = psp; + query.type = POWER_SUPPLY_TYPE_BATTERY; + switch (psp) { + case POWER_SUPPLY_PROP_STATUS: + ret = power_supply_get_external_attr(&query); + if (ret < 0) + return ret; + val->intval = query.res.intval; + break; + case POWER_SUPPLY_PROP_CHARGE_TYPE: + ret = power_supply_get_external_attr(&query); + if (ret < 0) + return ret; + val->intval = query.res.intval; + break; case POWER_SUPPLY_PROP_PRESENT: ret = max17042_read_reg(chip->client, MAX17042_STATUS); if (ret < 0) -- 1.7.0.4
| |