Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev
[safe/jmp/linux-2.6] / drivers / base / Kconfig
1 menu "Generic Driver Options"
2
3 config 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
11 config 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
28 config 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
36 config 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
45 config 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
54 config 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
63 config 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
88 config 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
115 config 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
127 config 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
138 config 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
150 config SYS_HYPERVISOR
151         bool
152         default n
153
154 endmenu