[U-Boot] [PATCH 01/15] fdt: Use sed instead of cpp to pre-process the dtc

Stephen Warren swarren at wwwdotorg.org
Sat Dec 29 00:47:43 CET 2012


On 12/28/2012 11:07 AM, Simon Glass wrote:
> Hi,
> 
> On Fri, Dec 28, 2012 at 8:42 AM, Mike Frysinger <vapier at gentoo.org> wrote:
>> On Friday 28 December 2012 09:55:52 Simon Glass wrote:
>>> On Thu, Dec 27, 2012 at 4:03 PM, Stephen Warren wrote:
>>>> On 12/26/2012 03:28 PM, Simon Glass wrote:
>>>>> Include file support in dtc is still not available in common
>>>>> distributions so we need to keep our preprocessing arrangement around
>>>>> for a little longer.
>>>>>
>>>>> But # is commonly used in FDT files, so use sed instead of cpp for this
>>>>> preprocessing.
>>>>
>>>> This sounds like the wrong approach to me. I'd suggest using what I
>>>>
>>>> proposed for the kernel:
>>>>> cmd_dtc_cpp = $(CPP) $(cpp_flags) -D__DTS__ -x assembler-with-cpp -o
>>>>> $(dtc-tmp) $< ; \
>>>>>
>>>>>         $(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 $(DTC_FLAGS)
>>>>>         $(dtc-tmp)
>>>>
>>>> The "-x assembler-with-cpp" is what solves the # problem IIRC.
>>>
>>> I originally used CPP as an expedient means of converting the
>>> ARCH_CPU_DTS symbol until we all have a dtc with include path support.
>>>
>>> Are you saying that we want to actually use the CPP on tthe device
>>> tree and (presumably) use U-Boot include files within the FDT?

Yes, I'd explicitly like to be able to use C-style header files to
define named constants etc.

>> sounds reasonable to me.  we already do it with linker scripts, and if the
>> kernel is doing it, it means we can (possibly) share more.
> 
> OK. Stephen, what is the kernel actually doing with the preprocessor?
> Have you given up on the dtc symbol stuff for now and plan to use CPP
> instead?

Yes, I've given up on getting any kind of pre-processor or macro
language into dtc itself. I haven't managed to get the kernel to accept
the logic I quoted above either yet; this has all been a very long and
tortuous process. I hope to repost the patch that implements this in the
kernel within the next week or so.


More information about the U-Boot mailing list