From: Linus Torvalds <torvalds@linux-foundation.org>
To: david@lang.hm
Cc: Willy Tarreau <w@1wt.eu>, David Miller <davem@davemloft.net>,
jeff@garzik.org, arjan@infradead.org, akpm@linux-foundation.org,
dwmw2@infradead.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 09:01:08 -0700 (PDT) [thread overview]
Message-ID: <alpine.LFD.1.10.0807150843580.3017@woody.linux-foundation.org> (raw)
In-Reply-To: <alpine.DEB.1.10.0807150759020.6370@asgard>
On Tue, 15 Jul 2008, david@lang.hm wrote:
>
> has a standard been defined for how to maintain different versions of firmware
> for different versions of drivers yet?
No. We haven't had that possibility, probably largely because we haven't
even really had the ability (Davem and Jeff talk about "choice" and how
request_firmware() supposedly removes it, but they ignore the fact that it
very much cuts the other way too - request_firmware() _adds_ choice and
makes it easier for people to try to upgrade firmware without upgrading
the kernel).
> that was one of the things that was identified in the last flamewar that was
> handwaved away but nothing was defined.
I don't think we can - or want to - define things until we've seen the
problems and advantages in practice over a longer time.
Do we want a versioning scheme? Probably not - exactly because people may
well want to update (or downgrade) firmware from vendors independently of
the kernel.
But maybe people will eventually want some kind of blacklisting scheme
where the driver can say things like "I know I won't work with versions
that match this checksum" and cause a nice big warning at load-time.
And I think we can all _imagine_ scenarios in all kinds of possible ways
for things to work better or fail spectaclarly, and even come up with
anecdotal evidence where scheme X (out of any number of random variations)
is the "only possible one to work". I'd argue that we simply don't have
any realistic way to decide which ones make sense.
For example, we can be in the situation where we have some case where
"only this particular firmware is known to work, and others are known to
break", and people can still take two totally different mental approaches
to the problem.
One approach is the "strict control one", where people argue that the
above problem means that we absolutely *must* have very strict versioning,
and we just always pair things up exactly.
But the other argument is that firmware is part of hardware, and the
driver should strive to work with different versions of vendor firmware,
the same way it should strive to work with different versions of chip
hardware.
Which one is right? Probably neither. Sometimes one, sometimes the other,
and in both cases it should probably not be black-and-white.
IOW, I suspect that in the long run we want to say
"Ok, there's no way we can support _all_ firmware versions, but on the
other hand, we also don't want to force particular versions and not let
people experiment.
So drivers should strive to be flexible, and driver writers should not
always just say 'there is only one "blessed" firmware', but on the
other hand we cannot require drivers to work around horrible known bugs
in firmware when a fixed firmware is available"
but the exact details will have to depend on particular drivers.
And we should obviously have _a_ version of the firmware available with
the kernel when that is possible. But I'd hate for it to be 1:1 with a
particular driver version - because at that point it smells of being a
single work, and if it is more than mere aggregation it's no longer viable
with most of our firmware (I don't think we have source for more than one
or two cases).
Linus
next prev parent reply other threads:[~2008-07-15 16:01 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
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 [this message]
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=alpine.LFD.1.10.0807150843580.3017@woody.linux-foundation.org \
--to=torvalds@linux-foundation.org \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=arjan@infradead.org \
--cc=davem@davemloft.net \
--cc=david@lang.hm \
--cc=dwmw2@infradead.org \
--cc=jeff@garzik.org \
--cc=linux-kernel@vger.kernel.org \
--cc=w@1wt.eu \
/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
Powered by JetHome