[v2,00/21] nvmem: Layouts support

Message ID 20230307165359.225361-1-miquel.raynal@bootlin.com
Headers
Series nvmem: Layouts support |

Message

Miquel Raynal March 7, 2023, 4:53 p.m. UTC
  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@walle.cc/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
  

Comments

Miquel Raynal March 7, 2023, 5:09 p.m. UTC | #1
Hi all,

miquel.raynal@bootlin.com wrote on Tue,  7 Mar 2023 17:53:38 +0100:

> 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

Unfortunately that is not gonna fly, I of course messed with the base
branch. Please ignore this, I will update, make everything fit and
resend.

Sincere apologies for the noise.

Thanks,
Miquèl