From: Jeff Garzik <jeff@garzik.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Marcel Holtmann <marcel@holtmann.org>,
David Woodhouse <dwmw2@infradead.org>,
Frans Pop <elendil@planet.nl>,
arjan@infradead.org, 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 16:26:41 -0400 [thread overview]
Message-ID: <487D0801.4000206@garzik.org> (raw)
In-Reply-To: <alpine.LFD.1.10.0807151301130.2867@woody.linux-foundation.org>
Linus Torvalds wrote:
>
> On Tue, 15 Jul 2008, Marcel Holtmann wrote:
>> you don't have to. We extend udev once and then it will always work.
>
> Umm. The thing is, people running new kernels with old user land is not
> just supposed to work, it's _really_ supposed to work.
>
> It's what I do. Something that breaks that has to have damn good reasons
> to break it.
>
> So I do not disagree with Jeff on that point _at_all_. I'm in violent
> agreement with Jeff on the fact that we should not require system updates
> for the kernel to do the right thing.
>
> The thing I disagree with Jeff on is that he then seems to turn that into
> something very negative ("let's not separate the firmware at all").
How many times do I have to say you misunderstand?
I'm happy with separating the firmware at the source code level. I
never objected to that.
All I want is the _option_ to compile firmware into a module. We are
talking about compiled output, here.
That _option_ has the desireable properties of
* working on older userland, even with DavidW's tg3 and scsi patches
* retaining an option several kernel hackers and users find useful
* permitting use of 2.6.27 without _immediately_ having to fix stuff
> And I'd much rather just fix it. And that means that if people can point
> to udevd's that get confused - or lack of udevd's entirely - both of which
> sound very likely to me, then we should have a graceful fallback position.
>
> And just supporting the notion of loading the firmware directly sounds
> like an obvious such case. It may not be the _only_ solution, for example,
> which is why I'd actually like to see people point to the _actual_
> reported problems.
>
> IOW, the problems shouldn't a "don't do this" thing. They should be a "ok,
> that problem happened, we can solve it by doing X".
Stop using strawmen, please.
I never said "don't do that". Ever.
I said "when you do that, don't remove ability to compile firmware into
the driver."
And as has been stated repeatedly, the compiling firmware into the
driver clearly DOES NOT exclude the more flexible, load-from-userland
request_firmware() model.
To be extremely concrete, firmware-in-module is
* add Kconfig option (kernel-wide or per-driver, dunno) asking
"build firmware into drivers, as before?"
* tweak build process to build firmware into foo.ko output,
probably in a specially marked ELF section
* get request_firmware() to automatically notice that the
MODULE_FIRMWARE() was built into this driver, and to
look at the special ELF section for its data
See? That is not a "don't do that." That has never been "don't do that."
That is the one major request here, one that enables us to avoid all
those potential breakages I've been listing, and the many more breakages
of which I'm unaware. It enables use of older userlands.
And yes, it enables "weirdos" like me to continue building the firmware
into the driver, because it has a proven track record of high
reliability and simplicity.
All without stomping on the flexibility of request_firmware().
Jeff
next prev parent reply other threads:[~2008-07-15 20:27 UTC|newest]
Thread overview: 227+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-14 23:23 [GIT *] Allow request_firmware() to be satisfied from in-kernel, use it in more drivers 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
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 [this message]
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=487D0801.4000206@garzik.org \
--to=jeff@garzik.org \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=arjan@infradead.org \
--cc=dwmw2@infradead.org \
--cc=elendil@planet.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=marcel@holtmann.org \
--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