diff options
Diffstat (limited to 'drivers/base/Kconfig')
-rw-r--r-- | drivers/base/Kconfig | 64 |
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 | ||
37 | config 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 | |||
62 | config 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 | |||
89 | config 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 | |||
37 | config DEBUG_DRIVER | 101 | config 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 |