From: Rafał Miłecki <rafal@xxxxxxxxxx> NVMEM bindings received a new feature recently: layouts. They allow defining NVMEM device content in a separated DT node named "nvmem-layout". That improvement results in cleaner and more generic bindings. New bindings & drivers should use layouts design. If possible we should also try converting existing bindings & drivers to layouts. This patchset allows defining NVMEM cells in a new way (using NVMEM layout feature). This deprecates support for defining NVMEM cells as direct DT device node subnodes but IT DOESN'T drop support for that. PLEASE understand what this patchset handles. It adds new & preferred way of defining NVMEM cells. It is NOT meant to: 1. Convert ALL existing bindings or drivers 2. Add support for new extra features (like multiple layouts) 3. Break any backward compatibility (it WON'T happen) Note: this is based on top of the: [PATCH 1/4] nvmem: Add macro to register nvmem layout drivers Rafał Miłecki (4): dt-bindings: nvmem: layouts: add fixed-layout dt-bindings: nvmem: convert base example to use NVMEM fixed cells layout nvmem: core: export nvmem_add_cells_from_of() nvmem: layouts: add fixed cells layout .../bindings/nvmem/layouts/fixed-cell.yaml | 31 ++++++++++ .../bindings/nvmem/layouts/fixed-layout.yaml | 49 +++++++++++++++ .../bindings/nvmem/layouts/nvmem-layout.yaml | 5 +- .../devicetree/bindings/nvmem/nvmem.yaml | 61 ++++++++----------- drivers/nvmem/core.c | 7 ++- drivers/nvmem/layouts/Kconfig | 8 +++ drivers/nvmem/layouts/Makefile | 1 + drivers/nvmem/layouts/fixed.c | 41 +++++++++++++ include/linux/nvmem-provider.h | 7 +++ 9 files changed, 168 insertions(+), 42 deletions(-) create mode 100644 Documentation/devicetree/bindings/nvmem/layouts/fixed-cell.yaml create mode 100644 Documentation/devicetree/bindings/nvmem/layouts/fixed-layout.yaml create mode 100644 drivers/nvmem/layouts/fixed.c -- 2.34.1