[PATCH v1 0/1] nvmem: Handle actual amount of data read/written by suppliers

From: Joy Chakraborty
Date: Mon Feb 19 2024 - 06:32:43 EST


This Patch series stems from discussions in patchset,
"[PATCH v2] nvmem: rmem: Fix return value of rmem_read()"
(https://lore.kernel.org/all/20240206042408.224138-1-joychakr@xxxxxxxxxx/).
Where we come across the fact that currently the nvmem suppliers do not
actually let the core know how much data has been actually read or written.
Instead they are expected to return 0 for success and the core assumes that
the amount of data written is equal to what the core has requested.

On addition this patchset will also add some guards and checks based on the
count of data returned by the nvmem supplier.
---
V1 Changes : Change read/write callback prototype to ssize_t and
supplier changes to accomodate the same with core checks and bounds.
---

Joy Chakraborty (1):
nvmem: Change return type of reg read/write to ssize_t

drivers/nvmem/apple-efuses.c | 5 +-
drivers/nvmem/bcm-ocotp.c | 8 ++--
drivers/nvmem/brcm_nvram.c | 8 +++-
drivers/nvmem/core.c | 73 +++++++++++++----------------
drivers/nvmem/imx-iim.c | 4 +-
drivers/nvmem/imx-ocotp-ele.c | 4 +-
drivers/nvmem/imx-ocotp-scu.c | 8 ++--
drivers/nvmem/imx-ocotp.c | 6 +--
drivers/nvmem/jz4780-efuse.c | 5 +-
drivers/nvmem/lan9662-otpc.c | 8 ++--
drivers/nvmem/layerscape-sfp.c | 7 ++-
drivers/nvmem/lpc18xx_eeprom.c | 10 ++--
drivers/nvmem/lpc18xx_otp.c | 4 +-
drivers/nvmem/meson-efuse.c | 10 +++-
drivers/nvmem/meson-mx-efuse.c | 4 +-
drivers/nvmem/microchip-otpc.c | 4 +-
drivers/nvmem/mtk-efuse.c | 4 +-
drivers/nvmem/mxs-ocotp.c | 5 +-
drivers/nvmem/nintendo-otp.c | 4 +-
drivers/nvmem/qcom-spmi-sdam.c | 8 ++--
drivers/nvmem/qfprom.c | 10 ++--
drivers/nvmem/qoriq-efuse.c | 4 +-
drivers/nvmem/rave-sp-eeprom.c | 12 ++---
drivers/nvmem/rmem.c | 2 +-
drivers/nvmem/rockchip-efuse.c | 11 +++--
drivers/nvmem/rockchip-otp.c | 13 ++---
drivers/nvmem/sc27xx-efuse.c | 3 +-
drivers/nvmem/sec-qfprom.c | 4 +-
drivers/nvmem/snvs_lpgpr.c | 13 +++--
drivers/nvmem/sprd-efuse.c | 8 ++--
drivers/nvmem/stm32-bsec-optee-ta.c | 8 ++--
drivers/nvmem/stm32-bsec-optee-ta.h | 12 ++---
drivers/nvmem/stm32-romem.c | 16 +++----
drivers/nvmem/sunplus-ocotp.c | 4 +-
drivers/nvmem/sunxi_sid.c | 11 +++--
drivers/nvmem/u-boot-env.c | 4 +-
drivers/nvmem/uniphier-efuse.c | 4 +-
drivers/nvmem/vf610-ocotp.c | 5 +-
drivers/nvmem/zynqmp_nvmem.c | 2 +-
include/linux/nvmem-provider.h | 4 +-
40 files changed, 180 insertions(+), 159 deletions(-)

--
2.44.0.rc0.258.g7320e95886-goog