Hi Nikolaus,

You need the patchset which enables this feature, which was delayed
for further work. It's now ready...

https://patchwork.kernel.org/patch/9918947/
https://patchwork.kernel.org/patch/9918949/
https://patchwork.kernel.org/patch/9918951/
https://patchwork.kernel.org/patch/9918953/
https://patchwork.kernel.org/patch/9918955/

And flip the #if 0 protecting bq27421_dm_regs

I'd love to support that chip in this patchset if you can test
non-default settings for all 3 options this week?

Thanks,
Liam


On Tue, Aug 29, 2017 at 2:43 AM, H. Nikolaus Schaller <[email protected]> 
wrote:
> Hi,
> I am trying to get this working on our bq27421.
>
> But the only message I get is:
>
> [    6.086407] bq27xxx-battery 1-0055: data memory update not supported for 
> chip
>
> A little research shows that this message comes from
>
>         
> http://elixir.free-electrons.com/linux/v4.13-rc7/source/drivers/power/supply/bq27xxx_battery.c#L1279
>
> So di->dm_regs is NULL.
>
> But doing an fgrep for dm_regs shows no line of code where the pointer is set 
> to a non-null value:
>
> master hns$ fgrep -R dm_regs *
> drivers/power/supply/bq27xxx_battery.c: .class = 
> (di)->dm_regs[i].subclass_id, \
> drivers/power/supply/bq27xxx_battery.c: .block = (di)->dm_regs[i].offset / 
> BQ27XXX_DM_SZ, \
> drivers/power/supply/bq27xxx_battery.c: struct bq27xxx_dm_reg *reg = 
> &di->dm_regs[reg_id];
> drivers/power/supply/bq27xxx_battery.c: if (!di->dm_regs) {
> drivers/power/supply/bq27xxx_battery.c: max = 
> di->dm_regs[BQ27XXX_DM_DESIGN_ENERGY].max;
> drivers/power/supply/bq27xxx_battery.c: max = 
> di->dm_regs[BQ27XXX_DM_DESIGN_CAPACITY].max;
> drivers/power/supply/bq27xxx_battery.c: min = 
> di->dm_regs[BQ27XXX_DM_TERMINATE_VOLTAGE].min;
> drivers/power/supply/bq27xxx_battery.c: max = 
> di->dm_regs[BQ27XXX_DM_TERMINATE_VOLTAGE].max;
> Binary file drivers/power/supply/bq27xxx_battery.ko matches
> Binary file drivers/power/supply/bq27xxx_battery.o matches
> Binary file drivers/power/supply/bq27xxx_battery_i2c.ko matches
> Binary file drivers/power/supply/bq27xxx_battery_i2c.o matches
> include/linux/power/bq27xxx_battery.h:  struct bq27xxx_dm_reg *dm_regs;
> master hns$
>
> What am I doing wrong here?
>
> BR and thanks,
> Nikolaus
>

Reply via email to