From: David Woodhouse <dwmw2@infradead.org>
To: Theodore Tso <tytso@mit.edu>
Cc: Jeff Garzik <jeff@garzik.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
david@lang.hm, Arjan van de Ven <arjan@infradead.org>,
Andrew Morton <akpm@linux-foundation.org>,
alan@lxorguk.ukuu.org.uk, linux-kernel@vger.kernel.org
Subject: Re: [GIT *] Allow request_firmware() to be satisfied from in-kernel, use it in more drivers.
Date: Tue, 15 Jul 2008 12:27:52 -0700 [thread overview]
Message-ID: <1216150072.27455.366.camel@shinybook.infradead.org> (raw)
In-Reply-To: <20080715185801.GH8185@mit.edu>
On Tue, 2008-07-15 at 14:58 -0400, Theodore Tso wrote:
> On Tue, Jul 15, 2008 at 02:44:46PM -0400, Jeff Garzik wrote:
> > All of the regressions examples I am citing are cured by
> > firmware-in-module, because they are all examples of problems that occur
> > when you remove the ability to reproduce the same functional pieces as
> > 2.6.26.
>
> Jeff,
>
> I think you've said this before, but let me try to help you
> cut to the chase. You are willing to *implement*
> firmware-in-the-module for request_firmware(), but you want a
> commitment that David Woodhouse and Linus will accept such a patch
> before you go off and write it. Is that right?
The more important question is whether _Linus_ will take it, and of
course I can't answer for him.
Personally I think it's pointless. But since it's only _mildly_
counterproductive, if you really want to do it then I wouldn't actively
oppose it unless it turns out to be a mess to implement, or unless it's
limited to working only with the in-tree firmware.
If you implement it cleanly and optionally (and defaulting off), and if
it works properly with out-of-tree firmware too (so I can build a
libertas usb8xxx.ko module with the firmware included, for example),
then I certainly wouldn't throw my toys out of the pram over it.
Ideally, it would work for out-of-tree drivers (make M=... modules) too.
I was thinking that we could maybe post-process .ko files (which we do
already for other reasons), and add a special section in them containing
the firmware which is mentioned in MODULE_FIRMWARE() tags. The special
section is how we do it for the kernel too. That would take a little bit
of code in module.c to keep track of those sections and add them to a
list somewhere that firmware_class.c can see them, and then you have to
think about lifetime and locking issues.
But those were just preliminary thoughts -- I wasn't really planning to
implement it so I didn't go through it in detail.
An alternative approach might be to turn firmware blobs into actual
modules, which just register themselves with the firmware loader in
module_init(). I'm not sure I like that approach though, and depmod
wouldn't 'notice' them automatically so it wouldn't work with current
userspace. I've tried to be very careful to ensure that anything we do
here is entirely compatible with existing userspace.
--
dwmw2
next prev parent reply other threads:[~2008-07-15 19:28 UTC|newest]
Thread overview: 227+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-14 23:23 David Woodhouse
2008-07-14 23:41 ` Andrew Morton
2008-07-14 23:47 ` David Woodhouse
2008-07-14 23:53 ` Yinghai Lu
2008-07-15 0:23 ` David Woodhouse
2008-07-15 0:31 ` Yinghai Lu
2008-07-15 0:50 ` David Woodhouse
2008-07-15 1:08 ` Yinghai Lu
2008-07-15 7:50 ` Ingo Molnar
2008-07-15 0:50 ` Yinghai Lu
2008-07-15 0:52 ` David Woodhouse
2008-07-15 0:53 ` Yinghai Lu
2008-07-15 1:13 ` David Woodhouse
2008-07-15 20:45 ` Rafael J. Wysocki
2008-07-15 20:49 ` David Woodhouse
2008-07-15 20:57 ` David Woodhouse
2008-07-15 23:45 ` Rafael J. Wysocki
2008-07-16 7:01 ` David Woodhouse
2008-07-16 21:28 ` Rafael J. Wysocki
2008-07-16 22:42 ` David Woodhouse
2008-07-17 20:42 ` Rafael J. Wysocki
2008-07-17 21:25 ` David Woodhouse
2008-07-17 22:25 ` Rafael J. Wysocki
2008-07-18 4:15 ` David Woodhouse
2008-07-14 23:59 ` Arjan van de Ven
2008-07-15 0:06 ` david
2008-07-15 0:33 ` Linus Torvalds
2008-07-15 0:51 ` david
2008-07-15 1:02 ` Linus Torvalds
2008-07-15 1:18 ` david
2008-07-15 2:08 ` Linus Torvalds
2008-07-15 2:47 ` david
2008-07-15 7:57 ` Jeff Garzik
2008-07-15 15:04 ` Linus Torvalds
2008-07-15 17:01 ` Jeff Garzik
2008-07-15 17:09 ` Linus Torvalds
2008-07-15 17:30 ` Jeff Garzik
2008-07-15 17:41 ` Linus Torvalds
2008-07-15 17:45 ` Linus Torvalds
2008-07-15 18:11 ` Jeff Garzik
2008-07-15 18:21 ` Linus Torvalds
2008-07-15 18:33 ` Jeff Garzik
2008-07-15 18:20 ` Jeff Garzik
2008-07-15 18:25 ` Linus Torvalds
2008-07-15 18:30 ` David Woodhouse
2008-07-15 20:00 ` Marcel Holtmann
2008-07-15 20:06 ` David Woodhouse
2008-07-15 20:30 ` Marcel Holtmann
2008-07-15 21:24 ` david
2008-07-15 18:44 ` Jeff Garzik
2008-07-15 18:53 ` Linus Torvalds
2008-07-15 19:09 ` Jeff Garzik
2008-07-15 19:18 ` Linus Torvalds
2008-07-15 18:58 ` Theodore Tso
2008-07-15 19:14 ` Jeff Garzik
2008-07-15 19:19 ` Linus Torvalds
2008-07-15 19:23 ` Linus Torvalds
2008-07-15 21:14 ` Jeff Garzik
2008-07-15 21:24 ` David Woodhouse
2008-07-15 21:47 ` David Miller
2008-07-15 22:42 ` David Woodhouse
2008-07-15 22:45 ` David Miller
2008-07-15 23:05 ` Jeff Garzik
2008-07-15 21:24 ` Linus Torvalds
2008-07-15 21:39 ` Jeff Garzik
2008-07-15 22:12 ` David Woodhouse
2008-07-15 22:46 ` Jeff Garzik
2008-07-16 0:55 ` Sven-Haegar Koch
2008-07-16 8:02 ` Gabor Gombas
2008-07-16 4:55 ` Rene Herman
2008-07-15 19:27 ` David Woodhouse [this message]
2008-07-15 1:52 ` David Miller
2008-07-15 2:23 ` Rene Herman
2008-07-15 2:24 ` David Miller
2008-07-15 2:32 ` Rene Herman
2008-07-15 2:39 ` Linus Torvalds
2008-07-15 2:45 ` David Miller
2008-07-15 4:56 ` Arjan van de Ven
2008-07-15 5:09 ` David Woodhouse
2008-07-15 5:45 ` david
2008-07-15 6:03 ` David Woodhouse
2008-07-15 6:23 ` Oliver Neukum
2008-07-15 14:40 ` David Woodhouse
2008-07-15 16:52 ` Oliver Neukum
2008-07-15 18:09 ` David Woodhouse
2008-07-15 5:32 ` Rene Herman
2008-07-15 3:06 ` Rene Herman
2008-07-15 23:33 ` Alexandre Oliva
2008-07-15 5:15 ` Benjamin Herrenschmidt
2008-07-15 5:30 ` David Woodhouse
2008-07-15 1:50 ` David Miller
2008-07-15 2:54 ` David Woodhouse
2008-07-15 5:34 ` david
2008-07-15 0:36 ` David Woodhouse
2008-07-15 0:40 ` Linus Torvalds
2008-07-15 0:44 ` David Woodhouse
2008-07-15 5:05 ` Benjamin Herrenschmidt
2008-07-15 2:12 ` Jeff Garzik
2008-07-15 2:17 ` David Miller
2008-07-15 2:23 ` David Woodhouse
2008-07-15 2:52 ` david
2008-07-15 4:45 ` Willy Tarreau
2008-07-15 1:54 ` Jeff Garzik
2008-07-15 2:13 ` Linus Torvalds
2008-07-15 2:19 ` David Miller
2008-07-15 2:22 ` Jeff Garzik
2008-07-15 2:33 ` Linus Torvalds
2008-07-15 2:40 ` David Miller
2008-07-15 2:51 ` Linus Torvalds
2008-07-15 3:05 ` Jeff Garzik
2008-07-15 4:58 ` Willy Tarreau
2008-07-15 14:55 ` Linus Torvalds
2008-07-15 15:09 ` david
2008-07-15 16:01 ` Linus Torvalds
2008-07-15 16:21 ` David Woodhouse
2008-07-15 17:56 ` david
2008-07-15 17:35 ` Willy Tarreau
2008-07-15 17:44 ` David Woodhouse
2008-07-15 3:15 ` Jeff Garzik
2008-07-15 3:29 ` Linus Torvalds
2008-07-15 5:06 ` Willy Tarreau
2008-07-15 5:32 ` David Woodhouse
2008-07-15 5:36 ` Willy Tarreau
2008-07-15 5:37 ` david
2008-07-16 0:10 ` Alexandre Oliva
2008-07-16 0:26 ` Linus Torvalds
2008-07-15 7:21 ` Jeff Garzik
2008-07-15 7:36 ` David Woodhouse
2008-07-15 8:07 ` Jeff Garzik
2008-07-15 15:10 ` Linus Torvalds
2008-07-15 16:53 ` Jeff Garzik
2008-07-15 17:16 ` Jeff Garzik
2008-07-15 17:25 ` Linus Torvalds
2008-07-15 17:54 ` Jeff Garzik
2008-07-15 8:14 ` Ingo Molnar
2008-07-15 8:24 ` Ingo Molnar
2008-07-15 12:42 ` Alan Cox
2008-07-17 21:31 ` David Miller
2008-07-15 2:48 ` David Woodhouse
2008-07-15 5:12 ` Willy Tarreau
2008-07-15 15:57 ` Frans Pop
2008-07-15 16:04 ` Arjan van de Ven
2008-07-15 16:24 ` Frans Pop
2008-07-15 16:36 ` Frans Pop
2008-07-15 17:33 ` Arjan van de Ven
2008-07-15 17:57 ` Frans Pop
2008-07-15 16:15 ` Linus Torvalds
2008-07-15 16:33 ` david
2008-07-15 16:41 ` Linus Torvalds
2008-07-15 17:25 ` Frans Pop
2008-07-15 17:36 ` David Woodhouse
2008-07-15 19:22 ` Marcel Holtmann
2008-07-15 16:35 ` Linus Torvalds
2008-07-15 16:48 ` Frans Pop
2008-07-15 17:07 ` Linus Torvalds
2008-07-15 19:26 ` Marcel Holtmann
2008-07-15 16:37 ` Frans Pop
2008-07-15 18:05 ` Henrique de Moraes Holschuh
2008-07-15 18:14 ` Jeff Garzik
2008-07-15 18:24 ` Linus Torvalds
2008-07-15 18:37 ` Chris Friesen
2008-07-15 18:55 ` Jeff Garzik
2008-07-15 19:02 ` Linus Torvalds
2008-07-15 19:41 ` david
2008-07-15 19:59 ` Jeff Garzik
2008-07-15 20:15 ` Linus Torvalds
2008-07-15 20:55 ` Jeff Garzik
2008-07-15 23:02 ` Dave Jones
2008-07-15 23:46 ` Jeff Garzik
2008-07-16 0:00 ` Dave Jones
2008-07-16 0:10 ` Chris Adams
2008-07-16 6:04 ` Jeff Garzik
2008-07-15 19:07 ` David Woodhouse
2008-07-15 19:29 ` Peter T. Breuer
2008-07-15 18:20 ` David Woodhouse
2008-07-15 19:13 ` Frans Pop
2008-07-15 19:39 ` Marcel Holtmann
2008-07-15 19:20 ` Marcel Holtmann
2008-07-15 19:27 ` Linus Torvalds
2008-07-15 19:31 ` Marcel Holtmann
2008-07-15 19:38 ` Linus Torvalds
2008-07-15 19:44 ` Marcel Holtmann
2008-07-15 22:19 ` Adrian Bunk
2008-07-15 19:32 ` Linus Torvalds
2008-07-15 19:36 ` David Woodhouse
2008-07-15 19:49 ` Linus Torvalds
2008-07-15 19:54 ` Marcel Holtmann
2008-07-15 20:07 ` Linus Torvalds
2008-07-15 20:21 ` Marcel Holtmann
2008-07-15 20:30 ` Linus Torvalds
2008-07-15 20:33 ` Jeff Garzik
2008-07-15 21:17 ` Jeff Garzik
2008-07-15 20:26 ` Jeff Garzik
2008-07-15 20:47 ` Willy Tarreau
2008-07-15 21:24 ` Jeff Garzik
2008-07-16 22:05 ` Diego Calleja
2008-07-15 21:27 ` david
2008-07-15 21:40 ` Jeff Garzik
2008-07-15 21:43 ` Linus Torvalds
2008-07-15 22:20 ` Frans Pop
2008-07-15 22:24 ` david
2008-07-15 22:26 ` David Woodhouse
2008-07-15 22:50 ` david
2008-07-15 23:42 ` Linus Torvalds
2008-07-16 0:22 ` Frans Pop
2008-07-16 0:28 ` Linus Torvalds
2008-07-16 0:43 ` Jeff Garzik
2008-07-16 1:11 ` Prosaic firmware issues Alexey Dobriyan
2008-07-16 1:45 ` Linus Torvalds
2008-07-16 5:54 ` David Woodhouse
2008-07-16 14:19 ` Alexey Dobriyan
2008-07-16 4:42 ` [GIT *] Allow request_firmware() to be satisfied from in-kernel, use it in more drivers Willy Tarreau
2008-09-12 20:59 ` Jeff Garzik
2008-09-12 21:43 ` Willy Tarreau
2008-07-16 0:51 ` Theodore Tso
2008-07-16 1:36 ` Dave Jones
2008-07-16 2:39 ` Theodore Tso
2008-07-16 3:07 ` Jeff Garzik
2008-07-16 9:09 ` Peter Zijlstra
2008-07-15 19:57 ` David Woodhouse
2008-07-15 20:10 ` Marcel Holtmann
2008-07-15 20:17 ` Linus Torvalds
2008-07-15 20:25 ` Marcel Holtmann
2008-07-15 23:04 ` Dave Jones
2008-07-15 1:44 ` David Miller
2008-07-15 9:57 ` Marcel Holtmann
2008-07-15 1:45 ` Jeff Garzik
[not found] <aPHZW-47Y-17@gated-at.bofh.it>
[not found] ` <aPIje-4ST-15@gated-at.bofh.it>
[not found] ` <aPV6W-3jN-41@gated-at.bofh.it>
[not found] ` <aPX8A-7qb-21@gated-at.bofh.it>
[not found] ` <aPXii-7G3-25@gated-at.bofh.it>
[not found] ` <aPXs2-7Vn-25@gated-at.bofh.it>
[not found] ` <aPXUQ-aU-1@gated-at.bofh.it>
[not found] ` <aPY4D-G7-23@gated-at.bofh.it>
[not found] ` <aPZ0H-2ls-21@gated-at.bofh.it>
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=1216150072.27455.366.camel@shinybook.infradead.org \
--to=dwmw2@infradead.org \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=arjan@infradead.org \
--cc=david@lang.hm \
--cc=jeff@garzik.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
/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®