From: chris.packham@alliedtelesis.co.nz (Chris Packham)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] dtc: Use quotes to include header files
Date: Tue, 16 Dec 2014 15:13:24 +1300 [thread overview]
Message-ID: <1418696004-12829-1-git-send-email-chris.packham@alliedtelesis.co.nz> (raw)
In-Reply-To: <7947240.7yktm8fT2X@wuerfel>
Currently in arch and driver code that needs early access to the
flattened device tree it is necessary to add specific CFLAGS so that
when scripts/dtc/libfdt/libfdt.h is included the C preprocessor is able
to locate the libfdt versions of libfdt_env.h and fdt.h without
generating an error.
We already provide an alternative linux-specific
version of libfdt_env.h and directly include scripts/dtc/libfdt/fdt.h
so the inclusion by scripts/dtc/libfdt/libfdt.h is a no-op thanks to the
inclusion guards.
By using quotes in scripts/dtc/libfdt/libfdt.h it picks up fdt.h and
libfdt_env.h from the source directory without needing to add CFLAGS for
the sources that happen to include linux/libfdt.h.
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
---
Hi,
This probably should come via git://git.jdl.com/software/dtc.git however
this appears to be inaccessible at the moment. Is this still the
canonical source for the device tree compiler and libfdt or has it been
moved? How much deviation from the canonical source are we prepared to
live with in the kernel?
This came up on the arm-LKML[1]. Basically in the name of backwards
compatibility I need to add a .dt_fixup to add some required nodes to
the flattened device tree prior to the tree being un-flattened and
processed. This is a trick powerpc makes use of fairly extensively and
there are a few other instances of this.
For the files that include linux/libfdt.h we currently also have to
specify additional CFLAGS to satisfy the CPP.
$ git grep '<linux/libfdt.h>'
arch/mips/cavium-octeon/octeon-platform.c:#include <linux/libfdt.h>
arch/mips/cavium-octeon/setup.c:#include <linux/libfdt.h>
arch/mips/mti-sead3/sead3-setup.c:#include <linux/libfdt.h>
arch/powerpc/kernel/prom.c:#include <linux/libfdt.h>
drivers/firmware/efi/libstub/fdt.c:#include <linux/libfdt.h>
drivers/of/fdt.c:#include <linux/libfdt.h>
drivers/of/fdt_address.c:#include <linux/libfdt.h>
$ git grep -e '-I.*dtc/libfdt'
arch/mips/cavium-octeon/Makefile:CFLAGS_octeon-platform.o = -I$(src)/../../../scripts/dtc/libfdt
arch/mips/cavium-octeon/Makefile:CFLAGS_setup.o = -I$(src)/../../../scripts/dtc/libfdt
arch/mips/mti-sead3/Makefile:CFLAGS_sead3-setup.o = -I$(src)/../../../scripts/dtc/libfdt
arch/powerpc/kernel/Makefile:CFLAGS_prom.o = -I$(src)/../../../scripts/dtc/libfdt
drivers/firmware/efi/libstub/Makefile:CFLAGS_fdt.o += -I$(srctree)/scripts/dtc/libfdt/
drivers/of/Makefile:CFLAGS_fdt.o = -I$(src)/../../scripts/dtc/libfdt
drivers/of/Makefile:CFLAGS_fdt_address.o = -I$(src)/../../scripts/dtc/libfdt
lib/Makefile: $(eval CFLAGS_$(file) = -I$(src)/../scripts/dtc/libfdt))
Simply by switching to using quotes we can avoid having this extra step.
Assuming that this patch is acceptable a follow on clean up would be to
remove the instances of CFLAGS_... listed above.
Regards,
Chris
--
[1] - http://lists.infradead.org/pipermail/linux-arm-kernel/2014-December/310840.html
scripts/dtc/libfdt/libfdt.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/dtc/libfdt/libfdt.h b/scripts/dtc/libfdt/libfdt.h
index 73f4975..ea1ddcd 100644
--- a/scripts/dtc/libfdt/libfdt.h
+++ b/scripts/dtc/libfdt/libfdt.h
@@ -51,8 +51,8 @@
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <libfdt_env.h>
-#include <fdt.h>
+#include "libfdt_env.h"
+#include "fdt.h"
#define FDT_FIRST_SUPPORTED_VERSION 0x10
#define FDT_LAST_SUPPORTED_VERSION 0x11
--
2.2.0.rc0
next prev parent reply other threads:[~2014-12-16 2:13 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-10 2:39 [RFC/PATCH 0/4] Add support for Marvell's RD-DXBC2 Chris Packham
2014-12-10 2:39 ` [RFC/PATCH 1/4] ARM: mvebu: use dt_fixup to provide fallback for enable-method Chris Packham
2014-12-10 9:44 ` Arnd Bergmann
2014-12-10 19:45 ` Chris Packham
2014-12-12 4:53 ` [RFC/PATCH 1/4 PATCH] " Chris Packham
2014-12-12 11:35 ` Arnd Bergmann
2014-12-14 21:11 ` Chris Packham
2014-12-15 0:57 ` Chris Packham
2014-12-15 10:37 ` Arnd Bergmann
2014-12-15 20:12 ` Chris Packham
2014-12-16 2:21 ` Chris Packham
2014-12-16 8:57 ` Arnd Bergmann
2014-12-16 2:13 ` Chris Packham [this message]
2014-12-16 14:44 ` [PATCH] dtc: Use quotes to include header files Jon Loeliger
2015-01-29 15:56 ` Grant Likely
2015-01-29 16:30 ` Rob Herring
2015-01-30 16:21 ` Chris Packham
2014-12-10 2:39 ` [RFC/PATCH 2/4] clk: mvebu: armada-xp: Support for 98DX4251 Chris Packham
2014-12-10 2:39 ` [RFC/PATCH 3/4] ARM: mvebu: Initial support for rd-dxbc2 Chris Packham
2014-12-10 2:39 ` [RFC/PATCH 4/4] ARM: mvebu: Custom smp_ops for 98DX4251 Chris Packham
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1418696004-12829-1-git-send-email-chris.packham@alliedtelesis.co.nz \
--to=chris.packham@alliedtelesis.co.nz \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).