]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
kbuild: create an "include chroot" for DT bindings
authorStephen Warren <swarren@nvidia.com>
Wed, 20 Feb 2013 20:39:41 +0000 (13:39 -0700)
committerStephen Warren <swarren@nvidia.com>
Fri, 5 Apr 2013 18:22:32 +0000 (12:22 -0600)
commitc58299aa87544a590c62bda0bf52b69fa56cb8d5
tree59d5f2b7a23fe8ed32e89b5c961094fb2ccbd8a4
parent6dbe51c251a327e012439c4772097a13df43c5b8
kbuild: create an "include chroot" for DT bindings

The recent dtc+cpp support allows header files and C pre-processor
defines/macros to be used when compiling device tree files. These
headers will typically define various constants that are part of the
device tree bindings.

The original patch which set up the dtc+cpp include path only considered
using those headers from device tree files. However, most are also
useful for kernel code which needs to interpret the device tree.

In both the DT files and the kernel, I'd like to include the DT-related
headers in the same way, for example, <dt-bindings/gpio/tegra-gpio.h>.
That will simplify any text which discusses the DT header locations.

Creating a <dt-bindings/> for kernel source to use is as simple as
placing files into include/dt-bindings/.

However, when compiling DT files, the include path should be restricted
so that only the dt-bindings path is available; arbitrary kernel headers
shouldn't be exposed. For this reason, create a specific include
directory for use by dtc+cpp, and symlink dt-bindings from there to the
actual location of include/dt-bindings/. For want of a better location,
place this "include chroot" into the existing dts/ directory.

arch/*/boot/dts/include/dt-bindings -> ../../../../../include/dt-bindings

Some headers used by device tree files may not be useful to the kernel;
they may be used simply to aid in constructing the DT file (e.g. macros
to create a node), but not define any information that the kernel needs
to share. These may be placed directly into arch/*/boot/dts/ along with
the DT files themselves.

Acked-by: Michal Marek <mmarek@suse.cz>
Acked-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
arch/arm/boot/dts/include/dt-bindings [new symlink]
scripts/Makefile.lib