]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Revert "nvmem: add new config option"
authorRafał Miłecki <rafal@milecki.pl>
Mon, 23 Oct 2023 10:27:59 +0000 (12:27 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Oct 2023 11:17:54 +0000 (13:17 +0200)
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
drivers/nvmem/core.c
include/linux/nvmem-provider.h

index fbf60d1364f0dbfd887670f9097fd2df60041baf..74dd1b74008d8cce8eedda8422e5f5c0e4783be8 100644 (file)
@@ -560,7 +560,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);
index 2710943f53c448b479bc6ca46794ba21513f0e8a..bf42b7e826dbd202298e6db869dc072242167f8f 100644 (file)
@@ -935,7 +935,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) {
index 1b81adebdb8beb366faefcd828d75381f12774f0..e3930835235ba763493318985f917d52ef3861f5 100644 (file)
@@ -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;