[PATCH v8 40/45] drivers/of: Split unflatten_dt_node()

Rob Herring robherring2 at gmail.com
Thu Feb 18 01:30:42 AEDT 2016


On Tue, Feb 16, 2016 at 9:44 PM, Gavin Shan <gwshan at linux.vnet.ibm.com> wrote:
> 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 <gwshan at linux.vnet.ibm.com>
> ---
>  drivers/of/fdt.c | 249 ++++++++++++++++++++++++++++++++-----------------------
>  1 file changed, 147 insertions(+), 102 deletions(-)

One nit, otherwise:

Acked-by: Rob Herring <robh at kernel.org>

[...]

> +               /* 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.

> +               *pprev     = pp;
> +               pprev      = &pp->next;
> +       }


More information about the Linuxppc-dev mailing list