[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