From: Jeff Garzik <jeff@garzik.org>
To: David Woodhouse <dwmw2@infradead.org>
Cc: torvalds@linux-foundation.org, akpm@linux-foundation.org,
alan@lxorguk.ukuu.org.uk, linux-kernel@vger.kernel.org,
David Miller <davem@davemloft.net>
Subject: Re: [GIT *] Allow request_firmware() to be satisfied from in-kernel, use it in more drivers.
Date: Mon, 14 Jul 2008 21:45:43 -0400 [thread overview]
Message-ID: <487C0147.5070808@garzik.org> (raw)
In-Reply-To: <1216077806.27455.85.camel@shinybook.infradead.org>
David Woodhouse wrote:
> Linus, please pull from the for-2.6.27 branch of:
> git://git.infradead.org/users/dwmw2/firmware-2.6.git for-2.6.27
>
> This does the following (not quite in this order):
>
> - Provides a method for firmware files to be built into the kernel, so
> that drivers can be updated to use request_firmware() without forcing
> people to use an initrd.
>
> - In doing that, mark fw->data as 'const', and fix a few drivers to cope.
>
> - Update a bunch of drivers to use request_firmware(), and move their
> existing firmware, previously hardcoded in all kinds of interesting
> ways, into the firmware/ directory of the kernel tree.
>
> - Add a FIRMWARE_IN_KERNEL config option which allows the firmware for
> the above (and below) drivers to continue to be built into the kernel.
>
> - Add a simple method for representing Intel HEX records in binary form,
> since a bunch of drivers need that kind of thing. And a tool to
> convert HEX files into that binary form, for the kernel to load.
>
> - Drop special cases from a few drivers which could either use
> request_firmware() or build their firmware in; they don't need to
> do that for themselves any more.
>
> - Implement 'make firmware_install' target, which installs all firmware
> shipped with the kernel.
>
> - Modify 'make modules_install' to install any firmware required by the
> modules it installs (where that firmware is shipped in the kernel tree).
>
> There are more drivers to be converted to request_firmware() -- notably
> drivers/net and drivers/scsi, but it's probably best to ensure that the
> infrastructure is all in place and working correctly before we update
> those. (Although since modern drivers have been using request_firmware()
> for some time, I don't think there's likely to be a problem there; we'll
> probably clean up the stragglers in time for 2.6.28.)
>
> David Howells (5):
> Fix a const pointer usage warning in the Digigram VX soundcard driver
> Fix a const assignment in moxa_load_fw()
> Fix a const pointer error in the Conexant cx23418 MPEG encoder driver
> Fix a const pointer usage warning in the Digigram pcxhr soundcard driver
> Fix a const pointer usage warning in the Digigram miXart soundcard driver
>
> Full shortlog and diffstat below, although the really interesting part
> is probably between commits fd4f80de..59890f74 -- seen at
> http://git.infradead.org/users/dwmw2/firmware-2.6.git?a=shortlog;h=59890f74
After the long threads, you would think you would have at least
mentioned controversy attached to these changes?
Or perhaps mention that you are specifically excluding the ability to
build firmware into modules -- the most reliable method available for
those who use modules, MORE reliable than a system where firmware and
kernel module are separated.
Or some of the objections raised, that were not met?
Or even _acknowledge_ that these changes have a high probability of
creating a non-working driver, and therefore advising distros with Big
Fat Warnings and Be Carefuls sprinkled liberally?
Or perhaps describe the outside-the-kernel migration path for distros?
Isn't it silly to create firmware/ top-level dir, when the firmware more
naturally lives in the same dir as the driver to which it is intimately
tied? We'll just have to start creating firmware/net firmware/char
firmware/media etc. after a while.
What about keeping binary objects as binary objects? Surely git can
handle binary file. And you are already converting each firmware's data
from format A to format B. Might as well convert it to unpacked,
un-ASCII'd format that will be loaded directly, as that can be easier in
some cases.
I think it's just downright shady to push this crap without mentioning
any of the swirl of issues surrounding this, that are quite relevant to
its inclusion.
It should be obvious that building firmware into a kernel module (or the
kernel itself, if you don't use modules) is _the_ most reliable method
of ensuring your driver will work [if it requires firmware].
Jeff
prev parent reply other threads:[~2008-07-15 1:46 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
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 [this message]
[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=487C0147.5070808@garzik.org \
--to=jeff@garzik.org \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=davem@davemloft.net \
--cc=dwmw2@infradead.org \
--cc=linux-kernel@vger.kernel.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