nvmem: u-boot-env: find Device Tree nodes for NVMEM cells
authorRafał Miłecki <rafal@milecki.pl>
Fri, 16 Sep 2022 12:20:57 +0000 (13:20 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 24 Sep 2022 12:54:38 +0000 (14:54 +0200)
DT binding allows specifying NVMEM cells as NVMEM device (provider)
subnodes. Looks for such subnodes when building NVMEM cells.

This allows NVMEM consumers to use U-Boot environment variables.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220916122100.170016-11-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nvmem/u-boot-env.c

index 9b9abfb..d17a164 100644 (file)
@@ -92,6 +92,7 @@ static int u_boot_env_add_cells(struct u_boot_env *priv, uint8_t *buf,
                        return -ENOMEM;
                priv->cells[idx].offset = data_offset + value - data;
                priv->cells[idx].bytes = strlen(value);
+               priv->cells[idx].np = of_get_child_by_name(dev->of_node, priv->cells[idx].name);
        }
 
        if (WARN_ON(idx != priv->ncells))