18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_cimenu "Generic Driver Options" 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ciconfig UEVENT_HELPER 58c2ecf20Sopenharmony_ci bool "Support for uevent helper" 68c2ecf20Sopenharmony_ci help 78c2ecf20Sopenharmony_ci The uevent helper program is forked by the kernel for 88c2ecf20Sopenharmony_ci every uevent. 98c2ecf20Sopenharmony_ci Before the switch to the netlink-based uevent source, this was 108c2ecf20Sopenharmony_ci used to hook hotplug scripts into kernel device events. It 118c2ecf20Sopenharmony_ci usually pointed to a shell script at /sbin/hotplug. 128c2ecf20Sopenharmony_ci This should not be used today, because usual systems create 138c2ecf20Sopenharmony_ci many events at bootup or device discovery in a very short time 148c2ecf20Sopenharmony_ci frame. One forked process per event can create so many processes 158c2ecf20Sopenharmony_ci that it creates a high system load, or on smaller systems 168c2ecf20Sopenharmony_ci it is known to create out-of-memory situations during bootup. 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciconfig UEVENT_HELPER_PATH 198c2ecf20Sopenharmony_ci string "path to uevent helper" 208c2ecf20Sopenharmony_ci depends on UEVENT_HELPER 218c2ecf20Sopenharmony_ci default "" 228c2ecf20Sopenharmony_ci help 238c2ecf20Sopenharmony_ci To disable user space helper program execution at by default 248c2ecf20Sopenharmony_ci specify an empty string here. This setting can still be altered 258c2ecf20Sopenharmony_ci via /proc/sys/kernel/hotplug or via /sys/kernel/uevent_helper 268c2ecf20Sopenharmony_ci later at runtime. 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciconfig DEVTMPFS 298c2ecf20Sopenharmony_ci bool "Maintain a devtmpfs filesystem to mount at /dev" 308c2ecf20Sopenharmony_ci help 318c2ecf20Sopenharmony_ci This creates a tmpfs/ramfs filesystem instance early at bootup. 328c2ecf20Sopenharmony_ci In this filesystem, the kernel driver core maintains device 338c2ecf20Sopenharmony_ci nodes with their default names and permissions for all 348c2ecf20Sopenharmony_ci registered devices with an assigned major/minor number. 358c2ecf20Sopenharmony_ci Userspace can modify the filesystem content as needed, add 368c2ecf20Sopenharmony_ci symlinks, and apply needed permissions. 378c2ecf20Sopenharmony_ci It provides a fully functional /dev directory, where usually 388c2ecf20Sopenharmony_ci udev runs on top, managing permissions and adding meaningful 398c2ecf20Sopenharmony_ci symlinks. 408c2ecf20Sopenharmony_ci In very limited environments, it may provide a sufficient 418c2ecf20Sopenharmony_ci functional /dev without any further help. It also allows simple 428c2ecf20Sopenharmony_ci rescue systems, and reliably handles dynamic major/minor numbers. 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci Notice: if CONFIG_TMPFS isn't enabled, the simpler ramfs 458c2ecf20Sopenharmony_ci file system will be used instead. 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ciconfig DEVTMPFS_MOUNT 488c2ecf20Sopenharmony_ci bool "Automount devtmpfs at /dev, after the kernel mounted the rootfs" 498c2ecf20Sopenharmony_ci depends on DEVTMPFS 508c2ecf20Sopenharmony_ci help 518c2ecf20Sopenharmony_ci This will instruct the kernel to automatically mount the 528c2ecf20Sopenharmony_ci devtmpfs filesystem at /dev, directly after the kernel has 538c2ecf20Sopenharmony_ci mounted the root filesystem. The behavior can be overridden 548c2ecf20Sopenharmony_ci with the commandline parameter: devtmpfs.mount=0|1. 558c2ecf20Sopenharmony_ci This option does not affect initramfs based booting, here 568c2ecf20Sopenharmony_ci the devtmpfs filesystem always needs to be mounted manually 578c2ecf20Sopenharmony_ci after the rootfs is mounted. 588c2ecf20Sopenharmony_ci With this option enabled, it allows to bring up a system in 598c2ecf20Sopenharmony_ci rescue mode with init=/bin/sh, even when the /dev directory 608c2ecf20Sopenharmony_ci on the rootfs is completely empty. 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ciconfig STANDALONE 638c2ecf20Sopenharmony_ci bool "Select only drivers that don't need compile-time external firmware" 648c2ecf20Sopenharmony_ci default y 658c2ecf20Sopenharmony_ci help 668c2ecf20Sopenharmony_ci Select this option if you don't have magic firmware for drivers that 678c2ecf20Sopenharmony_ci need it. 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci If unsure, say Y. 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ciconfig PREVENT_FIRMWARE_BUILD 728c2ecf20Sopenharmony_ci bool "Disable drivers features which enable custom firmware building" 738c2ecf20Sopenharmony_ci default y 748c2ecf20Sopenharmony_ci help 758c2ecf20Sopenharmony_ci Say yes to disable driver features which enable building a custom 768c2ecf20Sopenharmony_ci driver firmware at kernel build time. These drivers do not use the 778c2ecf20Sopenharmony_ci kernel firmware API to load firmware (CONFIG_FW_LOADER), instead they 788c2ecf20Sopenharmony_ci use their own custom loading mechanism. The required firmware is 798c2ecf20Sopenharmony_ci usually shipped with the driver, building the driver firmware 808c2ecf20Sopenharmony_ci should only be needed if you have an updated firmware source. 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ci Firmware should not be being built as part of kernel, these days 838c2ecf20Sopenharmony_ci you should always prevent this and say Y here. There are only two 848c2ecf20Sopenharmony_ci old drivers which enable building of its firmware at kernel build 858c2ecf20Sopenharmony_ci time: 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci o CONFIG_WANXL through CONFIG_WANXL_BUILD_FIRMWARE 888c2ecf20Sopenharmony_ci o CONFIG_SCSI_AIC79XX through CONFIG_AIC79XX_BUILD_FIRMWARE 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_cisource "drivers/base/firmware_loader/Kconfig" 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ciconfig WANT_DEV_COREDUMP 938c2ecf20Sopenharmony_ci bool 948c2ecf20Sopenharmony_ci help 958c2ecf20Sopenharmony_ci Drivers should "select" this option if they desire to use the 968c2ecf20Sopenharmony_ci device coredump mechanism. 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ciconfig ALLOW_DEV_COREDUMP 998c2ecf20Sopenharmony_ci bool "Allow device coredump" if EXPERT 1008c2ecf20Sopenharmony_ci default y 1018c2ecf20Sopenharmony_ci help 1028c2ecf20Sopenharmony_ci This option controls if the device coredump mechanism is available or 1038c2ecf20Sopenharmony_ci not; if disabled, the mechanism will be omitted even if drivers that 1048c2ecf20Sopenharmony_ci can use it are enabled. 1058c2ecf20Sopenharmony_ci Say 'N' for more sensitive systems or systems that don't want 1068c2ecf20Sopenharmony_ci to ever access the information to not have the code, nor keep any 1078c2ecf20Sopenharmony_ci data. 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci If unsure, say Y. 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ciconfig DEV_COREDUMP 1128c2ecf20Sopenharmony_ci bool 1138c2ecf20Sopenharmony_ci default y if WANT_DEV_COREDUMP 1148c2ecf20Sopenharmony_ci depends on ALLOW_DEV_COREDUMP 1158c2ecf20Sopenharmony_ci 1168c2ecf20Sopenharmony_ciconfig DEBUG_DRIVER 1178c2ecf20Sopenharmony_ci bool "Driver Core verbose debug messages" 1188c2ecf20Sopenharmony_ci depends on DEBUG_KERNEL 1198c2ecf20Sopenharmony_ci help 1208c2ecf20Sopenharmony_ci Say Y here if you want the Driver core to produce a bunch of 1218c2ecf20Sopenharmony_ci debug messages to the system log. Select this if you are having a 1228c2ecf20Sopenharmony_ci problem with the driver core and want to see more of what is 1238c2ecf20Sopenharmony_ci going on. 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_ci If you are unsure about this, say N here. 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ciconfig DEBUG_DEVRES 1288c2ecf20Sopenharmony_ci bool "Managed device resources verbose debug messages" 1298c2ecf20Sopenharmony_ci depends on DEBUG_KERNEL 1308c2ecf20Sopenharmony_ci help 1318c2ecf20Sopenharmony_ci This option enables kernel parameter devres.log. If set to 1328c2ecf20Sopenharmony_ci non-zero, devres debug messages are printed. Select this if 1338c2ecf20Sopenharmony_ci you are having a problem with devres or want to debug 1348c2ecf20Sopenharmony_ci resource management for a managed device. devres.log can be 1358c2ecf20Sopenharmony_ci switched on and off from sysfs node. 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ci If you are unsure about this, Say N here. 1388c2ecf20Sopenharmony_ci 1398c2ecf20Sopenharmony_ciconfig DEBUG_TEST_DRIVER_REMOVE 1408c2ecf20Sopenharmony_ci bool "Test driver remove calls during probe (UNSTABLE)" 1418c2ecf20Sopenharmony_ci depends on DEBUG_KERNEL 1428c2ecf20Sopenharmony_ci help 1438c2ecf20Sopenharmony_ci Say Y here if you want the Driver core to test driver remove functions 1448c2ecf20Sopenharmony_ci by calling probe, remove, probe. This tests the remove path without 1458c2ecf20Sopenharmony_ci having to unbind the driver or unload the driver module. 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci This option is expected to find errors and may render your system 1488c2ecf20Sopenharmony_ci unusable. You should say N here unless you are explicitly looking to 1498c2ecf20Sopenharmony_ci test this functionality. 1508c2ecf20Sopenharmony_ci 1518c2ecf20Sopenharmony_ciconfig PM_QOS_KUNIT_TEST 1528c2ecf20Sopenharmony_ci bool "KUnit Test for PM QoS features" if !KUNIT_ALL_TESTS 1538c2ecf20Sopenharmony_ci depends on KUNIT=y 1548c2ecf20Sopenharmony_ci default KUNIT_ALL_TESTS 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ciconfig HMEM_REPORTING 1578c2ecf20Sopenharmony_ci bool 1588c2ecf20Sopenharmony_ci default n 1598c2ecf20Sopenharmony_ci depends on NUMA 1608c2ecf20Sopenharmony_ci help 1618c2ecf20Sopenharmony_ci Enable reporting for heterogenous memory access attributes under 1628c2ecf20Sopenharmony_ci their non-uniform memory nodes. 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_cisource "drivers/base/test/Kconfig" 1658c2ecf20Sopenharmony_ci 1668c2ecf20Sopenharmony_ciconfig SYS_HYPERVISOR 1678c2ecf20Sopenharmony_ci bool 1688c2ecf20Sopenharmony_ci default n 1698c2ecf20Sopenharmony_ci 1708c2ecf20Sopenharmony_ciconfig GENERIC_CPU_DEVICES 1718c2ecf20Sopenharmony_ci bool 1728c2ecf20Sopenharmony_ci default n 1738c2ecf20Sopenharmony_ci 1748c2ecf20Sopenharmony_ciconfig GENERIC_CPU_AUTOPROBE 1758c2ecf20Sopenharmony_ci bool 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ciconfig GENERIC_CPU_VULNERABILITIES 1788c2ecf20Sopenharmony_ci bool 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ciconfig SOC_BUS 1818c2ecf20Sopenharmony_ci bool 1828c2ecf20Sopenharmony_ci select GLOB 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_cisource "drivers/base/regmap/Kconfig" 1858c2ecf20Sopenharmony_ci 1868c2ecf20Sopenharmony_ciconfig DMA_SHARED_BUFFER 1878c2ecf20Sopenharmony_ci bool 1888c2ecf20Sopenharmony_ci default n 1898c2ecf20Sopenharmony_ci select IRQ_WORK 1908c2ecf20Sopenharmony_ci help 1918c2ecf20Sopenharmony_ci This option enables the framework for buffer-sharing between 1928c2ecf20Sopenharmony_ci multiple drivers. A buffer is associated with a file using driver 1938c2ecf20Sopenharmony_ci APIs extension; the file's descriptor can then be passed on to other 1948c2ecf20Sopenharmony_ci driver. 1958c2ecf20Sopenharmony_ci 1968c2ecf20Sopenharmony_ciconfig DMA_FENCE_TRACE 1978c2ecf20Sopenharmony_ci bool "Enable verbose DMA_FENCE_TRACE messages" 1988c2ecf20Sopenharmony_ci depends on DMA_SHARED_BUFFER 1998c2ecf20Sopenharmony_ci help 2008c2ecf20Sopenharmony_ci Enable the DMA_FENCE_TRACE printks. This will add extra 2018c2ecf20Sopenharmony_ci spam to the console log, but will make it easier to diagnose 2028c2ecf20Sopenharmony_ci lockup related problems for dma-buffers shared across multiple 2038c2ecf20Sopenharmony_ci devices. 2048c2ecf20Sopenharmony_ci 2058c2ecf20Sopenharmony_ciconfig GENERIC_ARCH_TOPOLOGY 2068c2ecf20Sopenharmony_ci bool 2078c2ecf20Sopenharmony_ci help 2088c2ecf20Sopenharmony_ci Enable support for architectures common topology code: e.g., parsing 2098c2ecf20Sopenharmony_ci CPU capacity information from DT, usage of such information for 2108c2ecf20Sopenharmony_ci appropriate scaling, sysfs interface for reading capacity values at 2118c2ecf20Sopenharmony_ci runtime. 2128c2ecf20Sopenharmony_ci 2138c2ecf20Sopenharmony_ciendmenu 214