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 651da177e4SLinus Torvaldsconfig STANDALONE 66967857dfSKees Cook bool "Select only drivers that don't need compile-time external firmware" 671da177e4SLinus Torvalds default y 681da177e4SLinus Torvalds help 691da177e4SLinus Torvalds Select this option if you don't have magic firmware for drivers that 701da177e4SLinus Torvalds need it. 711da177e4SLinus Torvalds 721da177e4SLinus Torvalds If unsure, say Y. 731da177e4SLinus Torvalds 741da177e4SLinus Torvaldsconfig PREVENT_FIRMWARE_BUILD 7502c39930SLuis R. Rodriguez bool "Disable drivers features which enable custom firmware building" 761da177e4SLinus Torvalds default y 771da177e4SLinus Torvalds help 7802c39930SLuis R. Rodriguez Say yes to disable driver features which enable building a custom 7902c39930SLuis R. Rodriguez driver firmware at kernel build time. These drivers do not use the 8002c39930SLuis R. Rodriguez kernel firmware API to load firmware (CONFIG_FW_LOADER), instead they 8102c39930SLuis R. Rodriguez use their own custom loading mechanism. The required firmware is 8202c39930SLuis R. Rodriguez usually shipped with the driver, building the driver firmware 8302c39930SLuis R. Rodriguez should only be needed if you have an updated firmware source. 8402c39930SLuis R. Rodriguez 8502c39930SLuis R. Rodriguez Firmware should not be being built as part of kernel, these days 8602c39930SLuis R. Rodriguez you should always prevent this and say Y here. There are only two 8702c39930SLuis R. Rodriguez old drivers which enable building of its firmware at kernel build 8802c39930SLuis R. Rodriguez time: 8902c39930SLuis R. Rodriguez 9002c39930SLuis R. Rodriguez o CONFIG_WANXL through CONFIG_WANXL_BUILD_FIRMWARE 9102c39930SLuis R. Rodriguez o CONFIG_SCSI_AIC79XX through CONFIG_AIC79XX_BUILD_FIRMWARE 9202c39930SLuis R. Rodriguez 9306bfd3c8SLuis R. Rodriguezsource "drivers/base/firmware_loader/Kconfig" 9402c39930SLuis R. Rodriguez 95833c9545SJohannes Bergconfig WANT_DEV_COREDUMP 96833c9545SJohannes Berg bool 97833c9545SJohannes Berg help 98833c9545SJohannes Berg Drivers should "select" this option if they desire to use the 99833c9545SJohannes Berg device coredump mechanism. 100833c9545SJohannes Berg 101cd3d9ea1SJohannes Bergconfig ALLOW_DEV_COREDUMP 102cd3d9ea1SJohannes Berg bool "Allow device coredump" if EXPERT 1039c602699SAristeu Rozanski default y 104833c9545SJohannes Berg help 1059c602699SAristeu Rozanski This option controls if the device coredump mechanism is available or 1069c602699SAristeu Rozanski not; if disabled, the mechanism will be omitted even if drivers that 1079c602699SAristeu Rozanski can use it are enabled. 1089c602699SAristeu Rozanski Say 'N' for more sensitive systems or systems that don't want 1099c602699SAristeu Rozanski to ever access the information to not have the code, nor keep any 1109c602699SAristeu Rozanski data. 111833c9545SJohannes Berg 1129c602699SAristeu Rozanski If unsure, say Y. 113833c9545SJohannes Berg 114833c9545SJohannes Bergconfig DEV_COREDUMP 115833c9545SJohannes Berg bool 116833c9545SJohannes Berg default y if WANT_DEV_COREDUMP 117cd3d9ea1SJohannes Berg depends on ALLOW_DEV_COREDUMP 118833c9545SJohannes Berg 1191da177e4SLinus Torvaldsconfig DEBUG_DRIVER 1201da177e4SLinus Torvalds bool "Driver Core verbose debug messages" 1211da177e4SLinus Torvalds depends on DEBUG_KERNEL 1221da177e4SLinus Torvalds help 1231da177e4SLinus Torvalds Say Y here if you want the Driver core to produce a bunch of 1241da177e4SLinus Torvalds debug messages to the system log. Select this if you are having a 1251da177e4SLinus Torvalds problem with the driver core and want to see more of what is 1261da177e4SLinus Torvalds going on. 1271da177e4SLinus Torvalds 1281da177e4SLinus Torvalds If you are unsure about this, say N here. 1291da177e4SLinus Torvalds 1309ac7849eSTejun Heoconfig DEBUG_DEVRES 1319ac7849eSTejun Heo bool "Managed device resources verbose debug messages" 1329ac7849eSTejun Heo depends on DEBUG_KERNEL 1339ac7849eSTejun Heo help 1349ac7849eSTejun Heo This option enables kernel parameter devres.log. If set to 1359ac7849eSTejun Heo non-zero, devres debug messages are printed. Select this if 1369ac7849eSTejun Heo you are having a problem with devres or want to debug 1379ac7849eSTejun Heo resource management for a managed device. devres.log can be 1389ac7849eSTejun Heo switched on and off from sysfs node. 1399ac7849eSTejun Heo 1409ac7849eSTejun Heo If you are unsure about this, Say N here. 1419ac7849eSTejun Heo 142bea5b158SRob Herringconfig DEBUG_TEST_DRIVER_REMOVE 143248ff021SLaura Abbott bool "Test driver remove calls during probe (UNSTABLE)" 144bea5b158SRob Herring depends on DEBUG_KERNEL 145bea5b158SRob Herring help 146bea5b158SRob Herring Say Y here if you want the Driver core to test driver remove functions 147bea5b158SRob Herring by calling probe, remove, probe. This tests the remove path without 148bea5b158SRob Herring having to unbind the driver or unload the driver module. 149bea5b158SRob Herring 150248ff021SLaura Abbott This option is expected to find errors and may render your system 151248ff021SLaura Abbott unusable. You should say N here unless you are explicitly looking to 152248ff021SLaura Abbott test this functionality. 153bea5b158SRob Herring 15414e08757SLeonard Crestezconfig PM_QOS_KUNIT_TEST 155bebe94b5SAnders Roxell bool "KUnit Test for PM QoS features" if !KUNIT_ALL_TESTS 15635c57fc3SAlan Maguire depends on KUNIT=y 157bebe94b5SAnders Roxell default KUNIT_ALL_TESTS 15814e08757SLeonard Crestez 159e1cf33aaSKeith Buschconfig HMEM_REPORTING 160e1cf33aaSKeith Busch bool 161e1cf33aaSKeith Busch default n 162e1cf33aaSKeith Busch depends on NUMA 163e1cf33aaSKeith Busch help 164*fb88c9a3SColin Ian King Enable reporting for heterogeneous memory access attributes under 165e1cf33aaSKeith Busch their non-uniform memory nodes. 166e1cf33aaSKeith Busch 16779543cf2SDmitry Torokhovsource "drivers/base/test/Kconfig" 16879543cf2SDmitry Torokhov 1694039483fSMichael Holzheuconfig SYS_HYPERVISOR 1704039483fSMichael Holzheu bool 1714039483fSMichael Holzheu default n 172eba6cd67SRandy Dunlap 1739f13a1fdSBen Hutchingsconfig GENERIC_CPU_DEVICES 1749f13a1fdSBen Hutchings bool 1759f13a1fdSBen Hutchings default n 1769f13a1fdSBen Hutchings 17767bad2fdSArd Biesheuvelconfig GENERIC_CPU_AUTOPROBE 17867bad2fdSArd Biesheuvel bool 17967bad2fdSArd Biesheuvel 18087590ce6SThomas Gleixnerconfig GENERIC_CPU_VULNERABILITIES 18187590ce6SThomas Gleixner bool 18287590ce6SThomas Gleixner 18374d1d82cSLee Jonesconfig SOC_BUS 18474d1d82cSLee Jones bool 185c97db7ccSArnd Bergmann select GLOB 18674d1d82cSLee Jones 187b83a313bSMark Brownsource "drivers/base/regmap/Kconfig" 188b83a313bSMark Brown 189d15bd7eeSSumit Semwalconfig DMA_SHARED_BUFFER 1903b32a592SDave Airlie bool 191d15bd7eeSSumit Semwal default n 19203e4e0a9SChris Wilson select IRQ_WORK 193d15bd7eeSSumit Semwal help 194d15bd7eeSSumit Semwal This option enables the framework for buffer-sharing between 195d15bd7eeSSumit Semwal multiple drivers. A buffer is associated with a file using driver 196d15bd7eeSSumit Semwal APIs extension; the file's descriptor can then be passed on to other 197d15bd7eeSSumit Semwal driver. 198d15bd7eeSSumit Semwal 199f54d1867SChris Wilsonconfig DMA_FENCE_TRACE 200f54d1867SChris Wilson bool "Enable verbose DMA_FENCE_TRACE messages" 201e941759cSMaarten Lankhorst depends on DMA_SHARED_BUFFER 202e941759cSMaarten Lankhorst help 203f54d1867SChris Wilson Enable the DMA_FENCE_TRACE printks. This will add extra 204e941759cSMaarten Lankhorst spam to the console log, but will make it easier to diagnose 205e941759cSMaarten Lankhorst lockup related problems for dma-buffers shared across multiple 206e941759cSMaarten Lankhorst devices. 207e941759cSMaarten Lankhorst 2082ef7a295SJuri Lelliconfig GENERIC_ARCH_TOPOLOGY 2092ef7a295SJuri Lelli bool 2102ef7a295SJuri Lelli help 2112ef7a295SJuri Lelli Enable support for architectures common topology code: e.g., parsing 2122ef7a295SJuri Lelli CPU capacity information from DT, usage of such information for 213c181831fSSudeep Holla appropriate scaling, sysfs interface for reading capacity values at 2142ef7a295SJuri Lelli runtime. 2152ef7a295SJuri Lelli 216eba6cd67SRandy Dunlapendmenu 217