From: Linus Torvalds <torvalds@linux-foundation.org>
To: Russell King <rmk@arm.linux.org.uk>
Cc: Kevin Hilman <khilman@deeprootsystems.com>,
Daniel Walker <dwalker@codeaurora.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
linux-arm-msm@vger.kernel.org
Subject: Re: ARM defconfig files
Date: Thu, 3 Jun 2010 07:48:18 -0700 (PDT) [thread overview]
Message-ID: <alpine.LFD.2.00.1006030725420.8175@i5.linux-foundation.org> (raw)
In-Reply-To: <20100603074548.GA12104@flint.arm.linux.org.uk>
[ Continuation on the "ARM MSM updates" thread ]
On Thu, 3 Jun 2010, Russell King wrote:
>
> It'd be nice if you'd copy me...
Yeah, the thread started out as a "I got really bored with lots of msm
patches", and then just expanded into what I think is wrong with the
sub-architectures.
> On the defconfig files, you may not like them - I don't like the
> proliferation of them either. What I've always wanted to see is
> one defconfig per class of machines - in other words, one mach-XXX.
I can understand that, but at the same time, I do think that the
"defconfig" file concept as it is now is just broken. To the point of
being unfixable. It's obviously just a copy of the final .config, and it's
fundamentally not really readable (and especially not writable) by humans.
And that all actually made some sense way-back-when, back when it was
originally done - back when our config files were tiny (compared to what
they are now), and when it ended up being the default input for the
config. It just doesn't make much sense any more. The Kconfig files
themselves end up having defaults for the core things, and the non-core
things are too many to list/edit sanely in that format.
So the original reason I want to remove them is that they are very
annoying, but the reasoning that then takes that annoyance and makes me
think seriously about removing them despite the inevitable pain factor is
that I really don't think we can even use the concept for any better
model.
Anything better would _have_ to be totally different. And no, I don't
think your "diffs against a base" model work either, because while it
would make them smaller, it would still make them basically unreadable and
uneditable by any human, which means that it's not something we should
check in - it's a generated file!
And I do think our kernel configurator language already should basically
have the expressive power to do it *sanely*. We already support including
other files, which is a requirement for any hierarchical model.
So I _think_ whatever "mach-xyz" file _should_ do something like
# Kconfig file for OMAP4ABCXYZ chip
.. set the particulars for this _particular_ chip,
ie select the particular drivers on this chip ..
include "chip-family-details" (ie maybe "base OMAP details")
include "architecture-family-details" (ie ARM Kconfig)
see? Not one flat file, and very much not something generated.
And I actually suspect we could do it with our current Kconfig file model.
IOW, in the arch/arm/Kconfig file, I think it should be doable to have
basically a
choice
prompt "ARM platform"
config ARM_PLATFORM_OMAP
bool PLATFORM_OMAP
config ARM_PLATFORM_MSM
bool PLATFORM_MSM
...
endchoice
if ARK_PLATFORM_OMAP
include "Kconfig.omap" # this will further have choices for OMAP versions
elif ARM_PLATFORM_...
and then the individual "Kconfig.platform" files could select certain
options, and then do a "include Kconfig.cpu" which would actually be the
_current_ top-level arch/arm/Kconfig.
Or something. See? Making it hierarchical (so that each individual
Kconfig.xyz file only handles a certain level of detail, and it doesn't
grow unboundedly) and making it fundamentally human readable/writable
would be a really good thing.
NOTE NOTE NOTE! I'm not at all saying it has to be done like the above
with the current Kconfig language. The above is more of a "this is how we
_could_ do it, and it would be a big conceptual improvement".
And I don't think we can get there from here unless I at some point say "I
just removed the xyz_defconfig files", at which point people will curse me
and stumble about until they actually come up with something better.
Of course, if the ARM people do something proactive like the above
_before_ I remove the defconfig files, I won't complain.
Linus
next parent reply other threads:[~2010-06-03 14:53 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20100603074548.GA12104@flint.arm.linux.org.uk>
2010-06-03 14:48 ` Linus Torvalds [this message]
2010-06-03 16:46 ` Tony Lindgren
2010-06-03 18:13 ` Russell King
2010-06-03 21:33 ` Tony Lindgren
2010-06-03 22:45 ` Nicolas Pitre
2010-06-04 4:59 ` Tony Lindgren
2010-06-04 0:23 ` Kevin Hilman
2010-06-04 4:53 ` Tony Lindgren
2010-06-04 1:02 ` Benjamin Herrenschmidt
2010-06-04 5:29 ` Tony Lindgren
2010-06-04 6:30 ` Geert Uytterhoeven
2010-06-04 6:53 ` Geert Uytterhoeven
2010-06-04 8:52 ` Benjamin Herrenschmidt
2010-06-03 16:53 ` Daniel Walker
2010-06-08 15:30 ` Catalin Marinas
2010-06-08 16:37 ` Daniel Walker
2010-06-03 18:10 ` Russell King
2010-06-03 18:18 ` Linus Torvalds
2010-06-03 18:53 ` Russell King
2010-06-03 18:56 ` Linus Torvalds
2010-06-03 19:20 ` Russell King
2010-06-03 19:35 ` Daniel Walker
2010-06-03 19:45 ` Russell King
2010-06-03 19:49 ` Daniel Walker
2010-06-03 19:57 ` Russell King
2010-06-03 20:06 ` Daniel Walker
2010-06-03 20:18 ` Russell King
2010-06-03 20:20 ` Nicolas Pitre
2010-06-04 1:06 ` Benjamin Herrenschmidt
2010-06-03 20:09 ` Linus Torvalds
2010-06-03 20:31 ` Linus Torvalds
2010-06-03 21:17 ` Tony Lindgren
2010-06-03 22:15 ` Grant Likely
2010-06-04 5:18 ` Felipe Balbi
2010-06-04 11:31 ` Catalin Marinas
2010-06-03 22:24 ` Daniel Walker
2010-06-05 14:12 ` Felipe Contreras
2010-06-05 14:39 ` Linus Torvalds
2010-06-05 16:39 ` Felipe Contreras
2010-06-03 21:48 ` Daniel Walker
2010-06-04 0:36 ` Paul Mackerras
2010-06-04 12:39 ` Grant Likely
2010-06-05 13:47 ` Felipe Contreras
2010-06-03 20:34 ` Nicolas Pitre
2010-06-03 20:05 ` Linus Torvalds
2010-06-06 3:28 ` david
2010-06-03 18:20 ` Daniel Walker
2010-06-03 18:21 ` Linus Torvalds
2010-06-03 18:30 ` Al Viro
2010-06-03 19:26 ` Paul Mundt
2010-06-14 8:32 ` Uwe Kleine-König
2010-06-30 10:40 ` Uwe Kleine-König
2010-07-12 15:55 ` Uwe Kleine-König
2010-07-12 16:51 ` Linus Torvalds
2010-07-12 17:32 ` Russell King - ARM Linux
2010-07-12 17:40 ` Linus Torvalds
2010-07-12 18:50 ` Uwe Kleine-König
2010-07-12 19:04 ` Linus Torvalds
2010-07-12 19:17 ` Nicolas Pitre
2010-07-12 19:34 ` Linus Torvalds
2010-07-12 19:50 ` Grant Likely
2010-07-13 7:07 ` Uwe Kleine-König
2010-07-13 8:07 ` optimized script [Was: ARM defconfig files] Uwe Kleine-König
2010-07-13 18:04 ` Olof Johansson
2010-07-13 23:39 ` Nicolas Pitre
2010-07-13 18:32 ` ARM defconfig files Grant Likely
2010-07-12 19:59 ` Uwe Kleine-König
2010-07-12 20:14 ` Nicolas Pitre
2010-07-12 19:09 ` Nicolas Pitre
2010-07-12 20:31 ` Arnd Bergmann
2010-07-12 20:50 ` Nicolas Pitre
2010-07-12 23:05 ` David Brown
2010-07-12 23:18 ` Linus Torvalds
2010-07-12 23:34 ` David Brown
2010-07-13 0:55 ` Nicolas Pitre
2010-07-14 9:13 ` Felipe Contreras
2010-07-14 13:20 ` Uwe Kleine-König
2010-07-14 17:37 ` Tony Luck
2010-07-13 18:32 ` Rob Landley
2010-07-12 20:06 ` Russell King - ARM Linux
2010-07-12 20:29 ` Nicolas Pitre
2010-07-12 21:54 ` Linus Torvalds
2010-07-14 9:21 ` Felipe Contreras
2010-06-03 18:41 ` Russell King
2010-06-03 18:53 ` Linus Torvalds
2010-06-06 3:53 ` david
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=alpine.LFD.2.00.1006030725420.8175@i5.linux-foundation.org \
--to=torvalds@linux-foundation.org \
--cc=dwalker@codeaurora.org \
--cc=khilman@deeprootsystems.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rmk@arm.linux.org.uk \
/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
all inboxes | Powered by JetHome®