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 A linux-0day branch for kernel test robot has been pushed to get wider testing. 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. There is an immutable tag on the mtd repository available: ---------------------------------------------------------------- The following changes since commit fe15c26ee26efa11741a7b632e9f23b01aca4cc6: Linux 6.3-rc1 (2023-03-05 14:52:03 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git tags/mtd/core-fixes-before-nvmem-layouts-for-6.4 for you to fetch changes up to 281f7a6c1a33fffcde32001bacbb4f672140fbf9: mtd: core: prepare mtd_otp_nvmem_add() to handle -EPROBE_DEFER (2023-03-08 14:31:49 +0100) ---------------------------------------------------------------- So to summarize: * Rob's feedback is welcome on the remaining un-acked OF patche * 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 above with Michael's patches before taking this series in. Thanks, Miquèl Changes in v3: * Rebased on top of nvmem-next and handled a few conflicts. * Minor changes in the OF commit logs. * Fixed a missing header reported by kernel test robot. * Mention immutable tag. * Collected more tags. * Fix of/module.c license. 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 (8): 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 | 160 ++++++++++- 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 | 18 +- drivers/of/device.c | 75 +---- drivers/of/module.c | 74 +++++ 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 | 18 +- include/linux/of_device.h | 6 - 26 files changed, 851 insertions(+), 112 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