Re: dtc: import latest upstream dtc

From: Stephen Warren
Date: Wed Oct 10 2012 - 11:16:28 EST


On 10/10/2012 01:24 AM, David Gibson wrote:
> On Tue, Oct 09, 2012 at 10:43:50PM -0600, Warner Losh wrote:
>>
>> On Oct 9, 2012, at 6:04 PM, Scott Wood wrote:
>>
>>> On 10/09/2012 06:20:53 PM, Mitch Bradley wrote:
>>>> On 10/9/2012 11:16 AM, Stephen Warren wrote:
>>>>> On 10/01/2012 12:39 PM, Jon Loeliger wrote:
>>>>>>>
>>>>>>> What more do you think needs discussion re: dtc+cpp?
>>>>>>
>>>>>> How not to abuse the ever-loving shit out of it? :-)
>>>>>
>>>>> Perhaps we can just handle this through the regular patch review
>>>>> process; I think it may be difficult to define and agree upon exactly
>>>>> what "abuse" means ahead of time, but it's probably going to be easy
>>>>> enough to recognize it when one sees it?
>>>> One of the ways it could get out of hand would be via "include
>>>> dependency hell". People will be tempted to reuse existing .h files
>>>> containing pin definitions, which, if history is a guide, will end up
>>>> depending on all sorts of other .h files.
>>>> Another problem I often face with symbolic names is the difficulty of
>>>> figuring out what the numerical values really are (for debugging),
>>>> especially when .h files are in different subtrees from the files that
>>>> use the definitions, and when they use multiple macro levels and fancy
>>>> features like concatenation. Sometimes I think it's clearer just to
>>>> write the number and use a comment to say what it is.
>>>
>>> Both comments apply just as well to ordinary C code, and I don't think anyone would seriously suggest just using comments instead for C code.
>>
>> .h files include both structs and defines, which are fine for
>> ordinary C code, but problematic in this context.
>
> Right, cpp should be invoked with similar options to the way it's done
> for asm files which have the same problem. I'm not sure if the
> current patch does so.

That's probably a reasonable idea, although I imagined that people would
actually split out the portions of any header file they wanted to use
with dtc, so that any headers included by *.dts would only include
#defines. Those headers could be used by both dtc and other .h files (or
.c files).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/