On Tue, Jan 02, 2024 at 06:00:53PM +0100, Ahmad Fatoum wrote: > 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 Applied, thanks Sascha > > 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 > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |