issue: could not get #nvmem-cell-cells

Michael Walle michael at walle.cc
Tue Jan 10 06:45:28 PST 2023


Hi Peng,

Am 2023-01-10 09:07, schrieb Peng Fan:
> I see you have added nvmem-cell-cells support, but with linux-next, I
> see error on i.MX8MP-EVK:
> [    0.027518] OF: /soc at 0: could not get #nvmem-cell-cells for
> /soc at 0/bus at 30000000/efuse at 30350000/unique-id at 8
> [    0.027868] OF: /soc at 0/bus at 30000000/tmu at 30260000: could not get
> #nvmem-cell-cells for /soc at 0/bus at 30000000/efuse at 30350000/calib at 264
> [    0.030338] OF: /soc at 0/bus at 30800000/ethernet at 30be0000: could not
> get #nvmem-cell-cells for
> /soc at 0/bus at 30000000/efuse at 30350000/mac-address at 90
> [    0.030511] OF: /soc at 0/bus at 30800000/ethernet at 30bf0000: could not
> get #nvmem-cell-cells for
> /soc at 0/bus at 30000000/efuse at 30350000/mac-address at 96
> 
> Do you have ideas?

Could you try the following patch:

---snip---
commit 83f1bd351a2194844599ffc08050f5bc61a06086 (HEAD -> master)
Author: Michael Walle <michael at walle.cc>
Date:   Tue Jan 10 15:16:48 2023 +0100

     of: property: fix #nvmem-cell-cells parsing

     Commit 67b8497f005 ("of: property: make #.*-cells optional for 
simple
     props") claims to make the cells-name property optional for simple
     properties, but changed the code for the wrong property, i.e. for
     DEFINE_SUFFIX_PROP(). Fix that.

     Fixes: 67b8497f005 ("of: property: make #.*-cells optional for 
simple props")
     Reported-by: Peng Fan <peng.fan at nxp.com>
     Signed-off-by: Michael Walle <michael at walle.cc>

diff --git a/drivers/of/property.c b/drivers/of/property.c
index 8d9ba20a8f90..95b838185b2f 100644
--- a/drivers/of/property.c
+++ b/drivers/of/property.c
@@ -1202,8 +1202,8 @@ static struct device_node *parse_prop_cells(struct 
device_node *np,
         if (strcmp(prop_name, list_name))
                 return NULL;

-       if (of_parse_phandle_with_args(np, list_name, cells_name, index,
-                                      &sup_args))
+       if (__of_parse_phandle_with_args(np, list_name, cells_name, 0, 
index,
+                                        &sup_args))
                 return NULL;

         return sup_args.np;
@@ -1256,8 +1256,8 @@ static struct device_node 
*parse_suffix_prop_cells(struct device_node *np,
         if (strcmp_suffix(prop_name, suffix))
                 return NULL;

-       if (__of_parse_phandle_with_args(np, prop_name, cells_name, 0, 
index,
-                                        &sup_args))
+       if (of_parse_phandle_with_args(np, prop_name, cells_name, index,
+                                      &sup_args))
                 return NULL;

         return sup_args.np;
---snip---

-



More information about the linux-arm-kernel mailing list