1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 21da177e4SLinus Torvaldsmenu "Generic Driver Options" 31da177e4SLinus Torvalds 47de3697eSDave Ertmanconfig AUXILIARY_BUS 57de3697eSDave Ertman bool 67de3697eSDave Ertman 786d56134SMichael Marineauconfig UEVENT_HELPER 886d56134SMichael Marineau bool "Support for uevent helper" 96a8d8abbSKay Sievers help 1086d56134SMichael Marineau The uevent helper program is forked by the kernel for 116a8d8abbSKay Sievers every uevent. 127934779aSKay Sievers Before the switch to the netlink-based uevent source, this was 137934779aSKay Sievers used to hook hotplug scripts into kernel device events. It 147934779aSKay Sievers usually pointed to a shell script at /sbin/hotplug. 157934779aSKay Sievers This should not be used today, because usual systems create 167934779aSKay Sievers many events at bootup or device discovery in a very short time 177934779aSKay Sievers frame. One forked process per event can create so many processes 187934779aSKay Sievers that it creates a high system load, or on smaller systems 197934779aSKay Sievers it is known to create out-of-memory situations during bootup. 206a8d8abbSKay Sievers 2186d56134SMichael Marineauconfig UEVENT_HELPER_PATH 2286d56134SMichael Marineau string "path to uevent helper" 2386d56134SMichael Marineau depends on UEVENT_HELPER 2486d56134SMichael Marineau default "" 2586d56134SMichael Marineau help 2686d56134SMichael Marineau To disable user space helper program execution at by default 2786d56134SMichael Marineau specify an empty string here. This setting can still be altered 28573c9774SMárton Németh via /proc/sys/kernel/hotplug or via /sys/kernel/uevent_helper 29573c9774SMárton Németh later at runtime. 30573c9774SMárton Németh 312b2af54aSKay Sieversconfig DEVTMPFS 324237e5fdSKay Sievers bool "Maintain a devtmpfs filesystem to mount at /dev" 332b2af54aSKay Sievers help 34da5e4ef7SPeter Korsgaard This creates a tmpfs/ramfs filesystem instance early at bootup. 354237e5fdSKay Sievers In this filesystem, the kernel driver core maintains device 364237e5fdSKay Sievers nodes with their default names and permissions for all 374237e5fdSKay Sievers registered devices with an assigned major/minor number. 384237e5fdSKay Sievers Userspace can modify the filesystem content as needed, add 394237e5fdSKay Sievers symlinks, and apply needed permissions. 404237e5fdSKay Sievers It provides a fully functional /dev directory, where usually 414237e5fdSKay Sievers udev runs on top, managing permissions and adding meaningful 424237e5fdSKay Sievers symlinks. 434237e5fdSKay Sievers In very limited environments, it may provide a sufficient 444237e5fdSKay Sievers functional /dev without any further help. It also allows simple 454237e5fdSKay Sievers rescue systems, and reliably handles dynamic major/minor numbers. 462b2af54aSKay Sievers 47da5e4ef7SPeter Korsgaard Notice: if CONFIG_TMPFS isn't enabled, the simpler ramfs 48da5e4ef7SPeter Korsgaard file system will be used instead. 49da5e4ef7SPeter Korsgaard 502b2af54aSKay Sieversconfig DEVTMPFS_MOUNT 514237e5fdSKay Sievers bool "Automount devtmpfs at /dev, after the kernel mounted the rootfs" 522b2af54aSKay Sievers depends on DEVTMPFS 532b2af54aSKay Sievers help 544237e5fdSKay Sievers This will instruct the kernel to automatically mount the 554237e5fdSKay Sievers devtmpfs filesystem at /dev, directly after the kernel has 564237e5fdSKay Sievers mounted the root filesystem. The behavior can be overridden 574237e5fdSKay Sievers with the commandline parameter: devtmpfs.mount=0|1. 584237e5fdSKay Sievers This option does not affect initramfs based booting, here 594237e5fdSKay Sievers the devtmpfs filesystem always needs to be mounted manually 600feb03afSEmilio López after the rootfs is mounted. 614237e5fdSKay Sievers With this option enabled, it allows to bring up a system in 624237e5fdSKay Sievers rescue mode with init=/bin/sh, even when the /dev directory 634237e5fdSKay Sievers on the rootfs is completely empty. 642b2af54aSKay Sievers 6528f0c335SKees Cookconfig DEVTMPFS_SAFE 6628f0c335SKees Cook bool "Use nosuid,noexec mount options on devtmpfs" 6728f0c335SKees Cook depends on DEVTMPFS 6828f0c335SKees Cook help 6928f0c335SKees Cook This instructs the kernel to include the MS_NOEXEC and MS_NOSUID mount 7028f0c335SKees Cook flags when mounting devtmpfs. 7128f0c335SKees Cook 7228f0c335SKees Cook Notice: If enabled, things like /dev/mem cannot be mmapped 7328f0c335SKees Cook with the PROT_EXEC flag. This can break, for example, non-KMS 7428f0c335SKees Cook video drivers. 7528f0c335SKees Cook 761da177e4SLinus Torvaldsconfig STANDALONE 77967857dfSKees Cook bool "Select only drivers that don't need compile-time external firmware" 781da177e4SLinus Torvalds default y 791da177e4SLinus Torvalds help 801da177e4SLinus Torvalds Select this option if you don't have magic firmware for drivers that 811da177e4SLinus Torvalds need it. 821da177e4SLinus Torvalds 831da177e4SLinus Torvalds If unsure, say Y. 841da177e4SLinus Torvalds 851da177e4SLinus Torvaldsconfig PREVENT_FIRMWARE_BUILD 8602c39930SLuis R. Rodriguez bool "Disable drivers features which enable custom firmware building" 871da177e4SLinus Torvalds default y 881da177e4SLinus Torvalds help 8902c39930SLuis R. Rodriguez Say yes to disable driver features which enable building a custom 9002c39930SLuis R. Rodriguez driver firmware at kernel build time. These drivers do not use the 9102c39930SLuis R. Rodriguez kernel firmware API to load firmware (CONFIG_FW_LOADER), instead they 9202c39930SLuis R. Rodriguez use their own custom loading mechanism. The required firmware is 9302c39930SLuis R. Rodriguez usually shipped with the driver, building the driver firmware 9402c39930SLuis R. Rodriguez should only be needed if you have an updated firmware source. 9502c39930SLuis R. Rodriguez 9602c39930SLuis R. Rodriguez Firmware should not be being built as part of kernel, these days 9702c39930SLuis R. Rodriguez you should always prevent this and say Y here. There are only two 9802c39930SLuis R. Rodriguez old drivers which enable building of its firmware at kernel build 9902c39930SLuis R. Rodriguez time: 10002c39930SLuis R. Rodriguez 10102c39930SLuis R. Rodriguez o CONFIG_WANXL through CONFIG_WANXL_BUILD_FIRMWARE 10202c39930SLuis R. Rodriguez o CONFIG_SCSI_AIC79XX through CONFIG_AIC79XX_BUILD_FIRMWARE 10302c39930SLuis R. Rodriguez 10406bfd3c8SLuis R. Rodriguezsource "drivers/base/firmware_loader/Kconfig" 10502c39930SLuis R. Rodriguez 106833c9545SJohannes Bergconfig WANT_DEV_COREDUMP 107833c9545SJohannes Berg bool 108833c9545SJohannes Berg help 109833c9545SJohannes Berg Drivers should "select" this option if they desire to use the 110833c9545SJohannes Berg device coredump mechanism. 111833c9545SJohannes Berg 112cd3d9ea1SJohannes Bergconfig ALLOW_DEV_COREDUMP 113cd3d9ea1SJohannes Berg bool "Allow device coredump" if EXPERT 1149c602699SAristeu Rozanski default y 115833c9545SJohannes Berg help 1169c602699SAristeu Rozanski This option controls if the device coredump mechanism is available or 1179c602699SAristeu Rozanski not; if disabled, the mechanism will be omitted even if drivers that 1189c602699SAristeu Rozanski can use it are enabled. 1199c602699SAristeu Rozanski Say 'N' for more sensitive systems or systems that don't want 1209c602699SAristeu Rozanski to ever access the information to not have the code, nor keep any 1219c602699SAristeu Rozanski data. 122833c9545SJohannes Berg 1239c602699SAristeu Rozanski If unsure, say Y. 124833c9545SJohannes Berg 125833c9545SJohannes Bergconfig DEV_COREDUMP 126833c9545SJohannes Berg bool 127833c9545SJohannes Berg default y if WANT_DEV_COREDUMP 128cd3d9ea1SJohannes Berg depends on ALLOW_DEV_COREDUMP 129833c9545SJohannes Berg 1301da177e4SLinus Torvaldsconfig DEBUG_DRIVER 1311da177e4SLinus Torvalds bool "Driver Core verbose debug messages" 1321da177e4SLinus Torvalds depends on DEBUG_KERNEL 1331da177e4SLinus Torvalds help 1341da177e4SLinus Torvalds Say Y here if you want the Driver core to produce a bunch of 1351da177e4SLinus Torvalds debug messages to the system log. Select this if you are having a 1361da177e4SLinus Torvalds problem with the driver core and want to see more of what is 1371da177e4SLinus Torvalds going on. 1381da177e4SLinus Torvalds 1391da177e4SLinus Torvalds If you are unsure about this, say N here. 1401da177e4SLinus Torvalds 1419ac7849eSTejun Heoconfig DEBUG_DEVRES 1429ac7849eSTejun Heo bool "Managed device resources verbose debug messages" 1439ac7849eSTejun Heo depends on DEBUG_KERNEL 1449ac7849eSTejun Heo help 1459ac7849eSTejun Heo This option enables kernel parameter devres.log. If set to 1469ac7849eSTejun Heo non-zero, devres debug messages are printed. Select this if 1479ac7849eSTejun Heo you are having a problem with devres or want to debug 1489ac7849eSTejun Heo resource management for a managed device. devres.log can be 1499ac7849eSTejun Heo switched on and off from sysfs node. 1509ac7849eSTejun Heo 1519ac7849eSTejun Heo If you are unsure about this, Say N here. 1529ac7849eSTejun Heo 153bea5b158SRob Herringconfig DEBUG_TEST_DRIVER_REMOVE 154248ff021SLaura Abbott bool "Test driver remove calls during probe (UNSTABLE)" 155bea5b158SRob Herring depends on DEBUG_KERNEL 156bea5b158SRob Herring help 157bea5b158SRob Herring Say Y here if you want the Driver core to test driver remove functions 158bea5b158SRob Herring by calling probe, remove, probe. This tests the remove path without 159bea5b158SRob Herring having to unbind the driver or unload the driver module. 160bea5b158SRob Herring 161248ff021SLaura Abbott This option is expected to find errors and may render your system 162248ff021SLaura Abbott unusable. You should say N here unless you are explicitly looking to 163248ff021SLaura Abbott test this functionality. 164bea5b158SRob Herring 16514e08757SLeonard Crestezconfig PM_QOS_KUNIT_TEST 166bebe94b5SAnders Roxell bool "KUnit Test for PM QoS features" if !KUNIT_ALL_TESTS 16735c57fc3SAlan Maguire depends on KUNIT=y 168bebe94b5SAnders Roxell default KUNIT_ALL_TESTS 16914e08757SLeonard Crestez 170e1cf33aaSKeith Buschconfig HMEM_REPORTING 171e1cf33aaSKeith Busch bool 172e1cf33aaSKeith Busch default n 173e1cf33aaSKeith Busch depends on NUMA 174e1cf33aaSKeith Busch help 175fb88c9a3SColin Ian King Enable reporting for heterogeneous memory access attributes under 176e1cf33aaSKeith Busch their non-uniform memory nodes. 177e1cf33aaSKeith Busch 17879543cf2SDmitry Torokhovsource "drivers/base/test/Kconfig" 17979543cf2SDmitry Torokhov 1804039483fSMichael Holzheuconfig SYS_HYPERVISOR 1814039483fSMichael Holzheu bool 1824039483fSMichael Holzheu default n 183eba6cd67SRandy Dunlap 1849f13a1fdSBen Hutchingsconfig GENERIC_CPU_DEVICES 1859f13a1fdSBen Hutchings bool 1869f13a1fdSBen Hutchings default n 1879f13a1fdSBen Hutchings 18867bad2fdSArd Biesheuvelconfig GENERIC_CPU_AUTOPROBE 18967bad2fdSArd Biesheuvel bool 19067bad2fdSArd Biesheuvel 19187590ce6SThomas Gleixnerconfig GENERIC_CPU_VULNERABILITIES 19287590ce6SThomas Gleixner bool 19387590ce6SThomas Gleixner 19474d1d82cSLee Jonesconfig SOC_BUS 19574d1d82cSLee Jones bool 196c97db7ccSArnd Bergmann select GLOB 19774d1d82cSLee Jones 198b83a313bSMark Brownsource "drivers/base/regmap/Kconfig" 199b83a313bSMark Brown 200d15bd7eeSSumit Semwalconfig DMA_SHARED_BUFFER 2013b32a592SDave Airlie bool 202d15bd7eeSSumit Semwal default n 20303e4e0a9SChris Wilson select IRQ_WORK 204d15bd7eeSSumit Semwal help 205d15bd7eeSSumit Semwal This option enables the framework for buffer-sharing between 206d15bd7eeSSumit Semwal multiple drivers. A buffer is associated with a file using driver 207d15bd7eeSSumit Semwal APIs extension; the file's descriptor can then be passed on to other 208d15bd7eeSSumit Semwal driver. 209d15bd7eeSSumit Semwal 210f54d1867SChris Wilsonconfig DMA_FENCE_TRACE 211f54d1867SChris Wilson bool "Enable verbose DMA_FENCE_TRACE messages" 212e941759cSMaarten Lankhorst depends on DMA_SHARED_BUFFER 213e941759cSMaarten Lankhorst help 214f54d1867SChris Wilson Enable the DMA_FENCE_TRACE printks. This will add extra 215e941759cSMaarten Lankhorst spam to the console log, but will make it easier to diagnose 216e941759cSMaarten Lankhorst lockup related problems for dma-buffers shared across multiple 217e941759cSMaarten Lankhorst devices. 218e941759cSMaarten Lankhorst 2192ef7a295SJuri Lelliconfig GENERIC_ARCH_TOPOLOGY 2202ef7a295SJuri Lelli bool 2212ef7a295SJuri Lelli help 2222ef7a295SJuri Lelli Enable support for architectures common topology code: e.g., parsing 2232ef7a295SJuri Lelli CPU capacity information from DT, usage of such information for 224c181831fSSudeep Holla appropriate scaling, sysfs interface for reading capacity values at 2252ef7a295SJuri Lelli runtime. 2262ef7a295SJuri Lelli 227ae3c107cSAtish Patraconfig GENERIC_ARCH_NUMA 228ae3c107cSAtish Patra bool 229ae3c107cSAtish Patra help 230ae3c107cSAtish Patra Enable support for generic NUMA implementation. Currently, RISC-V 231ae3c107cSAtish Patra and ARM64 use it. 232ae3c107cSAtish Patra 233*8ad266d1SSaravana Kannanconfig FW_DEVLINK_SYNC_STATE_TIMEOUT 234*8ad266d1SSaravana Kannan bool "sync_state() behavior defaults to timeout instead of strict" 235*8ad266d1SSaravana Kannan help 236*8ad266d1SSaravana Kannan This is build time equivalent of adding kernel command line parameter 237*8ad266d1SSaravana Kannan "fw_devlink.sync_state=timeout". Give up waiting on consumers and 238*8ad266d1SSaravana Kannan call sync_state() on any devices that haven't yet received their 239*8ad266d1SSaravana Kannan sync_state() calls after deferred_probe_timeout has expired or by 240*8ad266d1SSaravana Kannan late_initcall() if !CONFIG_MODULES. You should almost always want to 241*8ad266d1SSaravana Kannan select N here unless you have already successfully tested with the 242*8ad266d1SSaravana Kannan command line option on every system/board your kernel is expected to 243*8ad266d1SSaravana Kannan work on. 244*8ad266d1SSaravana Kannan 245eba6cd67SRandy Dunlapendmenu 246