linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: david@lang.hm
To: Nicolas Pitre <nico@fluxnic.net>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Tony Lindgren <tony@atomide.com>,
	David Brown <davidb@codeaurora.org>,
	lkml <linux-kernel@vger.kernel.org>,
	linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
	Catalin Marinas <catalin.marinas@arm.com>
Subject: Re: [GIT PULL] omap changes for v2.6.39 merge window
Date: Wed, 30 Mar 2011 17:39:53 -0700 (PDT)	[thread overview]
Message-ID: <alpine.DEB.2.00.1103301728000.15330@asgard.lang.hm> (raw)
In-Reply-To: <alpine.LFD.2.00.1103301814250.28032@xanadu.home>

On Wed, 30 Mar 2011, Nicolas Pitre wrote:

> On Wed, 30 Mar 2011, Linus Torvalds wrote:
>
>> On Wed, Mar 30, 2011 at 1:41 PM, Nicolas Pitre <nico@fluxnic.net> wrote:
>>>
>>> Trying to rely on bootloaders doing things right is like saying that x86
>>> should always rely on the BIOS doing things right.
>>
>> No. Not at all.
>>
>> The problem with firmware/BIOS is that it's set in stone and closed-source.
>>
>> I'm suggesting splitting out the crazy part into a separate project
>> that does this. Open-source. Like a mini-kernel. Because the thing is,
>> the main kernel doesn't care, and _shouldn't_ care. Those board files
>> are just noise.
>
> Sure, but important noise nevertheless.  As long as the noise is
> confined to a limited set of .c files I'm happy.  OTOH I have very
> little hope for a separate project that would only deal with that noise.
> That will simply never fly, even less so as an Open Source project.
> The insentive for people to work on such thing simply aren't there as
> that is totally uninteresting and without any rewards.
>
> Furthermore, this does create pain.  you have to make things in sync
> between the kernel and the mini-kernel (let's call it bootloader).  In
> practice the bootloader is always maintained separately from the kernel,
> on its own pace and with its own release schedule.  Trying to
> synchronize independent projects is really painful as you know already,
> otherwise the user space for perf would still be maintained separately
> from the kernel, right?

Being separate from the kernel with it's own release schedule could be a 
good thing.

using the example of clocks. if the clock definitions were in the 
bootloader project, then when a new board is produced with a slightly 
different clock arrangement, all you have to do is to update the 
bootloader to pass the new definition to the kernel, and then you can use 
a well tested kernel that has been put through it's paces on other 
hardware already.

Today you have to get the change upstream into the kernel, and then use 
the new kernel (which always includes new features and bugs that you have 
to test for)

you aren't saying that you are allowing arbatrary binary blobs to be 
passed to the kernel from the bootloader, you are only saying that you 
allow well defined board definition descriptions to be passed to the 
kernel from the bootloader.

yes the bootloader can try to pass binary garbage to the kernel, but the 
kernel doesn't have to be written to accept it. The kernel side remains 
under your control even if the bootloader piece is owned by someone else.

the two pieces do not need to be released and updated in lockstep. yes, 
there will be (many) cases where a new kernel adds support for a new type 
of device, but the communications format between the bootloader and the 
kernel can be designed to be tolorant of such skew. Even before the kernel 
knows how to drive the hardware you can have the format of the information 
about that hardware defined (allowing the bootloader to pass information 
to the kernel that it just ignores because it doesn't have a driver in it 
for that particulare piece of hardware), and if the bootloader doesn't 
tell the kernel about some device, the kernel will just ignore that 
device.

this means that you need to have some group doing the equivalent of 
assigning device numbers for the different devices (and in this case going 
just a little further to define what setup parameters will be needed), 
initially this may be a little rough, but after a very short time I would 
expect the people doing this work to start recognising that even though 
vendor A who first proposes this device has some things hard-wired, the 
definition format should support these things as variables instead of 
being assumed.

David Lang

  parent reply	other threads:[~2011-03-31  0:40 UTC|newest]

Thread overview: 159+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-17 18:30 [GIT PULL] omap changes for v2.6.39 merge window Tony Lindgren
2011-03-18  2:50 ` Linus Torvalds
2011-03-18  7:06   ` Tony Lindgren
2011-03-18 10:15   ` Russell King - ARM Linux
2011-03-18 11:13     ` Uwe Kleine-König
2011-03-30 17:06     ` Arnd Bergmann
2011-03-30 19:21       ` Linus Torvalds
2011-03-30 20:41         ` Nicolas Pitre
2011-03-30 21:02           ` Linus Torvalds
2011-03-30 23:31             ` Nicolas Pitre
2011-03-30 23:59               ` Russell King - ARM Linux
2011-03-31  0:15                 ` Tony Lindgren
2011-03-31  0:31               ` Bill Gatliff
2011-03-31  0:39               ` david [this message]
2011-03-31  3:17                 ` Nicolas Pitre
2011-03-31  3:29                   ` Dave Airlie
2011-03-31  4:38                     ` Nicolas Pitre
2011-03-31  9:54                       ` Alan Cox
2011-03-31 10:50                         ` Russell King - ARM Linux
2011-03-31 12:23                           ` Jean-Christophe PLAGNIOL-VILLARD
2011-03-31 12:38                           ` Catalin Marinas
2011-03-31 13:01                             ` Russell King - ARM Linux
2011-03-31 14:55                               ` Bill Gatliff
2011-04-01 12:41                                 ` Arnd Bergmann
2011-03-31 18:12                               ` Sam Ravnborg
2011-03-31 18:17                                 ` Russell King - ARM Linux
2011-03-31 18:34                                   ` Jesse Barnes
2011-03-31 13:54                           ` Thomas Gleixner
2011-03-31 17:22                           ` david
2011-03-31 18:08                             ` Koen Kooi
2011-03-31  5:05                   ` david
2011-03-31  7:15                     ` Nicolas Pitre
2011-03-31  8:06                       ` Ingo Molnar
2011-03-31  8:30                         ` Russell King - ARM Linux
2011-03-31 10:41                           ` Ingo Molnar
2011-03-31 13:25                             ` Russell King - ARM Linux
2011-03-31 12:04                           ` Thomas Gleixner
2011-03-31 14:43                             ` Kevin Hilman
2011-03-31 15:01                               ` Thomas Gleixner
2011-03-31 15:05                                 ` Russell King - ARM Linux
2011-03-31 15:45                                   ` david
2011-03-31 15:23                               ` Arnd Bergmann
2011-03-31 16:58                                 ` Thomas Gleixner
2011-03-31 18:23                                   ` Nicolas Pitre
2011-03-31 18:55                                     ` Thomas Gleixner
2011-04-01 11:32                                   ` Arnd Bergmann
2011-03-31 20:35                                 ` Kevin Hilman
2011-04-01 11:29                                   ` Arnd Bergmann
2011-04-01  7:32                                 ` Tomi Valkeinen
2011-04-01 11:22                                   ` Arnd Bergmann
2011-04-01 11:55                                     ` Tomi Valkeinen
2011-04-01 12:07                                       ` Arnd Bergmann
2011-04-01 12:15                                         ` Tomi Valkeinen
2011-03-31 16:03                           ` david
2011-03-31 16:45                             ` Russell King - ARM Linux
2011-03-31 17:17                               ` Linus Torvalds
2011-03-31 19:25                                 ` Nicolas Pitre
2011-03-31 20:05                                   ` Linus Torvalds
2011-03-31 20:28                                     ` Linus Torvalds
2011-03-31 22:49                                     ` Nicolas Pitre
2011-04-01  0:53                                       ` Mark Brown
2011-04-01  4:50                                       ` David Brown
2011-04-01  7:45                                         ` Ingo Molnar
2011-04-01 13:54                                           ` Arnd Bergmann
     [not found]                                             ` <4D95E112.4020400@vollmann.ch>
2011-04-01 14:59                                               ` Arnd Bergmann
     [not found]                                                 ` <4D95EF8E.9080902@vollmann.ch>
2011-04-01 15:50                                                   ` Arnd Bergmann
2011-04-01 17:44                                                     ` Russell King - ARM Linux
2011-04-01 19:54                                                     ` Nicolas Pitre
2011-04-01 21:00                                                       ` Uwe Kleine-König
2011-04-01 22:08                                                       ` Arnd Bergmann
2011-04-02  2:24                                                         ` Nicolas Pitre
2011-04-03 15:26                                                           ` Arnd Bergmann
2011-04-03 16:03                                                             ` Russell King - ARM Linux
2011-04-04  0:59                                                               ` Arnd Bergmann
2011-04-04  8:26                                                                 ` Marc Zyngier
2011-04-04 11:03                                                                 ` Catalin Marinas
2011-04-04 11:21                                                                   ` Russell King - ARM Linux
2011-04-04 13:24                                                                     ` Marc Zyngier
2011-04-04 13:31                                                                       ` Russell King - ARM Linux
2011-04-04 13:57                                                                         ` Marc Zyngier
2011-04-04 20:08                                                                           ` Linus Walleij
2011-04-05  6:40                                                                             ` Santosh Shilimkar
2011-04-05  7:45                                                                               ` Russell King - ARM Linux
2011-04-05 14:15                                                                                 ` Catalin Marinas
2011-04-05 22:16                                                                               ` Linus Walleij
2011-04-06  6:43                                                                                 ` Santosh Shilimkar
2011-04-05 22:22                                                                               ` Linus Walleij
2011-04-06  6:41                                                                                 ` Santosh Shilimkar
2011-04-05  7:30                                                                             ` Marc Zyngier
2011-05-26 13:38                                                               ` Pavel Machek
2011-04-02  2:59                                                       ` Mark Brown
2011-04-04  5:16                                                   ` Jean-Christophe PLAGNIOL-VILLARD
2011-04-04  9:27                                                   ` Nicolas Ferre
2011-04-01 21:10                                                 ` Kevin Hilman
2011-04-01 21:32                                                   ` Arnd Bergmann
2011-04-01 21:51                                                     ` Catalin Marinas
2011-04-03 22:18                                               ` Benjamin Herrenschmidt
2011-04-04  0:14                                                 ` Arnd Bergmann
2011-04-04  2:49                                                 ` Nicolas Pitre
2011-04-01 15:27                                             ` Will Deacon
2011-04-01 15:55                                               ` Arnd Bergmann
2011-04-01 16:39                                                 ` Linus Torvalds
2011-04-03 22:26                                                   ` Benjamin Herrenschmidt
2011-04-05 23:19                                                   ` Linus Walleij
2011-04-06  8:41                                                     ` Catalin Marinas
2011-04-07  1:44                                                       ` Arnd Bergmann
2011-04-01 20:19                                                 ` Nicolas Pitre
2011-04-02  4:38                                                   ` Richard Cochran
2011-04-02  3:27                                                 ` Mark Brown
2011-04-06  6:11                                             ` Barry Song
2011-04-06  7:31                                               ` Bryan Wu
2011-03-31 21:40                                   ` Thomas Gleixner
2011-03-31 17:56                             ` Nicolas Pitre
2011-03-31 18:34                               ` Thomas Gleixner
2011-03-31 19:02                               ` Linus Torvalds
2011-03-31  8:09                     ` Russell King - ARM Linux
2011-03-31 10:49                       ` Felipe Balbi
2011-03-31 18:00                       ` Alexander Holler
2011-03-31  5:45               ` Geert Uytterhoeven
2011-03-31  7:21                 ` Nicolas Pitre
2011-03-30 22:08           ` Tony Lindgren
2011-03-30 21:10         ` Thomas Gleixner
2011-03-30 21:54           ` Tony Lindgren
2011-03-30 22:25             ` Thomas Gleixner
2011-03-30 22:45               ` Tony Lindgren
2011-03-30 22:56                 ` Thomas Gleixner
2011-04-01  1:42                   ` Mark Brown
2011-03-30 22:38             ` Paul E. McKenney
2011-03-30 22:47               ` Tony Lindgren
2011-03-30 23:13                 ` Paul E. McKenney
2011-03-30 23:14                 ` Thomas Gleixner
2011-03-30 23:28                   ` Tony Lindgren
2011-03-31 11:00           ` Artem Bityutskiy
2011-03-31 13:54             ` Arnd Bergmann
2011-03-30 21:44         ` Tony Lindgren
2011-03-30 22:20           ` Linus Torvalds
2011-03-30 22:39             ` Tony Lindgren
2011-03-31  0:15         ` Russell King - ARM Linux
2011-03-31  0:55           ` Linus Torvalds
2011-03-31  1:15             ` Bill Gatliff
2011-03-31  1:37               ` Linus Torvalds
2011-03-31  1:44                 ` Bill Gatliff
2011-03-31  1:56                   ` Linus Torvalds
2011-03-31  2:20                     ` Bill Gatliff
2011-03-31  3:24                       ` Linus Torvalds
2011-03-31  6:42                         ` Olof Johansson
2011-03-31  6:56                         ` David Brown
2011-03-31 11:27                         ` Felipe Balbi
2011-03-31 13:39                 ` Thomas Gleixner
2011-03-31  4:09             ` Nicolas Pitre
2011-03-31 10:11               ` Thomas Gleixner
2011-03-30 21:07       ` Russell King - ARM Linux
2011-03-30 22:14         ` Tony Lindgren
2011-04-01  1:17           ` Mark Brown
2011-04-01 14:17         ` Arnd Bergmann
2011-03-18  3:02 ` Linus Torvalds
2011-03-18  7:09   ` Tony Lindgren
2011-03-18  8:06     ` Ohad Ben-Cohen
2011-03-18 23:43       ` 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=alpine.DEB.2.00.1103301728000.15330@asgard.lang.hm \
    --to=david@lang.hm \
    --cc=arnd@arndb.de \
    --cc=catalin.marinas@arm.com \
    --cc=davidb@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=nico@fluxnic.net \
    --cc=tony@atomide.com \
    --cc=torvalds@linux-foundation.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).