Patch "power: supply: bq27xxx_battery: Fix register map for BQ27510 and BQ27520" has been added to the 4.9-stable tree
Subsystems (4)
This is a note to let you know that I've just added the patch titled
power: supply: bq27xxx_battery: Fix register map for BQ27510 and BQ27520
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
power-supply-bq27xxx_battery-fix-register-map-for-bq27510-and-bq27520.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
3bee9ea1de687925d116670f036599cbed8b66b0Mon Sep 17 00:00:00 2001
From: "Andrew F. Davis" <[email protected]>
Date: Fri, 4 Nov 2016 13:33:13 -0500
Subject: power: supply: bq27xxx_battery: Fix register map for BQ27510 and BQ27520
From: Andrew F. Davis <[email protected]>
commit 3bee9ea1de687925d116670f036599cbed8b66b0 upstream.
The BQ27510 and BQ27520 use a slightly different register map than the BQ27500, add a new type enum and add these gauges to it.
--- drivers/power/supply/bq27xxx_battery.c | 41 ++++++++++++++++++++++++++++- drivers/power/supply/bq27xxx_battery_i2c.c | 4 +- include/linux/power/bq27xxx_battery.h | 3 +- 3 files changed, 44 insertions(+), 4 deletions(-)
drivers/power/supply/bq27xxx_battery.c +40 -1
@@ -164,6 +164,25 @@ static u8 bq27xxx_regs[][BQ27XXX_REG_MAX [BQ27XXX_REG_DCAP] = 0x3c, [BQ27XXX_REG_AP ] =INVALID_REG_ADDR , }, + [BQ27510] = { + [BQ27XXX_REG_CTRL ] =0x00 , + [BQ27XXX_REG_TEMP ] =0x06 , + [BQ27XXX_REG_INT_TEMP ] =0x28 , + [BQ27XXX_REG_VOLT ] =0x08 , + [BQ27XXX_REG_AI ] =0x14 , + [BQ27XXX_REG_FLAGS ] =0x0a , + [BQ27XXX_REG_TTE ] =0x16 , + [BQ27XXX_REG_TTF ] =INVALID_REG_ADDR , + [BQ27XXX_REG_TTES ] =0x1a , + [BQ27XXX_REG_TTECP ] =INVALID_REG_ADDR , + [BQ27XXX_REG_NAC ] =0x0c , + [BQ27XXX_REG_FCC ] =0x12 , + [BQ27XXX_REG_CYCT ] =0x1e , + [BQ27XXX_REG_AE ] =INVALID_REG_ADDR , + [BQ27XXX_REG_SOC ] =0x20 , + [BQ27XXX_REG_DCAP ] =0x2e , + [BQ27XXX_REG_AP ] =INVALID_REG_ADDR , + }, [BQ27530 ] = { [BQ27XXX_REG_CTRL ] =0x00 , [BQ27XXX_REG_TEMP ] =0x06 ,
@@ -302,6 +321,24 @@ static enum power_supply_property bq2750 POWER_SUPPLY_PROP_MANUFACTURER, }; +static enum power_supply_property bq27510_battery_props[] = { +POWER_SUPPLY_PROP_STATUS , +POWER_SUPPLY_PROP_PRESENT , +POWER_SUPPLY_PROP_VOLTAGE_NOW , +POWER_SUPPLY_PROP_CURRENT_NOW , +POWER_SUPPLY_PROP_CAPACITY , +POWER_SUPPLY_PROP_CAPACITY_LEVEL , +POWER_SUPPLY_PROP_TEMP , +POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW , +POWER_SUPPLY_PROP_TECHNOLOGY , +POWER_SUPPLY_PROP_CHARGE_FULL , +POWER_SUPPLY_PROP_CHARGE_NOW , +POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN , +POWER_SUPPLY_PROP_CYCLE_COUNT , +POWER_SUPPLY_PROP_HEALTH , +POWER_SUPPLY_PROP_MANUFACTURER , +}; +static enum power_supply_property bq27530_battery_props[] = {POWER_SUPPLY_PROP_STATUS ,POWER_SUPPLY_PROP_PRESENT ,
@@ -385,6 +422,7 @@ static struct {BQ27XXX_PROP (BQ27000 , bq27000_battery_props),BQ27XXX_PROP (BQ27010 , bq27010_battery_props),BQ27XXX_PROP (BQ27500 , bq27500_battery_props), +BQ27XXX_PROP (BQ27510 , bq27510_battery_props),BQ27XXX_PROP (BQ27530 , bq27530_battery_props),BQ27XXX_PROP (BQ27541 , bq27541_battery_props), BQ27XXX_PROP(BQ27545, bq27545_battery_props),
@@ -635,7 +673,8 @@ static int bq27xxx_battery_read_pwr_avg(*/ static bool bq27xxx_battery_overtemp (struct bq27xxx_device_info *di,u16 flags) { -if (di->chip ==BQ27500 || di->chip ==BQ27541 || di->chip ==BQ27545 ) +if (di->chip ==BQ27500 || di->chip ==BQ27510 || + di->chip ==BQ27541 || di->chip ==BQ27545 )return flags & (BQ27XXX_FLAG_OTC |BQ27XXX_FLAG_OTD );if (di->chip ==BQ27530 || di->chip ==BQ27421 )return flags &BQ27XXX_FLAG_OT ;
drivers/power/supply/bq27xxx_battery_i2c.c +2 -2
@@ -149,8 +149,8 @@ static const struct i2c_device_id bq27xx { "bq27200", BQ27000 }, { "bq27210", BQ27010 }, { "bq27500", BQ27500 }, - { "bq27510", BQ27500 }, - { "bq27520", BQ27500 }, + { "bq27510", BQ27510 }, + { "bq27520", BQ27510 }, { "bq27530", BQ27530 }, { "bq27531", BQ27530 }, { "bq27541", BQ27541 },
include/linux/power/bq27xxx_battery.h +2 -1
@@ -4,7 +4,8 @@enum bq27xxx_chip {BQ27000 =1 ,/* bq27000, bq27200 */ BQ27010 ,/* bq27010, bq27210 */ -BQ27500 ,/* bq27500, bq27510, bq27520 */ +BQ27500 ,/* bq27500 */ +BQ27510 ,/* bq27510, bq27520 */ BQ27530 ,/* bq27530, bq27531 */ BQ27541 ,/* bq27541, bq27542, bq27546, bq27742 */ BQ27545 ,/* bq27545 */
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/power-supply-bq27xxx_battery-fix-register-map-for-bq27510-and-bq27520.patch queue-4.9/regulator-tps65086-fix-25mv-ranges-for-buck-regulators.patch