mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05: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
 | 
						|
@@ -549,7 +549,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;
 |