From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Subject: Re: [PATCH] kbuild: Don't assume dts files live in arch/*/boot/dts Date: Wed, 08 May 2013 08:50:49 -0600 Message-ID: <518A6649.1020501@wwwdotorg.org> References: <1368010744-11281-1-git-send-email-matthijs@stdin.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1368010744-11281-1-git-send-email-matthijs@stdin.nl> Sender: linux-kernel-owner@vger.kernel.org To: Matthijs Kooijman Cc: Michal Marek , Grant Likely , Rob Herring , linux-kbuild@vger.kernel.org, devicetree-discuss@lists.ozlabs.org, linux-kernel@vger.kernel.org, linux-mips@linux-mips.org, Stephen Warren List-Id: devicetree@vger.kernel.org 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 (although I wonder if the .dts files shouldn't be in a standard location?)