From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
Cc: Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH 6/9] ARM: tegra: use pre-processor for all device trees
Date: Mon, 04 Mar 2013 10:22:19 -0700 [thread overview]
Message-ID: <5134D84B.8070908@wwwdotorg.org> (raw)
In-Reply-To: <20130304084416.0D7653E20E9@localhost>
On 03/04/2013 01:44 AM, Grant Likely wrote:
> On Wed, 13 Feb 2013 14:33:15 -0700, Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org> wrote:
>> From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>
>> This enables a C pre-processor pass on all Tegra device trees. This
>> allows future use of #defines and header files in order to define names
>> for various constants, such as the IDs and flags in GPIO specifiers.
>> Use of those features will increase the readability of the device tree
>> files.
>>
>> Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>> ---
>> arch/arm/boot/dts/tegra114-dalmore.dts | 21 -
>> arch/arm/boot/dts/tegra114-dalmore.dtsp | 21 +
>
> Two comments;
> 1) Use '-M' when posting patches that rename files, it makes for a much
> smaller diff. :-)
Yes, I forgot this:-( I reposted just this patch with -M IIRC (but maybe
I don't!)
> 2) Now that I see this patch, it's rather striking that .dtsp and .dtsip
> are horible extensions (so are .dts and .dtsi for that matter, but
> this just kicks it up a notch). Can we not do something better?
>
> Can we do something else here; First, does the old style /include/
> directives cause any problems existing .dts files? I know it won't work
> if a /include/'ed file uses a #include statement, but the other way
> around should be fine. Can we instead move the entire tree over to
> building with the CPP enabled? Overall it will be less horribleness for
> the end user.
I think syntactically, now that the *.dtsp->*.dtb rule uses gcc -x
assembler-with-cpp, the only issue would be *.dts that have a # in the
very first column. That's probably rare enough that we can ignore the
issue. A quick grep certainly shows this isn't an issue with any file in
arch/*/boot/dts in the kernel tree right now.
The main reason I didn't go down this route is that dependencies don't
work, at least with the kbuild rules as currently implemented. The
reason is that with /include/, dependencies are emitted by dtc, and with
#include, dependencies are emitted by cpp. Currently, the *.dts->*.dtb
rules only look at the dtc-emitted dependencies, and the *.dtsp->*.dtb
rules only look at the cpp-emitted dependencies.
The solution here would be to augment the dtc+cpp rule to merge together
the two sets of dependencies in a post-processing step. This might be
easy; I'd have to look at the existing dependency post-processing script
to see if it already handles a case like this.
WARNING: multiple messages have this Message-ID (diff)
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 6/9] ARM: tegra: use pre-processor for all device trees
Date: Mon, 04 Mar 2013 10:22:19 -0700 [thread overview]
Message-ID: <5134D84B.8070908@wwwdotorg.org> (raw)
In-Reply-To: <20130304084416.0D7653E20E9@localhost>
On 03/04/2013 01:44 AM, Grant Likely wrote:
> On Wed, 13 Feb 2013 14:33:15 -0700, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> From: Stephen Warren <swarren@nvidia.com>
>>
>> This enables a C pre-processor pass on all Tegra device trees. This
>> allows future use of #defines and header files in order to define names
>> for various constants, such as the IDs and flags in GPIO specifiers.
>> Use of those features will increase the readability of the device tree
>> files.
>>
>> Signed-off-by: Stephen Warren <swarren@nvidia.com>
>> ---
>> arch/arm/boot/dts/tegra114-dalmore.dts | 21 -
>> arch/arm/boot/dts/tegra114-dalmore.dtsp | 21 +
>
> Two comments;
> 1) Use '-M' when posting patches that rename files, it makes for a much
> smaller diff. :-)
Yes, I forgot this:-( I reposted just this patch with -M IIRC (but maybe
I don't!)
> 2) Now that I see this patch, it's rather striking that .dtsp and .dtsip
> are horible extensions (so are .dts and .dtsi for that matter, but
> this just kicks it up a notch). Can we not do something better?
>
> Can we do something else here; First, does the old style /include/
> directives cause any problems existing .dts files? I know it won't work
> if a /include/'ed file uses a #include statement, but the other way
> around should be fine. Can we instead move the entire tree over to
> building with the CPP enabled? Overall it will be less horribleness for
> the end user.
I think syntactically, now that the *.dtsp->*.dtb rule uses gcc -x
assembler-with-cpp, the only issue would be *.dts that have a # in the
very first column. That's probably rare enough that we can ignore the
issue. A quick grep certainly shows this isn't an issue with any file in
arch/*/boot/dts in the kernel tree right now.
The main reason I didn't go down this route is that dependencies don't
work, at least with the kbuild rules as currently implemented. The
reason is that with /include/, dependencies are emitted by dtc, and with
#include, dependencies are emitted by cpp. Currently, the *.dts->*.dtb
rules only look at the dtc-emitted dependencies, and the *.dtsp->*.dtb
rules only look at the cpp-emitted dependencies.
The solution here would be to augment the dtc+cpp rule to merge together
the two sets of dependencies in a post-processing step. This might be
easy; I'd have to look at the existing dependency post-processing script
to see if it already handles a case like this.
next prev parent reply other threads:[~2013-03-04 17:22 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-13 21:33 [PATCH 0/9] ARM: tegra: use new dtc+cpp feature Stephen Warren
2013-02-13 21:33 ` Stephen Warren
[not found] ` <1360791198-29462-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-13 21:33 ` [PATCH 1/9] ARM: dt: add header to define GPIO flags Stephen Warren
2013-02-13 21:33 ` Stephen Warren
[not found] ` <1360791198-29462-2-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-14 20:48 ` Hiroshi Doyu
2013-02-14 20:48 ` Hiroshi Doyu
[not found] ` <20130214.224816.1898594449880044716.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-02-14 23:29 ` Stephen Warren
2013-02-14 23:29 ` Stephen Warren
2013-03-04 8:34 ` Grant Likely
2013-03-04 8:34 ` Grant Likely
2013-03-04 17:13 ` Stephen Warren
2013-03-04 17:13 ` Stephen Warren
2013-02-13 21:33 ` [PATCH 2/9] ARM: dt: add header to define IRQ flags Stephen Warren
2013-02-13 21:33 ` Stephen Warren
2013-02-13 21:33 ` [PATCH 3/9] ARM: dt: create a DT header for the GIC Stephen Warren
2013-02-13 21:33 ` Stephen Warren
2013-02-13 21:33 ` [PATCH 4/9] ARM: tegra: device tree whitespace cleanup Stephen Warren
2013-02-13 21:33 ` Stephen Warren
2013-02-13 21:33 ` [PATCH 5/9] ARM: tegra: fix sort order of USB PHY nodes Stephen Warren
2013-02-13 21:33 ` Stephen Warren
2013-02-13 21:33 ` [PATCH 6/9] ARM: tegra: use pre-processor for all device trees Stephen Warren
[not found] ` <1360791198-29462-7-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-02-14 17:41 ` Rob Herring
[not found] ` <511D21E7.5090307-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-02-14 18:31 ` Olof Johansson
2013-02-14 18:31 ` Olof Johansson
2013-03-04 8:44 ` Grant Likely
2013-03-04 8:44 ` Grant Likely
2013-03-04 17:22 ` Stephen Warren [this message]
2013-03-04 17:22 ` Stephen Warren
2013-02-13 21:33 ` [PATCH 7/9] ARM: tegra: create a DT header defining GPIO IDs Stephen Warren
2013-02-13 21:33 ` Stephen Warren
2013-02-13 21:33 ` [PATCH 8/9] ARM: tegra: convert device tree files to use GPIO defines Stephen Warren
2013-02-13 21:33 ` Stephen Warren
2013-02-13 21:33 ` [PATCH 9/9] ARM: tegra: convert device tree files to use IRQ defines Stephen Warren
2013-02-13 21:33 ` Stephen Warren
2013-02-13 22:21 ` [PATCH 6/9] ARM: tegra: use pre-processor for all device trees Stephen Warren
2013-02-13 22:21 ` Stephen Warren
2013-02-14 6:38 ` [PATCH 1/1] ARM: dt: add header to define tegra20 clocks Hiroshi Doyu
2013-02-14 6:38 ` Hiroshi Doyu
2013-02-14 6:38 ` Hiroshi Doyu
[not found] ` <1360823899-17846-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-02-14 10:12 ` Peter De Schrijver
2013-02-14 10:12 ` Peter De Schrijver
2013-02-14 10:12 ` Peter De Schrijver
[not found] ` <20130214101220.GI3073-Rysk9IDjsxmJz7etNGeUX8VPkgjIgRvpAL8bYrjMMd8@public.gmane.org>
2013-02-14 13:42 ` Hiroshi Doyu
2013-02-14 13:42 ` Hiroshi Doyu
2013-02-14 13:42 ` Hiroshi Doyu
[not found] ` <20130214.154250.475978229890081002.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-02-14 14:58 ` Peter De Schrijver
2013-02-14 14:58 ` Peter De Schrijver
2013-02-14 14:58 ` Peter De Schrijver
2013-02-14 17:54 ` Stephen Warren
2013-02-14 17:54 ` Stephen Warren
2013-02-14 17:54 ` Stephen Warren
2013-02-19 5:31 ` Shawn Guo
2013-02-19 5:31 ` Shawn Guo
2013-02-19 5:31 ` Shawn Guo
[not found] ` <20130219053148.GC3108-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2013-02-19 17:35 ` Stephen Warren
2013-02-19 17:35 ` Stephen Warren
2013-02-19 17:35 ` Stephen Warren
2013-02-14 17:03 ` [PATCH 0/9] ARM: tegra: use new dtc+cpp feature Tony Lindgren
2013-02-14 17:03 ` Tony Lindgren
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=5134D84B.8070908@wwwdotorg.org \
--to=swarren-3lzwwm7+weoh9zmkesr00q@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org \
--cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
--cc=swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.