xref: /linux/drivers/base/Kconfig (revision 6ee738610f41b59733f63718f0bdbcba7d3a3f12)
1menu "Generic Driver Options"
2
3config UEVENT_HELPER_PATH
4	string "path to uevent helper"
5	depends on HOTPLUG
6	default "/sbin/hotplug"
7	help
8	  Path to uevent helper program forked by the kernel for
9	  every uevent.
10
11config DEVTMPFS
12	bool "Create a kernel maintained /dev tmpfs (EXPERIMENTAL)"
13	depends on HOTPLUG && SHMEM && TMPFS
14	help
15	  This creates a tmpfs filesystem, and mounts it at bootup
16	  and mounts it at /dev. The kernel driver core creates device
17	  nodes for all registered devices in that filesystem. All device
18	  nodes are owned by root and have the default mode of 0600.
19	  Userspace can add and delete the nodes as needed. This is
20	  intended to simplify bootup, and make it possible to delay
21	  the initial coldplug at bootup done by udev in userspace.
22	  It should also provide a simpler way for rescue systems
23	  to bring up a kernel with dynamic major/minor numbers.
24	  Meaningful symlinks, permissions and device ownership must
25	  still be handled by userspace.
26	  If unsure, say N here.
27
28config DEVTMPFS_MOUNT
29	bool "Automount devtmpfs at /dev"
30	depends on DEVTMPFS
31	help
32	  This will mount devtmpfs at /dev if the kernel mounts the root
33	  filesystem. It will not affect initramfs based mounting.
34	  If unsure, say N here.
35
36config STANDALONE
37	bool "Select only drivers that don't need compile-time external firmware" if EXPERIMENTAL
38	default y
39	help
40	  Select this option if you don't have magic firmware for drivers that
41	  need it.
42
43	  If unsure, say Y.
44
45config PREVENT_FIRMWARE_BUILD
46	bool "Prevent firmware from being built"
47	default y
48	help
49	  Say yes to avoid building firmware. Firmware is usually shipped
50	  with the driver, and only when updating the firmware a rebuild
51	  should be made.
52	  If unsure say Y here.
53
54config FW_LOADER
55	tristate "Userspace firmware loading support" if EMBEDDED
56	depends on HOTPLUG
57	default y
58	---help---
59	  This option is provided for the case where no in-kernel-tree modules
60	  require userspace firmware loading support, but a module built outside
61	  the kernel tree does.
62
63config FIRMWARE_IN_KERNEL
64	bool "Include in-kernel firmware blobs in kernel binary"
65	depends on FW_LOADER
66	default y
67	help
68	  The kernel source tree includes a number of firmware 'blobs'
69	  which are used by various drivers. The recommended way to
70	  use these is to run "make firmware_install" and to copy the
71	  resulting binary files created in usr/lib/firmware directory
72	  of the kernel tree to the /lib/firmware on your system so
73	  that they can be loaded by userspace helpers on request.
74
75	  Enabling this option will build each required firmware blob
76	  into the kernel directly, where request_firmware() will find
77	  them without having to call out to userspace. This may be
78	  useful if your root file system requires a device which uses
79	  such firmware, and do not wish to use an initrd.
80
81	  This single option controls the inclusion of firmware for
82	  every driver which uses request_firmware() and ships its
83	  firmware in the kernel source tree, to avoid a proliferation
84	  of 'Include firmware for xxx device' options.
85
86	  Say 'N' and let firmware be loaded from userspace.
87
88config EXTRA_FIRMWARE
89	string "External firmware blobs to build into the kernel binary"
90	depends on FW_LOADER
91	help
92	  This option allows firmware to be built into the kernel, for the
93	  cases where the user either cannot or doesn't want to provide it from
94	  userspace at runtime (for example, when the firmware in question is
95	  required for accessing the boot device, and the user doesn't want to
96	  use an initrd).
97
98	  This option is a string, and takes the (space-separated) names of the
99	  firmware files -- the same names which appear in MODULE_FIRMWARE()
100	  and request_firmware() in the source. These files should exist under
101	  the directory specified by the EXTRA_FIRMWARE_DIR option, which is
102	  by default the firmware/ subdirectory of the kernel source tree.
103
104	  So, for example, you might set CONFIG_EXTRA_FIRMWARE="usb8388.bin",
105	  copy the usb8388.bin file into the firmware/ directory, and build the
106	  kernel. Then any request_firmware("usb8388.bin") will be
107	  satisfied internally without needing to call out to userspace.
108
109	  WARNING: If you include additional firmware files into your binary
110	  kernel image which are not available under the terms of the GPL,
111	  then it may be a violation of the GPL to distribute the resulting
112	  image -- since it combines both GPL and non-GPL work. You should
113	  consult a lawyer of your own before distributing such an image.
114
115config EXTRA_FIRMWARE_DIR
116	string "Firmware blobs root directory"
117	depends on EXTRA_FIRMWARE != ""
118	default "firmware"
119	help
120	  This option controls the directory in which the kernel build system
121	  looks for the firmware files listed in the EXTRA_FIRMWARE option.
122	  The default is the firmware/ directory in the kernel source tree,
123	  but by changing this option you can point it elsewhere, such as
124	  the /lib/firmware/ directory or another separate directory
125	  containing firmware files.
126
127config DEBUG_DRIVER
128	bool "Driver Core verbose debug messages"
129	depends on DEBUG_KERNEL
130	help
131	  Say Y here if you want the Driver core to produce a bunch of
132	  debug messages to the system log. Select this if you are having a
133	  problem with the driver core and want to see more of what is
134	  going on.
135
136	  If you are unsure about this, say N here.
137
138config DEBUG_DEVRES
139	bool "Managed device resources verbose debug messages"
140	depends on DEBUG_KERNEL
141	help
142	  This option enables kernel parameter devres.log. If set to
143	  non-zero, devres debug messages are printed. Select this if
144	  you are having a problem with devres or want to debug
145	  resource management for a managed device. devres.log can be
146	  switched on and off from sysfs node.
147
148	  If you are unsure about this, Say N here.
149
150config SYS_HYPERVISOR
151	bool
152	default n
153
154endmenu
155