[PATCH master 0/7] regmap: fix size of regmap-backed cdev and nvmem

Ahmad Fatoum a.fatoum at pengutronix.de
Tue Jan 2 09:00:53 PST 2024


struct regmap::max_register is in units of struct regmap::reg_stride.
To get the total number or registers, we need to divide by reg_stride
before adding one, but we ended up adding one before division.

This is wrong at different places across the tree, leading to the last
fuse to be inaccessible when not using the regmap API directly, i.e.
when using a NVMEM registered by nvmem_register_regmap or the cdev
instantiated in /dev.

Ahmad Fatoum (6):
  regmap: fix calculation of regmap size when reg_stride != 1
  nvmem: bsec: correct regmap's max_register
  nvmem: startfive-otp: correct regmap's max_register
  nvmem: imx-ocotp-ele: correct regmap's max_register
  nvmem: ocotp: correct regmap's max_register
  nvmem: ocotp: align OCOTP bank count with Linux

Robin van der Gracht (1):
  nvmem: regmap: Fix nvmem size

 drivers/base/regmap/regmap.c  | 28 ++++++++++++++++++++++++++--
 drivers/nvmem/bsec.c          |  2 +-
 drivers/nvmem/imx-ocotp-ele.c |  2 +-
 drivers/nvmem/ocotp.c         | 24 ++++++++++++------------
 drivers/nvmem/regmap.c        |  4 ++--
 drivers/nvmem/starfive-otp.c  |  2 +-
 6 files changed, 43 insertions(+), 19 deletions(-)

-- 
2.39.2




More information about the barebox mailing list