]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
power: bq27441:add api to battery-gauge ops
authorVenkat Reddy Talla <vreddytalla@nvidia.com>
Wed, 8 Jan 2014 07:04:53 +0000 (12:34 +0530)
committerLaxman Dewangan <ldewangan@nvidia.com>
Thu, 9 Jan 2014 10:49:08 +0000 (02:49 -0800)
 provide callback api to battery-gauge driver to read battery
 temperature.bq27441 FG provides register to read battery
 temp value.

 Bug 1355405

Change-Id: Iced5ef1093564acffd5f26fc4da7c784da1dd414
Signed-off-by: Venkat Reddy Talla <vreddytalla@nvidia.com>
Reviewed-on: http://git-master/r/353144
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
drivers/power/bq27441_battery.c

index 31516d8d79a20073c2a62a2ed6094ab8caa7ad8a..4543672eaed6809a590d71a767933b715afaae03 100644 (file)
@@ -455,16 +455,17 @@ fail:
        return -EIO;
 }
 
-static int bq27441_get_temperature(struct bq27441_chip *chip)
+static int bq27441_get_temperature(void)
 {
        int val;
 
-       val = bq27441_read_word(chip->client, BQ27441_TEMPERATURE);
+       val = bq27441_read_word(bq27441_data->client, BQ27441_TEMPERATURE);
        if (val < 0) {
-               dev_err(&chip->client->dev, "%s: err %d\n", __func__, val);
+               dev_err(&bq27441_data->client->dev, "%s: err %d\n", __func__,
+                               val);
                return -EINVAL;
        }
-       return val;
+       return val / 100;
 }
 
 static enum power_supply_property bq27441_battery_props[] = {
@@ -516,8 +517,8 @@ static int bq27441_get_property(struct power_supply *psy,
                val->intval = chip->capacity_level;
                break;
        case POWER_SUPPLY_PROP_TEMP:
-               temperature = bq27441_get_temperature(chip);
-               val->intval = temperature / 10;
+               temperature = bq27441_get_temperature();
+               val->intval = temperature;
                break;
        default:
                return -EINVAL;
@@ -550,6 +551,7 @@ static int bq27441_update_battery_status(struct battery_gauge_dev *bg_dev,
 
 static struct battery_gauge_ops bq27441_bg_ops = {
        .update_battery_status = bq27441_update_battery_status,
+       .get_battery_temp = bq27441_get_temperature,
 };
 
 static struct battery_gauge_info bq27441_bgi = {