From: Eric Nelson <eric.nelson-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
To: Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>
Cc: "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: KConfig and DTS files
Date: Wed, 07 May 2014 10:47:27 -0700 [thread overview]
Message-ID: <536A71AF.1010907@boundarydevices.com> (raw)
In-Reply-To: <CAOesGMiHRQV+XngH4ABSeT8KDeP=iKn1ogvTA0j1BdyBwAaWSA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Hi Olof,
On 05/07/2014 10:24 AM, Olof Johansson wrote:
> Hi,
>
> On Wed, May 7, 2014 at 10:12 AM, Eric Nelson
> <eric.nelson-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org> wrote:
>> Hi all,
>>
>> I suspect that this has been discussed previously, but I'm a
>> N00b to DT and Google hasn't helped identify a discussion
>> on the list.
>>
>> While getting my feet wet with DTS, I was quite surprised to
>> see that there's no support for making parts of DTS files
>> conditional on the kernel configuration.
>>
>> We often cost-optimize BOMs for our standard boards and omit
>> bits and pieces not needed for a particular build, and
>> it would be nice to surround optional components with
>> conditionals:
>>
>> #ifdef CONFIG_BLAH
>> #endif
>>
>> Please advise,
>
> The DTS is independent on what drivers the kernel is actually
> enabling. It should focus on what is actually there on hardware, and
> not what is enabled in software.
>
> I think I know where you're coming from on this -- on some board-file
> setups people used to not register the platform_device if the driver
> wasn't configured. That was also not really a good way to do it, but
> it made a bit more sense there, since you'd save the few bytes used by
> the platform_device/platform_data structures.
>
It's not a question of space, but functionality.
We had this come up recently when optimizing a BOM for use
without Wi-Fi. If we omit the device and associated buffers,
the SDIO lines are left floating, so the detection code will
complain.
It seems reasonable to tell the kernel to skip this if the
WiFi driver isn't configured into the kernel (i.e. there's
no point in enumerating), so I was hoping to surround this
USDHC2 block with #ifdefs:
https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.17_1.0.0_ga/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi#L640
The alternative aren't very nice:
populate extra parts to drive these signals, or
copy the DTB and strip out the unused parts
The first is wasteful (and environmentally un-friendly), and
the second doesn't scale very well and pollutes the Git tree.
Prior to DT, we surrounded the device startup calls with #ifdefs
like this:
https://github.com/boundarydevices/linux-imx6/blob/boundary-jb4.3_1.0.0-ga/arch/arm/mach-mx6/board-mx6_nitrogen6x.c#L1409
Regards,
Eric
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-05-07 17:47 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-07 17:12 KConfig and DTS files Eric Nelson
[not found] ` <536A697D.3020002-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
2014-05-07 17:24 ` Olof Johansson
[not found] ` <CAOesGMiHRQV+XngH4ABSeT8KDeP=iKn1ogvTA0j1BdyBwAaWSA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-07 17:47 ` Eric Nelson [this message]
[not found] ` <536A71AF.1010907-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
2014-05-07 17:55 ` Olof Johansson
[not found] ` <CAOesGMhMeLkzEeVKHM2G9Vqth6qypURN6mxbNdySVvKhQBCs5A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-08 3:25 ` Maxime Ripard
2014-05-08 6:57 ` David Gibson
2014-05-07 18:10 ` Arnd Bergmann
2014-05-07 18:35 ` Eric Nelson
[not found] ` <536A7CE0.6070005-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
2014-05-07 18:38 ` Arnd Bergmann
2014-05-07 19:07 ` Eric Nelson
[not found] ` <536A8456.1040208-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
2014-05-07 19:15 ` Arnd Bergmann
2014-05-07 19:52 ` Eric Nelson
[not found] ` <536A8F03.5070509-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
2014-05-07 22:20 ` Bjorn Andersson
[not found] ` <CAJAp7OjNdmsomhm9jJ9-jP01z1Uz9snVgRCD07zOFdMYAhQ6Lw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-07 23:06 ` Eric Nelson
[not found] ` <536ABC89.8060301-Q5RJGjKts06CY9SHAMCTRUEOCMrvLtNR@public.gmane.org>
2014-05-08 10:37 ` Arnd Bergmann
2014-05-08 14:56 ` Eric Nelson
2014-05-08 11:55 ` Jason Cooper
[not found] ` <20140508115532.GJ28159-u4khhh1J0LxI1Ri9qeTfzeTW4wlIGRCZ@public.gmane.org>
2014-05-08 15:06 ` Eric Nelson
2014-05-07 18:01 ` Jason Cooper
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=536A71AF.1010907@boundarydevices.com \
--to=eric.nelson-q5rjgjkts06cy9shamctrueocmrvltnr@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=olof-nZhT3qVonbNeoWH0uzbU5w@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 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).