[U-Boot] [PATCH v3 0/8] hwconfig and some its users

Kim Phillips kim.phillips at freescale.com
Thu Jun 11 18:31:37 CEST 2009


On Thu, 11 Jun 2009 18:03:51 +0200
Wolfgang Denk <wd at denx.de> wrote:

> Dear Kim Phillips,
> 
> In message <20090611105533.7aeec1ee.kim.phillips at freescale.com> you wrote:
> >
> > > The separator between options is ';', between sub-options is ','.
> > > 
> > > So that would be 'dr_usb:mode=host,phy_type=ulpi; esdhc".
> 
> ...and that's still what I like most of the differnet formats
> discussed so far.
> 
> 
> > if you don't want to type, things like this are possible but they
> > have to depend on the order given:
> 
> It's not only about not typing, it's also about being able to read it
> easily.

right, which it currently isn't, due to conflicting precedence levels
for the different operator characters chosen.

btw, there should be no severe loss of readability here:

> > dr_usb.mode = host; .phy_type = ulpi; esdhc;

...

> > however when automating/scripting concatenation of them, it's useful
> > to not have to depend on their order:
> > 
> > dr_usb.mode = host; esdhc; dr_usb.phy_type = ulpi;
> 
> I see no reason that we need to support such a format. In C, you also
> cannot mix initializations of fields from different structures :-)

I view these as regular assignments, not initializations :)

> > What do you think?
> 
> 'dr_usb:mode=host,phy_type=ulpi; esdhc" still looks reasonable to me.

the ':', which, in C, would be as though we're specifying a bit-field,
and, in English, has higher precedence than ';' which makes it
confusing because ';' is used elsewhere with higher precedence than
the ':'. I'd almost prefer a space instead, making:

"dr_usb mode=host, phy_type=ulpi; esdhc"

but the dot operator '.' is the best candidate since it accurately
represents /member/ access.

just my 2c.

Kim


More information about the U-Boot mailing list