From: rric@kernel.org (Robert Richter)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/4] arm64, thunder: Add Kconfig option for Cavium Thunder SoC Family
Date: Mon, 8 Sep 2014 13:01:31 +0200 [thread overview]
Message-ID: <20140908110131.GX4703@rric.localhost> (raw)
In-Reply-To: <2952834.1P42roDKD9@wuerfel>
On 05.09.14 18:25:35, Arnd Bergmann wrote:
> On Friday 05 September 2014 15:22:46 Mark Rutland wrote:
> >
> > > A common pattern these days is to do dependencies like
> > >
> > > arch/*/Kconfig:
> > > config ARCH_FOO
> > > bool "Enable support for Foo platform"
> > > help
> > > ...
> > >
> > >
> > > drivers/*/Kconfig
> > > config SUBSYS_FOO
> > > bool "SUBSYS driver for Foo"
> > > depends on ARCH_FOO || COMPILE_TEST
> > > depends on OF && REGULATOR && GENERIC_PHY # or whatever
> >
> > Russell's comments w.r.t. Kconfig warnings when config names change
> > still holds regardless of select vs depends on.
>
> Yes, that's what I wrote in my reply as well.
>
> > > That way we can enable everything in the defconfig, but someone
> > > who likes to build a more specialized kernel can disable the
> > > other platforms and won't get the drivers that are specific to
> > > those.
> > >
> > > I personally think this is a bit more verbose than what we need, but
> > > I don't strongly object doing it that way.
> >
> > You'd still be able to do this without ARCH_FOO, though you would need
> > to know which drivers are necessary for a particular SoC. That seems to
> > be the way things are handled on x86; I don't recall having to select
> > support for specific machines there, just the individual drivers.
This is well hidden on x86, but each vendor has a config option. For
AMD systems we have had our own option to disable vendor specific
code, see CPU_SUP_AMD for example. Disabling this will remove all AMD
specific code in the kernel. Of course this is enabled per default.
With ARCH_THUNDER I intended to do the same (you could name this also
SOC_SUP_CAVIUM or so but I kept the current naming scheme). In patch
4/4 I have added the option to defconfig. This enables this per
default and nobody has to deal with any option manually, just running
make defconfig is fine.
Also, at least to disable building the dtb file for foo, you will need
ARCH_FOO too. How else would you deal with dtb files then?
Having ARCH_FOO might not be necessary for drivers. One could enable
drivers manually, but this option is still a good reference for the
drivers needed by foo. At some point you will carry tons of enabled
drivers in your defconfig and you don't know which platform actually
is using it. For generic drivers this might be fine. But in my point
of few, each soc specific driver should have an soc specific option
too. Then you easily can remove an soc from the defconfig.
-Robert
> The main difference is that there are very few drivers on x86 that are
> specific to one of the two chip makers. Almost everything is a PCI
> device that can actually be plugged in anywhere.
>
> On ARM64 there is going to be a lot of stuff that really makes sense
> only for one of the 50 licensees.
next prev parent reply other threads:[~2014-09-08 11:01 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-05 7:46 [PATCH v2 0/4] arm64, thunder: Enable Cavium Thunder SoC Family Robert Richter
2014-09-05 7:46 ` [PATCH v2 1/4] arm64, thunder: Add Kconfig option for " Robert Richter
2014-09-05 8:39 ` Will Deacon
2014-09-05 9:21 ` Robert Richter
2014-09-05 9:25 ` Will Deacon
2014-09-05 9:36 ` Mark Rutland
2014-09-05 10:51 ` Robert Richter
2014-09-05 9:32 ` Russell King - ARM Linux
2014-09-05 10:45 ` Robert Richter
2014-09-05 11:05 ` Russell King - ARM Linux
2014-09-05 12:51 ` Mark Rutland
2014-09-05 14:04 ` Arnd Bergmann
2014-09-05 14:22 ` Mark Rutland
2014-09-05 16:25 ` Arnd Bergmann
2014-09-08 11:01 ` Robert Richter [this message]
2014-09-08 12:29 ` Arnd Bergmann
2014-09-08 18:25 ` Rob Herring
2014-09-05 7:46 ` [PATCH v2 2/4] arm64, thunder: Add initial dts for Cavium Thunder SoC Robert Richter
2014-09-05 11:21 ` Arnd Bergmann
2014-09-11 14:51 ` Robert Richter
2014-09-05 7:46 ` [PATCH v2 3/4] arm64, thunder: Document devicetree bindings " Robert Richter
2014-09-05 8:42 ` Will Deacon
2014-09-05 9:32 ` Robert Richter
2014-09-05 9:39 ` Mark Rutland
2014-09-08 7:54 ` Robert Richter
2014-09-05 7:46 ` [PATCH v2 4/4] arm64, defconfig: Enable Cavium Thunder SoC in defconfig Robert Richter
2014-09-05 8:42 ` [PATCH v2 0/4] arm64, thunder: Enable Cavium Thunder SoC Family Will Deacon
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=20140908110131.GX4703@rric.localhost \
--to=rric@kernel.org \
--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).