Re: [PATCH V6 2/2] kbuild: run the pre-processor on *.dts files

From: Stephen Warren
Date: Wed Nov 14 2012 - 15:18:17 EST


On 11/14/2012 12:25 PM, Grant Likely wrote:
> On Mon, 12 Nov 2012 13:58:27 -0700, Stephen Warren <swarren@xxxxxxxxxxxxx> wrote:
>> From: Stephen Warren <swarren@xxxxxxxxxx>
>>
>> Modify cmd_dtc to run the C pre-processor on the input .dts file before
>> passing it to dtc for final compilation. This allows the use of #define
>> and #include within the .dts file.

> Ugh, I'm definitely nervous about turning this on because of the long
> term implications so I'm going to punt on actually making a decision
> about it for the momemnt. However, I do have a question...

Hmmm. So how do we get to a decision on this then?

>> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
>> index 425578e..33432f4 100644
>> --- a/scripts/Makefile.lib
>> +++ b/scripts/Makefile.lib
>> @@ -269,6 +269,15 @@ cmd_dtc = $(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 $(DTC_FLAGS) -d $(depfile
>> $(obj)/%.dtb: $(src)/dts/%.dts FORCE
>> $(call if_changed_dep,dtc)
>>
>> +dtc-tmp = $(subst $(comma),_,$(dot-target).dts)
>> +
>> +quiet_cmd_dtc_cpp = DTC+CPP $@
>> +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)
>> +
>> +$(obj)/%.dtb: $(src)/dts/%.dtsp FORCE
>> + $(call if_changed_dep,dtc_cpp)
>
> Why this instead of a "%.dts: %.dtsp" rule? Then the exact same dtc rule
> gets used in both cases.
>
> The .dtb rule is probably already rather oddball in that it puts the
> output one directory below the input. That probably should be cleaned
> up.

I was a little nervous about potentially having some *.dts be primary
source files, and others be derived from *.dtsp (assuming that we
convert platforms to this new feature as desired, rather than en-mass).
It seems like it'd just cause confusion; people might just end up
accidentally editing a *.dts that was generated without realizing it.
--
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/