[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ba3c419a-6511-480a-b5f2-6c418f9c02e7@gmail.com>
Date: Sat, 26 Aug 2023 22:15:27 +0200
From: Rafał Miłecki <zajec5@...il.com>
To: Srinivas Kandagatla <srinivas.kandagatla@...aro.org>
Cc: Miquel Raynal <miquel.raynal@...tlin.com>,
Richard Weinberger <richard@....at>,
Vignesh Raghavendra <vigneshr@...com>,
Bartosz Golaszewski <bgolaszewski@...libre.com>,
Alban Bedel <albeu@...e.fr>,
Christian Marangi <ansuelsmth@...il.com>,
linux-mtd@...ts.infradead.org, linux-kernel@...r.kernel.org,
Rafał Miłecki <rafal@...ecki.pl>
Subject: Re: [PATCH] Revert "nvmem: add new config option"
Hi Srini,
On 18.07.2023 10:48, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@...ecki.pl>
>
> This reverts commit 517f14d9cf3533d5ab4fded195ab6f80a92e378f.
>
> It seems that "no_of_node" config option was added to help mtd's case.
>
> DT nodes of MTD partitions (that are also NVMEM devices) may contain
> subnodes that SHOULD NOT be treated as NVMEM fixed cells. To prevent
> NVMEM core code from parsing them "no_of_node" was set to true and that
> made for_each_child_of_node() in NVMEM a no-op.
>
> With the introduction of "add_legacy_fixed_of_cells" config option
> things got more explicit. MTD subsystem simply tells NVMEM when to look
> for fixed cells and there is no need to hack "of_node" pointer anymore.
>
> Signed-off-by: Rafał Miłecki <rafal@...ecki.pl>
> ---
> Important: this is based on top of the
> [PATCH V4] nvmem: add explicit config option to read old syntax fixed OF cells
I see you skipped those two patches for 6.6.
Can you queue them for 6.7, please?
> ---
> drivers/mtd/mtdcore.c | 1 -
> drivers/nvmem/core.c | 2 +-
> include/linux/nvmem-provider.h | 2 --
> 3 files changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
> index 9db8d7853639..3d781ffb8c32 100644
> --- a/drivers/mtd/mtdcore.c
> +++ b/drivers/mtd/mtdcore.c
> @@ -554,7 +554,6 @@ static int mtd_nvmem_add(struct mtd_info *mtd)
> config.read_only = true;
> config.root_only = true;
> config.ignore_wp = true;
> - config.no_of_node = !of_device_is_compatible(node, "nvmem-cells");
> config.priv = mtd;
>
> mtd->nvmem = nvmem_register(&config);
> diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
> index 58d8919e6682..a0c9153cda28 100644
> --- a/drivers/nvmem/core.c
> +++ b/drivers/nvmem/core.c
> @@ -1027,7 +1027,7 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config)
> nvmem->nkeepout = config->nkeepout;
> if (config->of_node)
> nvmem->dev.of_node = config->of_node;
> - else if (!config->no_of_node)
> + else
> nvmem->dev.of_node = config->dev->of_node;
>
> switch (config->id) {
> diff --git a/include/linux/nvmem-provider.h b/include/linux/nvmem-provider.h
> index 1b81adebdb8b..e3930835235b 100644
> --- a/include/linux/nvmem-provider.h
> +++ b/include/linux/nvmem-provider.h
> @@ -89,7 +89,6 @@ struct nvmem_cell_info {
> * @read_only: Device is read-only.
> * @root_only: Device is accessibly to root only.
> * @of_node: If given, this will be used instead of the parent's of_node.
> - * @no_of_node: Device should not use the parent's of_node even if it's !NULL.
> * @reg_read: Callback to read data.
> * @reg_write: Callback to write data.
> * @size: Device size.
> @@ -122,7 +121,6 @@ struct nvmem_config {
> bool ignore_wp;
> struct nvmem_layout *layout;
> struct device_node *of_node;
> - bool no_of_node;
> nvmem_reg_read_t reg_read;
> nvmem_reg_write_t reg_write;
> int size;
Powered by blists - more mailing lists