
Dear Anton,
In message 20090430231220.GA17546@oksana.dev.rtsoft.ru you wrote:
Suggestion: instead of
set hwconfig dr_usb,dr_usb_mode:peripheral,dr_usb_phy_type:ulpi
use:
set hwconfig dr_usb:mode=peripheral,phy_type=ulpi
What do you think?
At first sight this looks great. But where should we stop?
at a semicolon :-) i. e. something like this:
set hwconfig dr_usb:mode=peripheral,phy_type=ulpi;next_option:on;other_option:off
I wonder if we want multi-level nesting capability, i.e.
dr_usb { mode = peripheral; phy { type = ulpi; clock = 48; }; };
I don't think we should go that far.
Or we can stop at one nesting level capability, just as you describe. Your suggestion is quite easy to implement, but full fledged parser is needed for the most generic case.
I think this should remain what it was introduced as: a *simple* hwconfig infrastructure.
If you need more capabilities, then we should just use existing code: use a device tree. OK, then you have to provide the information in a separate flash sector instead of the environment, but in the long run this is the way to go anyway - if you do it right you will need just a single copy of the device tree for both U-Boot and Linux.
So if you need something small and *simple* now, then use hwconfig, but without all theoretically possible bells and whistles; if you need the full-blown thing, trhen use a device tree.
Best regards,
Wolfgang Denk