Messages in this thread | | | Date | Wed, 10 Oct 2012 09:16:34 -0600 | From | Stephen Warren <> | Subject | Re: dtc: import latest upstream dtc |
| |
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).
| |