Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1213317

Re: Problems loading firmware using built-in drivers with kernels that use initramfs.

From Linus Torvalds <torvalds@linux-foundation.org>
Newsgroups linux.kernel
Subject Re: Problems loading firmware using built-in drivers with kernels that use initramfs.
Date 2015-08-25 22:30 +0200
Message-ID <q1t10-vU-29@gated-at.bofh.it> (permalink)
References (1 earlier) <q1seC-7G4-7@gated-at.bofh.it> <q1seC-7G4-9@gated-at.bofh.it> <q1seC-7G4-3@gated-at.bofh.it> <q1soh-7Tn-7@gated-at.bofh.it> <q1sxZ-870-23@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Tue, Aug 25, 2015 at 12:58 PM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
>
> Either build firmware in the kernel or ramdisk (so it is always
> available), or make sure request_firmware() calls are not in driver's
> probe() paths.

The correct answer is almost always that second one.

Drivers that load firmware in their probe parts are generally doign
things wrong.

It's very occasionally the right thing to do - there are a few pieces
of hardware where just about _everything_ about the device is in the
firmware, and you simply can't even problem them before that, because
you don't know what they *are* before the firmware has been loaded.
The extreme case of that might be something like the base hardware
being an FPGA that has a USB interface, but before the FPGA has been
loaded, it basically has no identity. So there are probably valid
cases in theory for loading firmware at probe time, but pretty much
every single case I've ever actually seen, the probe knows what the
actual hardware is from some identifiable piece, and the actual
firmware loading should be delayed until the piece of hardware is
actually opened.

So the "load firmware in probe routine" happens, and we shouldn't
disallow it, but it should be considered a "last resort" kind of
thing.

In general, things like sound drivers should *not* need to have their
firmware in the initrd, even if you build them into the kernel. A disk
driver? Yes. Maybe the root filesystem is on that disk, and you need
the firmware for the disk driver to load it. But a sound device?
Please just make sure that you load the firmware as late as possible.

                        Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. "Luis R. Rodriguez" <mcgrof@suse.com> - 2015-08-25 21:40 +0200
  Re: Problems loading firmware using built-in drivers with kernels that use initramfs. Takashi Iwai <tiwai@suse.de> - 2015-08-25 21:50 +0200
    Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2015-08-25 22:00 +0200
      Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Linus Torvalds <torvalds@linux-foundation.org> - 2015-08-25 22:30 +0200
        Re: Problems loading firmware using built-in drivers with kernels that use initramfs. yalin wang <yalin.wang2010@gmail.com> - 2015-08-26 07:40 +0200
      RE: Problems loading firmware using built-in drivers with kernels  that use initramfs. "Jie, Yang" <yang.jie@intel.com> - 2015-08-26 07:20 +0200
        Re: Problems loading firmware using built-in drivers with kernels that use initramfs. Takashi Iwai <tiwai@suse.de> - 2015-08-26 07:40 +0200
          RE: Problems loading firmware using built-in drivers with kernels  that use initramfs. "Jie, Yang" <yang.jie@intel.com> - 2015-08-26 08:20 +0200
            Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Liam Girdwood <liam.r.girdwood@linux.intel.com> - 2015-08-26 10:10 +0200
              RE: Problems loading firmware using built-in drivers with kernels  that use initramfs. "Jie, Yang" <yang.jie@intel.com> - 2015-08-26 10:40 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Liam Girdwood <liam.r.girdwood@linux.intel.com> - 2015-08-26 11:10 +0200
                RE: Problems loading firmware using built-in drivers with kernels  that use initramfs. "Lin, Mengdong" <mengdong.lin@intel.com> - 2015-08-27 04:00 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Liam Girdwood <liam.r.girdwood@linux.intel.com> - 2015-08-27 09:10 +0200
              Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Linus Torvalds <torvalds@linux-foundation.org> - 2015-08-26 20:10 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Ming Lei <ming.lei@canonical.com> - 2015-08-27 03:00 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. "Luis R. Rodriguez" <mcgrof@suse.com> - 2015-08-29 03:20 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Ming Lei <ming.lei@canonical.com> - 2015-08-29 06:10 +0200
                Re: Problems loading firmware using built-in drivers with kernels that use initramfs. Takashi Iwai <tiwai@suse.de> - 2015-08-29 09:20 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Arend van Spriel <arend@broadcom.com> - 2015-08-29 11:00 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Ming Lei <ming.lei@canonical.com> - 2015-08-29 12:40 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Arend van Spriel <arend@broadcom.com> - 2015-08-30 10:30 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Linus Torvalds <torvalds@linux-foundation.org> - 2015-08-30 20:20 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Ming Lei <ming.lei@canonical.com> - 2015-08-31 16:30 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. "Luis R. Rodriguez" <mcgrof@suse.com> - 2015-09-02 03:20 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Arend van Spriel <arend@broadcom.com> - 2015-09-02 14:20 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Arend van Spriel <arend@broadcom.com> - 2015-09-02 14:20 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. "Luis R. Rodriguez" <mcgrof@suse.com> - 2015-09-02 21:00 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Arend van Spriel <arend@broadcom.com> - 2015-09-02 23:10 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2015-09-03 01:20 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. "Luis R. Rodriguez" <mcgrof@suse.com> - 2015-09-03 01:30 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2015-09-03 01:30 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. "Luis R. Rodriguez" <mcgrof@suse.com> - 2015-09-03 01:50 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Arend van Spriel <arend@broadcom.com> - 2015-09-03 19:30 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2015-09-03 19:40 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2015-09-02 22:50 +0200
                Re: Problems loading firmware using built-in drivers with kernels  that use initramfs. "Luis R. Rodriguez" <mcgrof@suse.com> - 2015-09-02 02:40 +0200

csiph-web