[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAK7LNAT2p8LjMJMAM9WMZymUXPVyDXDtXL094WHFhHamhShzEg@mail.gmail.com>
Date: Mon, 22 Jul 2019 10:43:18 +0900
From: Masahiro Yamada <yamada.masahiro@...ionext.com>
To: Eugeniy Paltsev <Eugeniy.Paltsev@...opsys.com>
Cc: Alexey Brodkin <Alexey.Brodkin@...opsys.com>,
"linux-snps-arc@...ts.infradead.org"
<linux-snps-arc@...ts.infradead.org>,
"michal.lkml@...kovi.net" <michal.lkml@...kovi.net>,
"linux-kbuild@...r.kernel.org" <linux-kbuild@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"Vineet.Gupta1@...opsys.com" <Vineet.Gupta1@...opsys.com>
Subject: Re: [TRIVIAL PATCH] of: per-file dtc preprocessor flags
On Sun, Jul 21, 2019 at 12:38 AM Eugeniy Paltsev
<Eugeniy.Paltsev@...opsys.com> wrote:
>
> Hi Masahiro,
>
> On Sat, 2019-07-20 at 11:40 +0900, Masahiro Yamada wrote:
> > On Sat, Jul 20, 2019 at 4:28 AM Eugeniy Paltsev
> > <Eugeniy.Paltsev@...opsys.com> wrote:
> > > As of today we are able to pass custom flags to dtc compiler but not
> > > to dtc preprocessor.
> > > This ability is required for including some board-specific header files.
> > > It allows us to pass defined constants to dts without their duplication
> > > in several places.
> >
> > How to use this option in a useful way?
> >
> > I see a bunch of defined constants under include/dt-bindings/.
> >
> > If you are talking about code duplication across architectures,
> > you can include arm dtsi from arm64 dts, or vice versa.
> > This was made possible by the symbolic links
> > in scripts/dtc/include-prefixes/.
> >
> > Could you please elaborate your issues if you cannot solve them
> > by the current strategy?
> >
>
> Here is the example:
>
> We have several FPGA-based boards (haps_hs, haps_hs_idu,...) which are involved
> in SW and HW automated verification. For some tests we randomize physical memory
> location so we patch 'CONFIG_LINUX_RAM_BASE' kconfig variable and 'memory' node in
> device tree. We want to keep number of patches as less as possible (to avoid
> conflicts on their applying) so we want to avoid duplication and pass
> 'CONFIG_LINUX_RAM_BASE' directly to dts by including it from
> 'include/generated/autoconf.h':
>
> ----------------------------->8------------------------------------
> memory {
> device_type = "memory";
> - /* CONFIG_LINUX_RAM_BASE needs to match low mem start */
> - reg = <0x80000000 0x20000000>; /* 512 */
> + reg = <CONFIG_LINUX_RAM_BASE 0x20000000>; /* 512 */
So, we need the kernel configuration to build DT?
I am scared with this idea.
I believe DT files should be able to be compiled
irrespective of the .config because they are
re-used for other projects.
devicetree-rebasing is a subset of the kernel tree
that collects DT.
If you upstream that patch, this will be broken, at least.
git://git.kernel.org/pub/scm/linux/kernel/git/devicetree/devicetree-rebasing.git
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists