On Tue, Feb 16, 2016 at 9:44 PM, Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxx> > --- > drivers/of/fdt.c | 249 ++++++++++++++++++++++++++++++++----------------------- > 1 file changed, 147 insertions(+), 102 deletions(-) One nit, otherwise: Acked-by: Rob Herring <robh@xxxxxxxxxx> [...] > + /* 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; > + } -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html