From: srini@kernel.org
To: gregkh@linuxfoundation.org
Cc: linux-kernel@vger.kernel.org, Srinivas Kandagatla <srini@kernel.org>
Subject: [PATCH 00/14] nvmem: updates for 7.3
Date: Wed, 29 Jul 2026 10:46:33 +0100 [thread overview]
Message-ID: <20260729094647.111468-1-srini@kernel.org> (raw)
From: Srinivas Kandagatla <srini@kernel.org>
Hi Greg,
This series collects the nvmem changes that can be queued for 7.3.
Highlights:
- Core: split the reg_read/write() callbacks out of struct nvmem_device
into a separate ops structure and protect nvmem_device::ops with
SRCU. After nvmem_unregister() returns, the device stops accepting
consumer calls (they get -ENODEV) so we no longer reach into the
provider's memory once it has gone. Cell entries are now destroyed
in .release() so outstanding nvmem_cell handles remain valid until
the last reference drops.
- Core cleanups leading up to the SRCU conversion: return -EOPNOTSUPP
to in-kernel users when the read/write callback is missing, simplify
locking with guard(), drop __nvmem_device_put() and the duplicated
reference counting, simplify nvmem_sysfs_remove_compat(), check the
return value of gpiod_set_value_cansleep(), and remove an unused
field from struct nvmem_device.
- Move the nvmem-based EEPROM drivers (at24, at25, ee1004,
eeprom_93xx46, m24lr) from drivers/misc/eeprom/ to drivers/nvmem/
so the review path and get_maintainer.pl output match the subsystem
they actually belong to.
- brcm_nvram: reject empty NVRAM partitions and fix an out-of-bounds
access on malformed flash data where header->len sat between the
allocated data buffer size and the full partition size.
- airoha: add an ARM64 dependency.
- dt-bindings: document qcom,qfprom compatibles for ipq5210 and
ipq9650.
These patches are rebased on top of char-misc-next:
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git/log/?h=char-misc-next
and depend on the nvmem fixes series I sent earlier:
https://lkml.org/lkml/2026/7/24/2035
Thanks,
srini
Arnd Bergmann (1):
nvmem: airoha: add ARM64 dependency
Bartosz Golaszewski (10):
nvmem: remove unused field from struct nvmem_device
nvmem: return -EOPNOTSUPP to in-kernel users on missing callbacks
nvmem: check the return value of gpiod_set_value_cansleep()
nvmem: simplify locking with guard()
nvmem: remove unneeded __nvmem_device_put()
nvmem: split out the reg_read/write() callbacks out of struct
nvmem_device
nvmem: simplify nvmem_sysfs_remove_compat()
nvmem: remove duplicated reference counting
nvmem: protect nvmem_device::ops with SRCU
eeprom: move nvmem EEPROM drivers to drivers/nvmem/
Rosen Penev (2):
nvmem: brcm_nvram: reject empty NVRAM partition
nvmem: brcm_nvram: fix out-of-bounds access on malformed flash data
Varadarajan Narayanan (1):
dt-bindings: nvmem: qfprom: Add ipq5210 & ipq9650 compatible
.../bindings/nvmem/qcom,qfprom.yaml | 2 +
MAINTAINERS | 4 +-
drivers/misc/eeprom/Kconfig | 93 ------
drivers/misc/eeprom/Makefile | 5 -
drivers/nvmem/Kconfig | 88 +++++
drivers/nvmem/Makefile | 5 +
drivers/{misc/eeprom => nvmem}/at24.c | 0
drivers/{misc/eeprom => nvmem}/at25.c | 0
drivers/nvmem/brcm_nvram.c | 15 +-
drivers/nvmem/core.c | 311 ++++++++++--------
drivers/{misc/eeprom => nvmem}/ee1004.c | 0
.../{misc/eeprom => nvmem}/eeprom_93xx46.c | 0
drivers/nvmem/internals.h | 13 +-
drivers/{misc/eeprom => nvmem}/m24lr.c | 0
14 files changed, 284 insertions(+), 252 deletions(-)
rename drivers/{misc/eeprom => nvmem}/at24.c (100%)
rename drivers/{misc/eeprom => nvmem}/at25.c (100%)
rename drivers/{misc/eeprom => nvmem}/ee1004.c (100%)
rename drivers/{misc/eeprom => nvmem}/eeprom_93xx46.c (100%)
rename drivers/{misc/eeprom => nvmem}/m24lr.c (100%)
--
2.53.0
next reply other threads:[~2026-07-29 9:46 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-29 9:46 srini [this message]
2026-07-29 9:46 ` [PATCH 01/14] nvmem: remove unused field from struct nvmem_device srini
2026-07-29 9:46 ` [PATCH 02/14] nvmem: return -EOPNOTSUPP to in-kernel users on missing callbacks srini
2026-07-29 9:46 ` [PATCH 03/14] nvmem: check the return value of gpiod_set_value_cansleep() srini
2026-07-29 9:46 ` [PATCH 04/14] nvmem: simplify locking with guard() srini
2026-07-29 9:46 ` [PATCH 05/14] nvmem: remove unneeded __nvmem_device_put() srini
2026-07-29 9:46 ` [PATCH 06/14] nvmem: split out the reg_read/write() callbacks out of struct nvmem_device srini
2026-07-29 9:46 ` [PATCH 07/14] nvmem: simplify nvmem_sysfs_remove_compat() srini
2026-07-29 9:46 ` [PATCH 08/14] nvmem: remove duplicated reference counting srini
2026-07-29 9:46 ` [PATCH 09/14] nvmem: protect nvmem_device::ops with SRCU srini
2026-07-29 9:46 ` [PATCH 10/14] eeprom: move nvmem EEPROM drivers to drivers/nvmem/ srini
2026-07-29 9:46 ` [PATCH 11/14] nvmem: airoha: add ARM64 dependency srini
2026-07-29 9:46 ` [PATCH 12/14] nvmem: brcm_nvram: reject empty NVRAM partition srini
2026-07-29 9:46 ` [PATCH 13/14] nvmem: brcm_nvram: fix out-of-bounds access on malformed flash data srini
2026-07-29 9:46 ` [PATCH 14/14] dt-bindings: nvmem: qfprom: Add ipq5210 & ipq9650 compatible srini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260729094647.111468-1-srini@kernel.org \
--to=srini@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.