mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 06:57:57 +00:00
78 lines
2.9 KiB
Diff
78 lines
2.9 KiB
Diff
|
From f4cf4e5db331a5ce69e3f0b21d322cac0f4e4b5d Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||
|
Date: Mon, 23 Oct 2023 12:27:59 +0200
|
||
|
Subject: [PATCH] Revert "nvmem: add new config option"
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
This reverts commit 517f14d9cf3533d5ab4fded195ab6f80a92e378f.
|
||
|
|
||
|
Config option "no_of_node" is no longer needed since adding a more
|
||
|
explicit and targeted option "add_legacy_fixed_of_cells".
|
||
|
|
||
|
That "no_of_node" config option was needed *earlier* to help mtd's case.
|
||
|
|
||
|
DT nodes of MTD partitions (that are also NVMEM devices) may contain
|
||
|
subnodes. Those SHOULD NOT be treated as NVMEM fixed cells.
|
||
|
|
||
|
To prevent NVMEM core code from parsing subnodes a "no_of_node" option
|
||
|
was added (and set to true in mtd) to make for_each_child_of_node() in
|
||
|
NVMEM a no-op. That was a bit hacky because it was messing with
|
||
|
"of_node" pointer to achieve some side-effect.
|
||
|
|
||
|
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@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/20231023102759.31529-1-zajec5@gmail.com
|
||
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||
|
---
|
||
|
drivers/mtd/mtdcore.c | 1 -
|
||
|
drivers/nvmem/core.c | 2 +-
|
||
|
include/linux/nvmem-provider.h | 2 --
|
||
|
3 files changed, 1 insertion(+), 4 deletions(-)
|
||
|
|
||
|
--- a/drivers/mtd/mtdcore.c
|
||
|
+++ b/drivers/mtd/mtdcore.c
|
||
|
@@ -531,7 +531,6 @@ static int mtd_nvmem_add(struct mtd_info
|
||
|
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);
|
||
|
--- a/drivers/nvmem/core.c
|
||
|
+++ b/drivers/nvmem/core.c
|
||
|
@@ -936,7 +936,7 @@ struct nvmem_device *nvmem_register(cons
|
||
|
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) {
|
||
|
--- 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;
|