aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/base/Kconfig')
-rw-r--r--drivers/base/Kconfig64
1 files changed, 64 insertions, 0 deletions
diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
index d7da109c24fd..d47482fa1d21 100644
--- a/drivers/base/Kconfig
+++ b/drivers/base/Kconfig
@@ -34,6 +34,70 @@ config FW_LOADER
34 require userspace firmware loading support, but a module built outside 34 require userspace firmware loading support, but a module built outside
35 the kernel tree does. 35 the kernel tree does.
36 36
37config FIRMWARE_IN_KERNEL
38 bool "Include in-kernel firmware blobs in kernel binary"
39 depends on FW_LOADER
40 default y
41 help
42 The kernel source tree includes a number of firmware 'blobs'
43 which are used by various drivers. The recommended way to
44 use these is to run "make firmware_install" and to copy the
45 resulting binary files created in usr/lib/firmware directory
46 of the kernel tree to the /lib/firmware on your system so
47 that they can be loaded by userspace helpers on request.
48
49 Enabling this option will build each required firmware blob
50 into the kernel directly, where request_firmware() will find
51 them without having to call out to userspace. This may be
52 useful if your root file system requires a device which uses
53 such firmware, and do not wish to use an initrd.
54
55 This single option controls the inclusion of firmware for
56 every driver which usees request_firmare() and ships its
57 firmware in the kernel source tree, to avoid a proliferation
58 of 'Include firmware for xxx device' options.
59
60 Say 'N' and let firmware be loaded from userspace.
61
62config EXTRA_FIRMWARE
63 string "External firmware blobs to build into the kernel binary"
64 depends on FW_LOADER
65 help
66 This option allows firmware to be built into the kernel, for the
67 cases where the user either cannot or doesn't want to provide it from
68 userspace at runtime (for example, when the firmware in question is
69 required for accessing the boot device, and the user doesn't want to
70 use an initrd).
71
72 This option is a string, and takes the (space-separated) names of the
73 firmware files -- the same names which appear in MODULE_FIRMWARE()
74 and request_firmware() in the source. These files should exist under
75 the directory specified by the EXTRA_FIRMWARE_DIR option, which is
76 by default the firmware/ subdirectory of the kernel source tree.
77
78 So, for example, you might set CONFIG_EXTRA_FIRMWARE="usb8388.bin",
79 copy the usb8388.bin file into the firmware/ directory, and build the
80 kernel. Then any request_firmware("usb8388.bin") will be
81 satisfied internally without needing to call out to userspace.
82
83 WARNING: If you include additional firmware files into your binary
84 kernel image which are not available under the terms of the GPL,
85 then it may be a violation of the GPL to distribute the resulting
86 image -- since it combines both GPL and non-GPL work. You should
87 consult a lawyer of your own before distributing such an image.
88
89config EXTRA_FIRMWARE_DIR
90 string "Firmware blobs root directory"
91 depends on EXTRA_FIRMWARE != ""
92 default "firmware"
93 help
94 This option controls the directory in which the kernel build system
95 looks for the firmware files listed in the EXTRA_FIRMWARE option.
96 The default is the firmware/ directory in the kernel source tree,
97 but by changing this option you can point it elsewhere, such as
98 the /lib/firmware/ directory or another separate directory
99 containing firmware files.
100
37config DEBUG_DRIVER 101config DEBUG_DRIVER
38 bool "Driver Core verbose debug messages" 102 bool "Driver Core verbose debug messages"
39 depends on DEBUG_KERNEL 103 depends on DEBUG_KERNEL