On Wed, Sep 18, 2019 at 03:32:14PM -0700, rananta@xxxxxxxxxxxxxx wrote: > On 2019-09-18 13:13, Rob Herring wrote: > > On Wed, Sep 18, 2019 at 1:47 PM Raghavendra Rao Ananta > > <rananta@xxxxxxxxxxxxxx> wrote: > > > > > > On some embedded systems, the '/memory' dt-property gets updated > > > by the bootloader (for example, the DDR configuration) and then > > > gets passed onto the kernel. The device drivers may have to read > > > the properties at runtime to make decisions. Hence, add > > > of_get_memory_prop() for the device drivers to query the requested > > > > Function name doesn't match. Device drivers don't need to access the > > FDT. > > > > > properties. > > > > > > Signed-off-by: Raghavendra Rao Ananta <rananta@xxxxxxxxxxxxxx> > > > --- > > > drivers/of/fdt.c | 27 +++++++++++++++++++++++++++ > > > include/linux/of_fdt.h | 1 + > > > 2 files changed, 28 insertions(+) > > > > We don't add kernel api's without users. > > > > > > > > diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c > > > index 223d617ecfe1..925cf2852433 100644 > > > --- a/drivers/of/fdt.c > > > +++ b/drivers/of/fdt.c > > > @@ -79,6 +79,33 @@ void __init of_fdt_limit_memory(int limit) > > > } > > > } > > > > > > +/** > > > + * of_fdt_get_memory_prop - Return the requested property from the > > > /memory node > > > + * > > > + * On match, returns a non-zero positive value which represents the > > > property > > > + * value. Otherwise returns -ENOENT. > > > + */ > > > +int of_fdt_get_memory_prop(const char *pname) > > > +{ > > > + int memory; > > > + int len; > > > + fdt32_t *prop = NULL; > > > + > > > + if (!pname) > > > + return -EINVAL; > > > + > > > + memory = fdt_path_offset(initial_boot_params, "/memory"); > > > > Memory nodes should have a unit-address, so this won't work frequently. > Sorry, can you please elaborate more on this? What do you mean by > unit-address and working frequently? A memory node is typically going to be something like: /memory@80000000. So your function will not work for any of those cases. And just '/memory' generates a dtc warning. Rob