mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Duncan Sands <duncan.sands@math.u-psud.fr>
To: "Jon Masters" <jonathan@jonmasters.org>
Cc: "Linux Kernel" <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] binary firmware and modules
Date: Tue, 18 Apr 2006 15:37:46 +0200	[thread overview]
Message-ID: <200604181537.47183.duncan.sands@math.u-psud.fr> (raw)
In-Reply-To: <35fb2e590604180616r33a05380p65c0e1c26ae276de@mail.gmail.com>

On Tuesday 18 April 2006 15:16, Jon Masters wrote:
> On 4/15/06, Jon Masters <jcm@redhat.com> wrote:
> 
> > The attached patch introduces MODULE_FIRMWARE as one way of advertising
> > that a particular firmware file is to be loaded - it will then show up
> > via modinfo and could be used e.g. when packaging a kernel. I've also
> > given an example via the QLogic gla2xxx driver.
> 
> Ok. If nobody shouts today I'm going to suggest this go into 2.6.17. I
> think more ellaborate schemes will come up later, but we also need
> something usable out there now.
> 
> As others have pointed out, cunning schemes to hack how
> request_firmware et al work are all very well and good, but often we
> just don't know what firmware we'll need until runtime. Unless or
> until there's a good way to address that, I think modules will need to
> advertise every firmware and distros will have to package all possible
> firmwares, just in case.

Hi Jon, this approach seems mistaken to me.  If I understand it right, 
your mental model is that the driver has a list of file names for firmware
files, and calls user-space with the right file-name for the device in
question.  Given that model, having drivers tell the world about their
firmware file list is reasonable; but I think the model is a bad one.
Much better would be to have drivers work at a higher level of abstraction,
and have user-space map the driver's abstract firmware request to a
particular firmware file.  The kernel should say: I am the x driver,
I want firmware for the y device, my version is v, the device version
is r, etc etc.  Userspace should work out that the appropriate file
is ql2322_fw.bin and upload it.  This is similar to the way the kernel
handles other requests for services, such as loading modules (the kernel
can ask for a particular module, but it can also ask for a module which
provides a certain functionality).  Of course this requires making udev
firmware handling more intelligent.

I gave the example of the speedtouch driver to show how complicated
things can be.  I didn't mean to suggest that the scheme it uses is
a good one - it is a bad one, in that the real solution is to make
userspace smarter.  In any case, I don't see how your suggested patch
could reasonably work with the speedtouch driver - after all, the
driver doesn't have a list of possible firmware files, and can't
have one because no-one knows exactly which files exist or may be
needed; and even if I had a decent list, I think it would be a mistake
to hardwire it into the kernel.

Ciao,

D.

  reply	other threads:[~2006-04-18 13:43 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-15  8:10 Jon Masters
2006-04-15  9:54 ` Oliver Neukum
2006-04-17 14:22   ` John W. Linville
2006-04-17 14:29     ` Arjan van de Ven
2006-04-17 14:38       ` Marcel Holtmann
2006-04-17 15:15       ` Duncan Sands
2006-04-17 16:10         ` Marcel Holtmann
2006-04-18 13:16 ` Jon Masters
2006-04-18 13:37   ` Duncan Sands [this message]
2006-04-18 14:14     ` Jon Masters
2006-04-18 15:14       ` Duncan Sands
2006-04-19  0:01         ` Jon Masters
2006-04-18 14:22     ` Marcel Holtmann
2006-04-18 14:59       ` Duncan Sands
2006-04-18 15:41         ` Marcel Holtmann
2006-04-19 13:28           ` Mark Lord
2006-04-19 13:37             ` Marcel Holtmann
2006-04-19 14:10               ` Jon Masters
2006-04-18 14:25   ` Marcel Holtmann

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=200604181537.47183.duncan.sands@math.u-psud.fr \
    --to=duncan.sands@math.u-psud.fr \
    --cc=jonathan@jonmasters.org \
    --cc=linux-kernel@vger.kernel.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

all inboxes | Powered by JetHome®