All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] power: bq27xxx_battery: Keep track of specific chip id
@ 2017-03-09  7:00 Liam Breck
  2017-03-09 22:42 ` Liam Breck
  0 siblings, 1 reply; 4+ messages in thread
From: Liam Breck @ 2017-03-09  7:00 UTC (permalink / raw)
  To: Andrew F. Davis, linux-pm; +Cc: Matt Ranostay, Liam Breck

From: Liam Breck <kernel@networkimprov.net>

Keep actual chip ID in di->dmid, to allow support for all chips
by the power_supply_battery_info code.
There are no functional changes to the driver.

Signed-off-by: Matt Ranostay <matt@ranostay.consulting>
Signed-off-by: Liam Breck <kernel@networkimprov.net>
---
Andrew, here is the alternate method I referred to.
I made the enum values explicit in case they are referenced externally.

 drivers/power/supply/bq27xxx_battery.c     | 13 +++++++++++++
 drivers/power/supply/bq27xxx_battery_i2c.c | 16 ++++++++--------
 include/linux/power/bq27xxx_battery.h      | 26 +++++++++++++++++++-------
 3 files changed, 40 insertions(+), 15 deletions(-)

diff --git a/drivers/power/supply/bq27xxx_battery.c b/drivers/power/supply/bq27xxx_battery.c
index 7272d1e..0e6653f 100644
--- a/drivers/power/supply/bq27xxx_battery.c
+++ b/drivers/power/supply/bq27xxx_battery.c
@@ -1020,6 +1020,19 @@ int bq27xxx_battery_setup(struct bq27xxx_device_info *di)
 	struct power_supply_desc *psy_desc;
 	struct power_supply_config psy_cfg = { .drv_data = di, };
 
+	di->dmid = di->chip;
+	switch(di->dmid) {
+	case BQ27520: di->chip = BQ27510; break;
+	case BQ27531: di->chip = BQ27530; break;
+	case BQ27542: di->chip = BQ27541; break;
+	case BQ27546: di->chip = BQ27541; break;
+	case BQ27742: di->chip = BQ27541; break;
+	case BQ27425: di->chip = BQ27421; break;
+	case BQ27441: di->chip = BQ27421; break;
+	case BQ27621: di->chip = BQ27421; break;
+	default: break;
+	}
+
 	INIT_DELAYED_WORK(&di->work, bq27xxx_battery_poll);
 	mutex_init(&di->lock);
 	di->regs = bq27xxx_regs[di->chip];
diff --git a/drivers/power/supply/bq27xxx_battery_i2c.c b/drivers/power/supply/bq27xxx_battery_i2c.c
index 5c5c3a6..13def59 100644
--- a/drivers/power/supply/bq27xxx_battery_i2c.c
+++ b/drivers/power/supply/bq27xxx_battery_i2c.c
@@ -150,18 +150,18 @@ static const struct i2c_device_id bq27xxx_i2c_id_table[] = {
 	{ "bq27210", BQ27010 },
 	{ "bq27500", BQ27500 },
 	{ "bq27510", BQ27510 },
-	{ "bq27520", BQ27510 },
+	{ "bq27520", BQ27520 },
 	{ "bq27530", BQ27530 },
-	{ "bq27531", BQ27530 },
+	{ "bq27531", BQ27531 },
 	{ "bq27541", BQ27541 },
-	{ "bq27542", BQ27541 },
-	{ "bq27546", BQ27541 },
-	{ "bq27742", BQ27541 },
+	{ "bq27542", BQ27542 },
+	{ "bq27546", BQ27546 },
+	{ "bq27742", BQ27742 },
 	{ "bq27545", BQ27545 },
 	{ "bq27421", BQ27421 },
-	{ "bq27425", BQ27421 },
-	{ "bq27441", BQ27421 },
-	{ "bq27621", BQ27421 },
+	{ "bq27425", BQ27425 },
+	{ "bq27441", BQ27441 },
+	{ "bq27621", BQ27621 },
 	{},
 };
 MODULE_DEVICE_TABLE(i2c, bq27xxx_i2c_id_table);
diff --git a/include/linux/power/bq27xxx_battery.h b/include/linux/power/bq27xxx_battery.h
index 92df553..969f99f 100644
--- a/include/linux/power/bq27xxx_battery.h
+++ b/include/linux/power/bq27xxx_battery.h
@@ -3,13 +3,24 @@
 
 enum bq27xxx_chip {
 	BQ27000 = 1, /* bq27000, bq27200 */
-	BQ27010, /* bq27010, bq27210 */
-	BQ27500, /* bq27500 */
-	BQ27510, /* bq27510, bq27520 */
-	BQ27530, /* bq27530, bq27531 */
-	BQ27541, /* bq27541, bq27542, bq27546, bq27742 */
-	BQ27545, /* bq27545 */
-	BQ27421, /* bq27421, bq27425, bq27441, bq27621 */
+	BQ27010 = 2, /* bq27010, bq27210 */
+	BQ27500 = 3, /* bq27500 */
+	BQ27510 = 4, /* bq27510, bq27520 */
+	BQ27530 = 5, /* bq27530, bq27531 */
+	BQ27541 = 6, /* bq27541, bq27542, bq27546, bq27742 */
+	BQ27545 = 7, /* bq27545 */
+	BQ27421 = 8, /* bq27421, bq27425, bq27441, bq27621 */
+
+	/* members of above groups, for use in .dmid */
+	/* translate these in _setup() for .chip */
+	BQ27520 = 101,
+	BQ27531 = 102,
+	BQ27542 = 103,
+	BQ27546 = 104,
+	BQ27742 = 105,
+	BQ27425 = 106,
+	BQ27441 = 107,
+	BQ27621 = 108,
 };
 
 /**
@@ -55,6 +66,7 @@ struct bq27xxx_device_info {
 	struct device *dev;
 	int id;
 	enum bq27xxx_chip chip;
+	enum bq27xxx_chip dmid;
 	const char *name;
 	struct bq27xxx_access_methods bus;
 	struct bq27xxx_reg_cache cache;
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] power: bq27xxx_battery: Keep track of specific chip id
  2017-03-09  7:00 [PATCH] power: bq27xxx_battery: Keep track of specific chip id Liam Breck
@ 2017-03-09 22:42 ` Liam Breck
  2017-03-09 22:45   ` Andrew F. Davis
  0 siblings, 1 reply; 4+ messages in thread
From: Liam Breck @ 2017-03-09 22:42 UTC (permalink / raw)
  To: Andrew F. Davis, linux-pm

On Wed, Mar 8, 2017 at 11:00 PM, Liam Breck <liam@networkimprov.net> wrote:
> From: Liam Breck <kernel@networkimprov.net>
>
> Keep actual chip ID in di->dmid, to allow support for all chips
> by the power_supply_battery_info code.
> There are no functional changes to the driver.
>
> Signed-off-by: Matt Ranostay <matt@ranostay.consulting>
> Signed-off-by: Liam Breck <kernel@networkimprov.net>
> ---
> Andrew, here is the alternate method I referred to.
> I made the enum values explicit in case they are referenced externally.
>
>  drivers/power/supply/bq27xxx_battery.c     | 13 +++++++++++++
>  drivers/power/supply/bq27xxx_battery_i2c.c | 16 ++++++++--------
>  include/linux/power/bq27xxx_battery.h      | 26 +++++++++++++++++++-------
>  3 files changed, 40 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/power/supply/bq27xxx_battery.c b/drivers/power/supply/bq27xxx_battery.c
> index 7272d1e..0e6653f 100644
> --- a/drivers/power/supply/bq27xxx_battery.c
> +++ b/drivers/power/supply/bq27xxx_battery.c
> @@ -1020,6 +1020,19 @@ int bq27xxx_battery_setup(struct bq27xxx_device_info *di)
>         struct power_supply_desc *psy_desc;
>         struct power_supply_config psy_cfg = { .drv_data = di, };
>
> +       di->dmid = di->chip;
> +       switch(di->dmid) {
> +       case BQ27520: di->chip = BQ27510; break;
> +       case BQ27531: di->chip = BQ27530; break;
> +       case BQ27542: di->chip = BQ27541; break;
> +       case BQ27546: di->chip = BQ27541; break;
> +       case BQ27742: di->chip = BQ27541; break;
> +       case BQ27425: di->chip = BQ27421; break;
> +       case BQ27441: di->chip = BQ27421; break;
> +       case BQ27621: di->chip = BQ27421; break;
> +       default: break;
> +       }

To avoid .chip + .dmid we can add .dm_regs & .unseal_key and init them
in the above switch. That eliminates two static arrays as well.

How soon could you test a v10?

>         INIT_DELAYED_WORK(&di->work, bq27xxx_battery_poll);
>         mutex_init(&di->lock);
>         di->regs = bq27xxx_regs[di->chip];
> diff --git a/drivers/power/supply/bq27xxx_battery_i2c.c b/drivers/power/supply/bq27xxx_battery_i2c.c
> index 5c5c3a6..13def59 100644
> --- a/drivers/power/supply/bq27xxx_battery_i2c.c
> +++ b/drivers/power/supply/bq27xxx_battery_i2c.c
> @@ -150,18 +150,18 @@ static const struct i2c_device_id bq27xxx_i2c_id_table[] = {
>         { "bq27210", BQ27010 },
>         { "bq27500", BQ27500 },
>         { "bq27510", BQ27510 },
> -       { "bq27520", BQ27510 },
> +       { "bq27520", BQ27520 },
>         { "bq27530", BQ27530 },
> -       { "bq27531", BQ27530 },
> +       { "bq27531", BQ27531 },
>         { "bq27541", BQ27541 },
> -       { "bq27542", BQ27541 },
> -       { "bq27546", BQ27541 },
> -       { "bq27742", BQ27541 },
> +       { "bq27542", BQ27542 },
> +       { "bq27546", BQ27546 },
> +       { "bq27742", BQ27742 },
>         { "bq27545", BQ27545 },
>         { "bq27421", BQ27421 },
> -       { "bq27425", BQ27421 },
> -       { "bq27441", BQ27421 },
> -       { "bq27621", BQ27421 },
> +       { "bq27425", BQ27425 },
> +       { "bq27441", BQ27441 },
> +       { "bq27621", BQ27621 },
>         {},
>  };
>  MODULE_DEVICE_TABLE(i2c, bq27xxx_i2c_id_table);
> diff --git a/include/linux/power/bq27xxx_battery.h b/include/linux/power/bq27xxx_battery.h
> index 92df553..969f99f 100644
> --- a/include/linux/power/bq27xxx_battery.h
> +++ b/include/linux/power/bq27xxx_battery.h
> @@ -3,13 +3,24 @@
>
>  enum bq27xxx_chip {
>         BQ27000 = 1, /* bq27000, bq27200 */
> -       BQ27010, /* bq27010, bq27210 */
> -       BQ27500, /* bq27500 */
> -       BQ27510, /* bq27510, bq27520 */
> -       BQ27530, /* bq27530, bq27531 */
> -       BQ27541, /* bq27541, bq27542, bq27546, bq27742 */
> -       BQ27545, /* bq27545 */
> -       BQ27421, /* bq27421, bq27425, bq27441, bq27621 */
> +       BQ27010 = 2, /* bq27010, bq27210 */
> +       BQ27500 = 3, /* bq27500 */
> +       BQ27510 = 4, /* bq27510, bq27520 */
> +       BQ27530 = 5, /* bq27530, bq27531 */
> +       BQ27541 = 6, /* bq27541, bq27542, bq27546, bq27742 */
> +       BQ27545 = 7, /* bq27545 */
> +       BQ27421 = 8, /* bq27421, bq27425, bq27441, bq27621 */
> +
> +       /* members of above groups, for use in .dmid */
> +       /* translate these in _setup() for .chip */
> +       BQ27520 = 101,
> +       BQ27531 = 102,
> +       BQ27542 = 103,
> +       BQ27546 = 104,
> +       BQ27742 = 105,
> +       BQ27425 = 106,
> +       BQ27441 = 107,
> +       BQ27621 = 108,
>  };
>
>  /**
> @@ -55,6 +66,7 @@ struct bq27xxx_device_info {
>         struct device *dev;
>         int id;
>         enum bq27xxx_chip chip;
> +       enum bq27xxx_chip dmid;
>         const char *name;
>         struct bq27xxx_access_methods bus;
>         struct bq27xxx_reg_cache cache;
> --
> 2.9.3
>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] power: bq27xxx_battery: Keep track of specific chip id
  2017-03-09 22:42 ` Liam Breck
@ 2017-03-09 22:45   ` Andrew F. Davis
  2017-03-09 22:52     ` Liam Breck
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew F. Davis @ 2017-03-09 22:45 UTC (permalink / raw)
  To: Liam Breck, linux-pm

On 03/09/2017 04:42 PM, Liam Breck wrote:
> On Wed, Mar 8, 2017 at 11:00 PM, Liam Breck <liam@networkimprov.net> wrote:
>> From: Liam Breck <kernel@networkimprov.net>
>>
>> Keep actual chip ID in di->dmid, to allow support for all chips
>> by the power_supply_battery_info code.
>> There are no functional changes to the driver.
>>
>> Signed-off-by: Matt Ranostay <matt@ranostay.consulting>
>> Signed-off-by: Liam Breck <kernel@networkimprov.net>
>> ---
>> Andrew, here is the alternate method I referred to.
>> I made the enum values explicit in case they are referenced externally.
>>
>>  drivers/power/supply/bq27xxx_battery.c     | 13 +++++++++++++
>>  drivers/power/supply/bq27xxx_battery_i2c.c | 16 ++++++++--------
>>  include/linux/power/bq27xxx_battery.h      | 26 +++++++++++++++++++-------
>>  3 files changed, 40 insertions(+), 15 deletions(-)
>>
>> diff --git a/drivers/power/supply/bq27xxx_battery.c b/drivers/power/supply/bq27xxx_battery.c
>> index 7272d1e..0e6653f 100644
>> --- a/drivers/power/supply/bq27xxx_battery.c
>> +++ b/drivers/power/supply/bq27xxx_battery.c
>> @@ -1020,6 +1020,19 @@ int bq27xxx_battery_setup(struct bq27xxx_device_info *di)
>>         struct power_supply_desc *psy_desc;
>>         struct power_supply_config psy_cfg = { .drv_data = di, };
>>
>> +       di->dmid = di->chip;
>> +       switch(di->dmid) {
>> +       case BQ27520: di->chip = BQ27510; break;
>> +       case BQ27531: di->chip = BQ27530; break;
>> +       case BQ27542: di->chip = BQ27541; break;
>> +       case BQ27546: di->chip = BQ27541; break;
>> +       case BQ27742: di->chip = BQ27541; break;
>> +       case BQ27425: di->chip = BQ27421; break;
>> +       case BQ27441: di->chip = BQ27421; break;
>> +       case BQ27621: di->chip = BQ27421; break;
>> +       default: break;
>> +       }
> 
> To avoid .chip + .dmid we can add .dm_regs & .unseal_key and init them
> in the above switch. That eliminates two static arrays as well.
> 
> How soon could you test a v10?
> 

Lets just see how the code looks first, and for the most part you should
test all new parts yourself before submitting patches for them, I'll do
some sanity tests before this all gets merged on parts you don't have,
but I'm not a test farm, I do have a day job :)

>>         INIT_DELAYED_WORK(&di->work, bq27xxx_battery_poll);
>>         mutex_init(&di->lock);
>>         di->regs = bq27xxx_regs[di->chip];
>> diff --git a/drivers/power/supply/bq27xxx_battery_i2c.c b/drivers/power/supply/bq27xxx_battery_i2c.c
>> index 5c5c3a6..13def59 100644
>> --- a/drivers/power/supply/bq27xxx_battery_i2c.c
>> +++ b/drivers/power/supply/bq27xxx_battery_i2c.c
>> @@ -150,18 +150,18 @@ static const struct i2c_device_id bq27xxx_i2c_id_table[] = {
>>         { "bq27210", BQ27010 },
>>         { "bq27500", BQ27500 },
>>         { "bq27510", BQ27510 },
>> -       { "bq27520", BQ27510 },
>> +       { "bq27520", BQ27520 },
>>         { "bq27530", BQ27530 },
>> -       { "bq27531", BQ27530 },
>> +       { "bq27531", BQ27531 },
>>         { "bq27541", BQ27541 },
>> -       { "bq27542", BQ27541 },
>> -       { "bq27546", BQ27541 },
>> -       { "bq27742", BQ27541 },
>> +       { "bq27542", BQ27542 },
>> +       { "bq27546", BQ27546 },
>> +       { "bq27742", BQ27742 },
>>         { "bq27545", BQ27545 },
>>         { "bq27421", BQ27421 },
>> -       { "bq27425", BQ27421 },
>> -       { "bq27441", BQ27421 },
>> -       { "bq27621", BQ27421 },
>> +       { "bq27425", BQ27425 },
>> +       { "bq27441", BQ27441 },
>> +       { "bq27621", BQ27621 },
>>         {},
>>  };
>>  MODULE_DEVICE_TABLE(i2c, bq27xxx_i2c_id_table);
>> diff --git a/include/linux/power/bq27xxx_battery.h b/include/linux/power/bq27xxx_battery.h
>> index 92df553..969f99f 100644
>> --- a/include/linux/power/bq27xxx_battery.h
>> +++ b/include/linux/power/bq27xxx_battery.h
>> @@ -3,13 +3,24 @@
>>
>>  enum bq27xxx_chip {
>>         BQ27000 = 1, /* bq27000, bq27200 */
>> -       BQ27010, /* bq27010, bq27210 */
>> -       BQ27500, /* bq27500 */
>> -       BQ27510, /* bq27510, bq27520 */
>> -       BQ27530, /* bq27530, bq27531 */
>> -       BQ27541, /* bq27541, bq27542, bq27546, bq27742 */
>> -       BQ27545, /* bq27545 */
>> -       BQ27421, /* bq27421, bq27425, bq27441, bq27621 */
>> +       BQ27010 = 2, /* bq27010, bq27210 */
>> +       BQ27500 = 3, /* bq27500 */
>> +       BQ27510 = 4, /* bq27510, bq27520 */
>> +       BQ27530 = 5, /* bq27530, bq27531 */
>> +       BQ27541 = 6, /* bq27541, bq27542, bq27546, bq27742 */
>> +       BQ27545 = 7, /* bq27545 */
>> +       BQ27421 = 8, /* bq27421, bq27425, bq27441, bq27621 */
>> +
>> +       /* members of above groups, for use in .dmid */
>> +       /* translate these in _setup() for .chip */
>> +       BQ27520 = 101,
>> +       BQ27531 = 102,
>> +       BQ27542 = 103,
>> +       BQ27546 = 104,
>> +       BQ27742 = 105,
>> +       BQ27425 = 106,
>> +       BQ27441 = 107,
>> +       BQ27621 = 108,
>>  };
>>
>>  /**
>> @@ -55,6 +66,7 @@ struct bq27xxx_device_info {
>>         struct device *dev;
>>         int id;
>>         enum bq27xxx_chip chip;
>> +       enum bq27xxx_chip dmid;
>>         const char *name;
>>         struct bq27xxx_access_methods bus;
>>         struct bq27xxx_reg_cache cache;
>> --
>> 2.9.3
>>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] power: bq27xxx_battery: Keep track of specific chip id
  2017-03-09 22:45   ` Andrew F. Davis
@ 2017-03-09 22:52     ` Liam Breck
  0 siblings, 0 replies; 4+ messages in thread
From: Liam Breck @ 2017-03-09 22:52 UTC (permalink / raw)
  To: Andrew F. Davis; +Cc: linux-pm

On Thu, Mar 9, 2017 at 2:45 PM, Andrew F. Davis <afd@ti.com> wrote:
> On 03/09/2017 04:42 PM, Liam Breck wrote:
>> On Wed, Mar 8, 2017 at 11:00 PM, Liam Breck <liam@networkimprov.net> wrote:
>>> From: Liam Breck <kernel@networkimprov.net>
>>>
>>> Keep actual chip ID in di->dmid, to allow support for all chips
>>> by the power_supply_battery_info code.
>>> There are no functional changes to the driver.
>>>
>>> Signed-off-by: Matt Ranostay <matt@ranostay.consulting>
>>> Signed-off-by: Liam Breck <kernel@networkimprov.net>
>>> ---
>>> Andrew, here is the alternate method I referred to.
>>> I made the enum values explicit in case they are referenced externally.
>>>
>>>  drivers/power/supply/bq27xxx_battery.c     | 13 +++++++++++++
>>>  drivers/power/supply/bq27xxx_battery_i2c.c | 16 ++++++++--------
>>>  include/linux/power/bq27xxx_battery.h      | 26 +++++++++++++++++++-------
>>>  3 files changed, 40 insertions(+), 15 deletions(-)
>>>
>>> diff --git a/drivers/power/supply/bq27xxx_battery.c b/drivers/power/supply/bq27xxx_battery.c
>>> index 7272d1e..0e6653f 100644
>>> --- a/drivers/power/supply/bq27xxx_battery.c
>>> +++ b/drivers/power/supply/bq27xxx_battery.c
>>> @@ -1020,6 +1020,19 @@ int bq27xxx_battery_setup(struct bq27xxx_device_info *di)
>>>         struct power_supply_desc *psy_desc;
>>>         struct power_supply_config psy_cfg = { .drv_data = di, };
>>>
>>> +       di->dmid = di->chip;
>>> +       switch(di->dmid) {
>>> +       case BQ27520: di->chip = BQ27510; break;
>>> +       case BQ27531: di->chip = BQ27530; break;
>>> +       case BQ27542: di->chip = BQ27541; break;
>>> +       case BQ27546: di->chip = BQ27541; break;
>>> +       case BQ27742: di->chip = BQ27541; break;
>>> +       case BQ27425: di->chip = BQ27421; break;
>>> +       case BQ27441: di->chip = BQ27421; break;
>>> +       case BQ27621: di->chip = BQ27421; break;
>>> +       default: break;
>>> +       }
>>
>> To avoid .chip + .dmid we can add .dm_regs & .unseal_key and init them
>> in the above switch. That eliminates two static arrays as well.
>>
>> How soon could you test a v10?
>>
>
> Lets just see how the code looks first, and for the most part you should
> test all new parts yourself before submitting patches for them, I'll do
> some sanity tests before this all gets merged on parts you don't have,
> but I'm not a test farm, I do have a day job :)

I can only test the 425 and my chip isn't entirely functional due to
the corruption bug. Would you like me to comment out the other parts?

I'll post the above revs to the affected patches shortly.

>>>         INIT_DELAYED_WORK(&di->work, bq27xxx_battery_poll);
>>>         mutex_init(&di->lock);
>>>         di->regs = bq27xxx_regs[di->chip];
>>> diff --git a/drivers/power/supply/bq27xxx_battery_i2c.c b/drivers/power/supply/bq27xxx_battery_i2c.c
>>> index 5c5c3a6..13def59 100644
>>> --- a/drivers/power/supply/bq27xxx_battery_i2c.c
>>> +++ b/drivers/power/supply/bq27xxx_battery_i2c.c
>>> @@ -150,18 +150,18 @@ static const struct i2c_device_id bq27xxx_i2c_id_table[] = {
>>>         { "bq27210", BQ27010 },
>>>         { "bq27500", BQ27500 },
>>>         { "bq27510", BQ27510 },
>>> -       { "bq27520", BQ27510 },
>>> +       { "bq27520", BQ27520 },
>>>         { "bq27530", BQ27530 },
>>> -       { "bq27531", BQ27530 },
>>> +       { "bq27531", BQ27531 },
>>>         { "bq27541", BQ27541 },
>>> -       { "bq27542", BQ27541 },
>>> -       { "bq27546", BQ27541 },
>>> -       { "bq27742", BQ27541 },
>>> +       { "bq27542", BQ27542 },
>>> +       { "bq27546", BQ27546 },
>>> +       { "bq27742", BQ27742 },
>>>         { "bq27545", BQ27545 },
>>>         { "bq27421", BQ27421 },
>>> -       { "bq27425", BQ27421 },
>>> -       { "bq27441", BQ27421 },
>>> -       { "bq27621", BQ27421 },
>>> +       { "bq27425", BQ27425 },
>>> +       { "bq27441", BQ27441 },
>>> +       { "bq27621", BQ27621 },
>>>         {},
>>>  };
>>>  MODULE_DEVICE_TABLE(i2c, bq27xxx_i2c_id_table);
>>> diff --git a/include/linux/power/bq27xxx_battery.h b/include/linux/power/bq27xxx_battery.h
>>> index 92df553..969f99f 100644
>>> --- a/include/linux/power/bq27xxx_battery.h
>>> +++ b/include/linux/power/bq27xxx_battery.h
>>> @@ -3,13 +3,24 @@
>>>
>>>  enum bq27xxx_chip {
>>>         BQ27000 = 1, /* bq27000, bq27200 */
>>> -       BQ27010, /* bq27010, bq27210 */
>>> -       BQ27500, /* bq27500 */
>>> -       BQ27510, /* bq27510, bq27520 */
>>> -       BQ27530, /* bq27530, bq27531 */
>>> -       BQ27541, /* bq27541, bq27542, bq27546, bq27742 */
>>> -       BQ27545, /* bq27545 */
>>> -       BQ27421, /* bq27421, bq27425, bq27441, bq27621 */
>>> +       BQ27010 = 2, /* bq27010, bq27210 */
>>> +       BQ27500 = 3, /* bq27500 */
>>> +       BQ27510 = 4, /* bq27510, bq27520 */
>>> +       BQ27530 = 5, /* bq27530, bq27531 */
>>> +       BQ27541 = 6, /* bq27541, bq27542, bq27546, bq27742 */
>>> +       BQ27545 = 7, /* bq27545 */
>>> +       BQ27421 = 8, /* bq27421, bq27425, bq27441, bq27621 */
>>> +
>>> +       /* members of above groups, for use in .dmid */
>>> +       /* translate these in _setup() for .chip */
>>> +       BQ27520 = 101,
>>> +       BQ27531 = 102,
>>> +       BQ27542 = 103,
>>> +       BQ27546 = 104,
>>> +       BQ27742 = 105,
>>> +       BQ27425 = 106,
>>> +       BQ27441 = 107,
>>> +       BQ27621 = 108,
>>>  };
>>>
>>>  /**
>>> @@ -55,6 +66,7 @@ struct bq27xxx_device_info {
>>>         struct device *dev;
>>>         int id;
>>>         enum bq27xxx_chip chip;
>>> +       enum bq27xxx_chip dmid;
>>>         const char *name;
>>>         struct bq27xxx_access_methods bus;
>>>         struct bq27xxx_reg_cache cache;
>>> --
>>> 2.9.3
>>>

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-03-09 23:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-09  7:00 [PATCH] power: bq27xxx_battery: Keep track of specific chip id Liam Breck
2017-03-09 22:42 ` Liam Breck
2017-03-09 22:45   ` Andrew F. Davis
2017-03-09 22:52     ` Liam Breck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.