[PATCH] kbuild: Don't assume dts files live in arch/*/boot/dts

Michal Marek mmarek at suse.cz
Thu May 23 18:15:53 EST 2013


On 18.5.2013 20:41, Matthijs Kooijman wrote:
> Hi Michal,
> 
> On Wed, May 08, 2013 at 08:50:49AM -0600, Stephen Warren wrote:
>> On 05/08/2013 04:59 AM, Matthijs Kooijman wrote:
>>> In commit b40b25ff (kbuild: always run gcc -E on *.dts, remove cmd_dtc_cpp),
>>> dts building was changed to always use the C preprocessor. This meant
>>> that the .dts file passed to dtc is not the original, but the
>>> preprocessed one.
>>>
>>> When compiling with a separate build directory (i.e., with O=), this
>>> preprocessed file will not live in the same directory as the original.
>>> When the .dts file includes .dtsi files, dtc will look for them in the
>>> build directory, not in the source directory and compilation will fail.
>>>
>>> The commit referenced above tried to fix this by passing arch/*/boot/dts
>>> as an include path to dtc. However, for mips, the .dts files are not in
>>> this directory, so dts compilation on mips breaks for some targets.
>>>
>>> Instead of hardcoding this particular include path, this commit just
>>> uses the directory of the .dts file that is being compiled, which
>>> effectively restores the previous behaviour wrt includes. For most .dts
>>> files, this path is just the same as the previous hardcoded
>>> arch/*/boot/dts path.
>>>
>>> This was tested on a mips (rt3052) and an arm (bcm2835) target.
>>
>> Reviewed-by: Stephen Warren <swarren at nvidia.com>
> 
> Did this patch look ok to you? If so, could you pick it up and send it
> over to Linus for 3.10 (or should I send it directly)?

I applied the patch to kbuild.git#rc-fixes now.

Michal


More information about the devicetree-discuss mailing list