power: supply: bq27xxx: add separate flag for single SoC register
bq27000, bq27010 and upcoming bq34z100 have a single byte SoC register. However except this similarity, bq34z100 is quite different than bq27000/bq27010, so flag BQ27XXX_O_ZERO cannot be reused here. Add a new bit flag describing that SoC is a single byte register. No functional change for bq27000 and bq27010. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
This commit is contained in:
parent
bffa569fc9
commit
c02ca20198
|
@ -855,6 +855,7 @@ static struct bq27xxx_dm_reg bq27621_dm_regs[] = {
|
|||
#define BQ27XXX_O_CFGUP BIT(3)
|
||||
#define BQ27XXX_O_RAM BIT(4)
|
||||
#define BQ27Z561_O_BITS BIT(5)
|
||||
#define BQ27XXX_O_SOC_SI BIT(6) /* SoC is single register */
|
||||
|
||||
#define BQ27XXX_DATA(ref, key, opt) { \
|
||||
.opts = (opt), \
|
||||
|
@ -872,8 +873,8 @@ static struct {
|
|||
enum power_supply_property *props;
|
||||
size_t props_size;
|
||||
} bq27xxx_chip_data[] = {
|
||||
[BQ27000] = BQ27XXX_DATA(bq27000, 0 , BQ27XXX_O_ZERO),
|
||||
[BQ27010] = BQ27XXX_DATA(bq27010, 0 , BQ27XXX_O_ZERO),
|
||||
[BQ27000] = BQ27XXX_DATA(bq27000, 0 , BQ27XXX_O_ZERO | BQ27XXX_O_SOC_SI),
|
||||
[BQ27010] = BQ27XXX_DATA(bq27010, 0 , BQ27XXX_O_ZERO | BQ27XXX_O_SOC_SI),
|
||||
[BQ2750X] = BQ27XXX_DATA(bq2750x, 0 , BQ27XXX_O_OTDC),
|
||||
[BQ2751X] = BQ27XXX_DATA(bq2751x, 0 , BQ27XXX_O_OTDC),
|
||||
[BQ2752X] = BQ27XXX_DATA(bq2752x, 0 , BQ27XXX_O_OTDC),
|
||||
|
@ -1420,7 +1421,7 @@ static int bq27xxx_battery_read_soc(struct bq27xxx_device_info *di)
|
|||
{
|
||||
int soc;
|
||||
|
||||
if (di->opts & BQ27XXX_O_ZERO)
|
||||
if (di->opts & BQ27XXX_O_SOC_SI)
|
||||
soc = bq27xxx_read(di, BQ27XXX_REG_SOC, true);
|
||||
else
|
||||
soc = bq27xxx_read(di, BQ27XXX_REG_SOC, false);
|
||||
|
|
Loading…
Reference in a new issue