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 >

