Re: [PATCH v8 40/45] drivers/of: Split unflatten_dt_node()
From: Gavin Shan <hidden>
Date: 2016-05-02 02:02:21
Also in:
linux-pci, linuxppc-dev
On Wed, Feb 17, 2016 at 08:30:42AM -0600, Rob Herring wrote:
On Tue, Feb 16, 2016 at 9:44 PM, Gavin Shan [off-list ref] wrote:quoted
The function unflatten_dt_node() is called recursively to unflatten device nodes and properties in the FDT blob. It looks complicated and hard to be understood. This splits the function into 3 functions: populate_properties(), populate_node() and unflatten_dt_node(). populate_properties(), which is called by populate_node(), creates properties for the indicated device node. The later one creates the device nodes from FDT blob. populate_node() gets the offset in FDT blob for next device nodes and then calls populate_node(). No logical changes introduced. Signed-off-by: Gavin Shan <redacted> --- drivers/of/fdt.c | 249 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 147 insertions(+), 102 deletions(-)One nit, otherwise: Acked-by: Rob Herring <robh@kernel.org> [...]quoted
+ /* And we process the "ibm,phandle" property + * used in pSeries dynamic device tree + * stuff + */ + if (!strcmp(pname, "ibm,phandle")) + np->phandle = be32_to_cpup(val); + + pp->name = (char *)pname; + pp->length = sz; + pp->value = (__be32 *)val;This cast should not be needed.
It's needed. Otherwise, we will have warning. So I will keep it. I just
went through this one for next revision and sorry for late response.
drivers/of/fdt.c:225:14: warning: assignment discards ‘const’ qualifier from pointer target type
pp->value = val;
^
Thanks,
Gavin
quoted
+ *pprev = pp; + pprev = &pp->next; + }