> -----Original Message----- > From: Rob Herring [mailto:robherring2@xxxxxxxxx] > Sent: Wednesday, January 28, 2015 5:05 AM > To: Devshatwar, Nikhil > Cc: devicetree-compiler@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; > devicetree-spec@xxxxxxxxxxxxxxx; linux-omap > Subject: Re: [PATCH] dtc: parser: Add label while overriding nodes > > On Thu, Jan 8, 2015 at 8:12 AM, Nikhil Devshatwar <nikhil.nd@xxxxxx> > wrote: > > Current device tree compiler allows to define multiple labels when > > defining the device node the first time. Typically device nodes are > > defined in DTSI files. Now these nodes can be overriden for updating > > some of the properties. Typically, device nodes are overridden in DTS > files. > > > > When working with adapter boards, most of the time adapter board can > > fit to multiple base boards. But depending on which base board it is > > connected to, the devices on the adapter board would be children of > different devices. > > > > e.g. On dra7-evm.dts, i2c2 is exported for expansion connector > whereas > > on dra72-evm.dts, i2c5 is exported for expansion connector. > > This causes a problem when writing a generic device tree file for the > > adapter board. Because, you cannot know wheather all the devices on > > s/wheather/whether/ > > > adpter board are present on i2c or i2c5. > > s/adpter/adapter/ > > > The problem can be solved by adding a common label (e.g. i2cexp) in > > both of the DTS files when overriding the device nodes for i2c2 or > i2c5. > > This way, generic adapter board file would override the i2cexp. And > > depending on which base board you use the adpter board, all the > > devices > > s/adpter/adapter/ > > > are automatically added for correct device nodes. > > > > Change-Id: I3ad7247a79baed7268a91fc691360aece73d6d1b > > Get rid of this Gerrit nonsense. > > > Signed-off-by: Nikhil Devshatwar <nikhil.nd@xxxxxx> > > --- > > scripts/dtc/dtc-parser.y | 12 ++++++++++++ > > 1 file changed, 12 insertions(+) > > You need to send this against upstream dtc, not the copy in the kernel. > > Seems like a reasonable change, but I'm not too familar with dtc > source. > OK, no problem Thanks, Nikhil D > > diff --git a/scripts/dtc/dtc-parser.y b/scripts/dtc/dtc-parser.y > index > > f412460..d9ed3b7 100644 > > --- a/scripts/dtc/dtc-parser.y > > +++ b/scripts/dtc/dtc-parser.y > > @@ -145,6 +145,18 @@ devicetree: > > { > > $$ = merge_nodes($1, $3); > > } > > + > > + | devicetree DT_LABEL DT_REF nodedef > > + { > > + struct node *target = get_node_by_ref($1, > $3); > > + > > + add_label(&target->labels, $2); > > + if (target) > > + merge_nodes(target, $4); > > + else > > + print_error("label or path, '%s', not > found", $2); > > + $$ = $1; > > + } > > | devicetree DT_REF nodedef > > { > > struct node *target = get_node_by_ref($1, > $2); > > -- > > 1.7.9.5 > > > > -- > > 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 ��.n��������+%������w��{.n����z�{��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f