]> www.infradead.org Git - users/jedix/linux-maple.git/commit
nvmem: layouts: add U-Boot env layout
authorRafał Miłecki <rafal@milecki.pl>
Mon, 2 Sep 2024 14:29:47 +0000 (15:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 11 Sep 2024 14:05:15 +0000 (16:05 +0200)
commit5f15811286aff4664bf275a7ede64e1b8858151b
tree9b728feca3dc8b065425871e3729e05256045d3c
parent5baeb157b341b1d26a5815aeaa4d3bb9e0444fda
nvmem: layouts: add U-Boot env layout

U-Boot environment variables are stored in a specific format. Actual
data can be placed in various storage sources (MTD, UBI volume, EEPROM,
NVRAM, etc.).

Move all generic (NVMEM device independent) code from NVMEM device
driver to an NVMEM layout driver. Then add a simple NVMEM layout code on
top of it.

This allows using NVMEM layout for parsing U-Boot env data stored in any
kind of NVMEM device.

The old NVMEM glue driver stays in place for handling bindings in the
MTD context. To avoid code duplication it uses exported layout parsing
function. Please note that handling MTD & NVMEM layout bindings may be
refactored in the future.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20240902142952.71639-5-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
MAINTAINERS
drivers/nvmem/Kconfig
drivers/nvmem/layouts/Kconfig
drivers/nvmem/layouts/Makefile
drivers/nvmem/layouts/u-boot-env.c [new file with mode: 0644]
drivers/nvmem/layouts/u-boot-env.h [new file with mode: 0644]
drivers/nvmem/u-boot-env.c