firmware: revamp firmware documentation
Understanding this code is getting out of control without any notes. Give the firmware_class driver a much needed documentation love, and while at it convert it to the new sphinx documentation format. v2: typos and small fixes Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

부모
880444e214
커밋
113ccc3837
38
Documentation/driver-api/firmware/built-in-fw.rst
Normal file
38
Documentation/driver-api/firmware/built-in-fw.rst
Normal file
@@ -0,0 +1,38 @@
|
||||
=================
|
||||
Built-in firmware
|
||||
=================
|
||||
|
||||
Firmware can be built-in to the kernel, this means building the firmware
|
||||
into vmlinux directly, to enable avoiding having to look for firmware from
|
||||
the filesystem. Instead, firmware can be looked for inside the kernel
|
||||
directly. You can enable built-in firmware using the kernel configuration
|
||||
options:
|
||||
|
||||
* CONFIG_EXTRA_FIRMWARE
|
||||
* CONFIG_EXTRA_FIRMWARE_DIR
|
||||
|
||||
This should not be confused with CONFIG_FIRMWARE_IN_KERNEL, this is for drivers
|
||||
which enables firmware to be built as part of the kernel build process. This
|
||||
option, CONFIG_FIRMWARE_IN_KERNEL, will build all firmware for all drivers
|
||||
enabled which ship its firmware inside the Linux kernel source tree.
|
||||
|
||||
There are a few reasons why you might want to consider building your firmware
|
||||
into the kernel with CONFIG_EXTRA_FIRMWARE though:
|
||||
|
||||
* Speed
|
||||
* Firmware is needed for accessing the boot device, and the user doesn't
|
||||
want to stuff the firmware into the boot initramfs.
|
||||
|
||||
Even if you have these needs there are a few reasons why you may not be
|
||||
able to make use of built-in firmware:
|
||||
|
||||
* Legalese - firmware is non-GPL compatible
|
||||
* Some firmware may be optional
|
||||
* Firmware upgrades are possible, therefore a new firmware would implicate
|
||||
a complete kernel rebuild.
|
||||
* Some firmware files may be really large in size. The remote-proc subsystem
|
||||
is an example subsystem which deals with these sorts of firmware
|
||||
* The firmware may need to be scraped out from some device specific location
|
||||
dynamically, an example is calibration data for for some WiFi chipsets. This
|
||||
calibration data can be unique per sold device.
|
||||
|
Reference in New Issue
Block a user