[PATCH v2 00/21] nvmem: Layouts support

From: Miquel Raynal
Date: Tue Mar 07 2023 - 11:58:31 EST


Hello,

This is a fully featured series with hopefully all what is needed for
upstream acceptance, ie:
* A bit of OF cleanup
* Full nvmem layout support merging Michael's and my patches
* Only the fixes not applying to this series have been kept "un merged"
* Support for SL28 VPD and ONIE TLV table layouts
* Layouts can be compiled as modules

In order for this series to work out-of-the-box it requires to be
applied on top of Michael Walle's mtd fixes series (robots running on
it, I will provide an immutable tag in the coming days) but for
compile-testing only it is not required.

Link: https://lore.kernel.org/linux-mtd/20230306125805.678668-1-michael@xxxxxxxx/T/#t

So to summarize:
* Rob's feedback is welcome on the OF patches
* Greg's and Srinivas feedback is welcome on the nvmem patches
* If everybody agrees I expect the full series to be applied rather
early by Srinivas on top of the -rc he wants.
* Once time for the final PR I expect Greg to merge the immutable tag
I will provide with Michael's patches before taking these patches from
Srinivas.
* Rob might request an immutable tag from Greg (at least with the OF
patches) if there are any conflicts with his tree. Otherwise if that's
foreseen, Rob can also merge the OF patches and produce an immutable
tag himself if that's preferred. Indeed, no hurry, but there are other
OF cleanup patches which do not have to be in this series which will
come later to continue the OF cleanup even further if my understanding
of Rob's whishes is right :)

Link: https://github.com/miquelraynal/linux-0day/tree/nvmem-layouts-and-of-cleanup

Thanks,
Miquèl

Changes in v2:
* Included all initial core nvmem changes.
* Merged all the relevant fixes.
* Updated the commit logs of the Fixes tag when relevant.
* Followed Rob advises to migrate the module related helpers into
of/module.c and get the useless helpers out of of_device.c
* Added my Signed-off-by when relevant.
* Collected tags.

Colin Ian King (1):
dt-bindings: nvmem: Fix spelling mistake "platforn" -> "platform"

Michael Walle (9):
nvmem: core: return -ENOENT if nvmem cell is not found
nvmem: core: introduce NVMEM layouts
nvmem: core: add per-cell post processing
nvmem: core: allow to modify a cell before adding it
nvmem: imx-ocotp: replace global post processing with layouts
nvmem: cell: drop global cell_post_process
nvmem: core: provide own priv pointer in post process callback
nvmem: layouts: sl28vpd: Add new layout driver
MAINTAINERS: add myself as sl28vpd nvmem layout driver

Miquel Raynal (11):
of: Fix modalias string generation
of: Update of_device_get_modalias()
of: Rename of_modalias_node()
of: Move of_modalias() to module.c
of: Move the request module helper logic to module.c
usb: ulpi: Use of_request_module()
of: device: Kill of_device_request_module()
nvmem: core: handle the absence of expected layouts
nvmem: core: request layout modules loading
nvmem: layouts: onie-tlv: Add new layout driver
MAINTAINERS: Add myself as ONIE tlv NVMEM layout maintainer

.../nvmem/layouts/onie,tlv-layout.yaml | 2 +-
Documentation/driver-api/nvmem.rst | 15 +
MAINTAINERS | 12 +
drivers/acpi/bus.c | 7 +-
drivers/gpu/drm/drm_mipi_dsi.c | 2 +-
drivers/hsi/hsi_core.c | 2 +-
drivers/i2c/busses/i2c-powermac.c | 2 +-
drivers/i2c/i2c-core-of.c | 2 +-
drivers/nvmem/Kconfig | 4 +
drivers/nvmem/Makefile | 1 +
drivers/nvmem/core.c | 162 ++++++++++-
drivers/nvmem/imx-ocotp.c | 30 +-
drivers/nvmem/layouts/Kconfig | 23 ++
drivers/nvmem/layouts/Makefile | 7 +
drivers/nvmem/layouts/onie-tlv.c | 257 ++++++++++++++++++
drivers/nvmem/layouts/sl28vpd.c | 165 +++++++++++
drivers/of/Makefile | 2 +-
drivers/of/base.c | 15 +-
drivers/of/device.c | 75 +----
drivers/of/module.c | 73 +++++
drivers/spi/spi.c | 4 +-
drivers/usb/common/ulpi.c | 2 +-
include/linux/nvmem-consumer.h | 7 +
include/linux/nvmem-provider.h | 66 ++++-
include/linux/of.h | 16 +-
include/linux/of_device.h | 6 -
26 files changed, 846 insertions(+), 113 deletions(-)
create mode 100644 drivers/nvmem/layouts/Kconfig
create mode 100644 drivers/nvmem/layouts/Makefile
create mode 100644 drivers/nvmem/layouts/onie-tlv.c
create mode 100644 drivers/nvmem/layouts/sl28vpd.c
create mode 100644 drivers/of/module.c

--
2.34.1