[PATCH 8/9 V3] Add documentation for the new DTS language.
David Gibson
david at gibson.dropbear.id.au
Fri Oct 3 12:24:24 EST 2008
On Thu, Oct 02, 2008 at 12:22:53PM -0500, Scott Wood wrote:
> David Gibson wrote:
>> On Thu, Oct 02, 2008 at 10:22:42AM -0500, Scott Wood wrote:
>>> On Thu, Oct 02, 2008 at 11:18:00AM +1000, David Gibson wrote:
>>>>> I vote against anything similar to the C preprocessor.
>>>> Why?
>>> It's not nearly as powerful as the semantic approach, and it is
>>
>> How so?
>
> Compare this:
>
> /for/ i in 0..7
> do_something(\i);
>
> to this:
>
> #define DO2SOMETIHNGS DOSOMETHING DOSOMETHING
> #define DO4SOMETHINGS DO2SOMETHINGS DO2SOMETHINGS
> #define DO8SOMETHINGS DO4SOMETHINGS DO4SOMETHINGS
>
> And if you want the number of somethings to be easily tweakable, you may
> need to do #include/#ifdef recursion.
Yes, we'd certainly need some sort of iteration operator in the
expressions for this sort of thing.
>
>> If anything I think it's more powerful, because the macro
>> boundaries can be anywhere, not only at the edges of particular
>> semantic constructs.
>
> Is that useful outside the International Obfuscated DTC Contest?
Maybe. I can see uses for both this style:
mynodename at 12345 NODE_CONTENTS_MACRO(x,y,z);
and this style:
NODE_MACRO(p,q,r);
where the macro generates the name as well.
Both are trivially possible with macros, but would need different
types of definition with a runtime system, which increases complexity.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
More information about the devicetree-discuss
mailing list