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@xxxxxxxxxx> > > 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