linux/drivers/base/Kconfig
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0
   2menu "Generic Driver Options"
   3
   4config AUXILIARY_BUS
   5        bool
   6
   7config UEVENT_HELPER
   8        bool "Support for uevent helper"
   9        help
  10          The uevent helper program is forked by the kernel for
  11          every uevent.
  12          Before the switch to the netlink-based uevent source, this was
  13          used to hook hotplug scripts into kernel device events. It
  14          usually pointed to a shell script at /sbin/hotplug.
  15          This should not be used today, because usual systems create
  16          many events at bootup or device discovery in a very short time
  17          frame. One forked process per event can create so many processes
  18          that it creates a high system load, or on smaller systems
  19          it is known to create out-of-memory situations during bootup.
  20
  21config UEVENT_HELPER_PATH
  22        string "path to uevent helper"
  23        depends on UEVENT_HELPER
  24        default ""
  25        help
  26          To disable user space helper program execution at by default
  27          specify an empty string here. This setting can still be altered
  28          via /proc/sys/kernel/hotplug or via /sys/kernel/uevent_helper
  29          later at runtime.
  30
  31config DEVTMPFS
  32        bool "Maintain a devtmpfs filesystem to mount at /dev"
  33        help
  34          This creates a tmpfs/ramfs filesystem instance early at bootup.
  35          In this filesystem, the kernel driver core maintains device
  36          nodes with their default names and permissions for all
  37          registered devices with an assigned major/minor number.
  38          Userspace can modify the filesystem content as needed, add
  39          symlinks, and apply needed permissions.
  40          It provides a fully functional /dev directory, where usually
  41          udev runs on top, managing permissions and adding meaningful
  42          symlinks.
  43          In very limited environments, it may provide a sufficient
  44          functional /dev without any further help. It also allows simple
  45          rescue systems, and reliably handles dynamic major/minor numbers.
  46
  47          Notice: if CONFIG_TMPFS isn't enabled, the simpler ramfs
  48          file system will be used instead.
  49
  50config DEVTMPFS_MOUNT
  51        bool "Automount devtmpfs at /dev, after the kernel mounted the rootfs"
  52        depends on DEVTMPFS
  53        help
  54          This will instruct the kernel to automatically mount the
  55          devtmpfs filesystem at /dev, directly after the kernel has
  56          mounted the root filesystem. The behavior can be overridden
  57          with the commandline parameter: devtmpfs.mount=0|1.
  58          This option does not affect initramfs based booting, here
  59          the devtmpfs filesystem always needs to be mounted manually
  60          after the rootfs is mounted.
  61          With this option enabled, it allows to bring up a system in
  62          rescue mode with init=/bin/sh, even when the /dev directory
  63          on the rootfs is completely empty.
  64
  65config DEVTMPFS_SAFE
  66        bool "Use nosuid,noexec mount options on devtmpfs"
  67        depends on DEVTMPFS
  68        help
  69          This instructs the kernel to include the MS_NOEXEC and MS_NOSUID mount
  70          flags when mounting devtmpfs.
  71
  72          Notice: If enabled, things like /dev/mem cannot be mmapped
  73          with the PROT_EXEC flag. This can break, for example, non-KMS
  74          video drivers.
  75
  76config STANDALONE
  77        bool "Select only drivers that don't need compile-time external firmware"
  78        default y
  79        help
  80          Select this option if you don't have magic firmware for drivers that
  81          need it.
  82
  83          If unsure, say Y.
  84
  85config PREVENT_FIRMWARE_BUILD
  86        bool "Disable drivers features which enable custom firmware building"
  87        default y
  88        help
  89          Say yes to disable driver features which enable building a custom
  90          driver firmware at kernel build time. These drivers do not use the
  91          kernel firmware API to load firmware (CONFIG_FW_LOADER), instead they
  92          use their own custom loading mechanism. The required firmware is
  93          usually shipped with the driver, building the driver firmware
  94          should only be needed if you have an updated firmware source.
  95
  96          Firmware should not be being built as part of kernel, these days
  97          you should always prevent this and say Y here. There are only two
  98          old drivers which enable building of its firmware at kernel build
  99          time:
 100
 101            o CONFIG_WANXL through CONFIG_WANXL_BUILD_FIRMWARE
 102            o CONFIG_SCSI_AIC79XX through CONFIG_AIC79XX_BUILD_FIRMWARE
 103
 104source "drivers/base/firmware_loader/Kconfig"
 105
 106config WANT_DEV_COREDUMP
 107        bool
 108        help
 109          Drivers should "select" this option if they desire to use the
 110          device coredump mechanism.
 111
 112config ALLOW_DEV_COREDUMP
 113        bool "Allow device coredump" if EXPERT
 114        default y
 115        help
 116          This option controls if the device coredump mechanism is available or
 117          not; if disabled, the mechanism will be omitted even if drivers that
 118          can use it are enabled.
 119          Say 'N' for more sensitive systems or systems that don't want
 120          to ever access the information to not have the code, nor keep any
 121          data.
 122
 123          If unsure, say Y.
 124
 125config DEV_COREDUMP
 126        bool
 127        default y if WANT_DEV_COREDUMP
 128        depends on ALLOW_DEV_COREDUMP
 129
 130config DEBUG_DRIVER
 131        bool "Driver Core verbose debug messages"
 132        depends on DEBUG_KERNEL
 133        help
 134          Say Y here if you want the Driver core to produce a bunch of
 135          debug messages to the system log. Select this if you are having a
 136          problem with the driver core and want to see more of what is
 137          going on.
 138
 139          If you are unsure about this, say N here.
 140
 141config DEBUG_DEVRES
 142        bool "Managed device resources verbose debug messages"
 143        depends on DEBUG_KERNEL
 144        help
 145          This option enables kernel parameter devres.log. If set to
 146          non-zero, devres debug messages are printed. Select this if
 147          you are having a problem with devres or want to debug
 148          resource management for a managed device. devres.log can be
 149          switched on and off from sysfs node.
 150
 151          If you are unsure about this, Say N here.
 152
 153config DEBUG_TEST_DRIVER_REMOVE
 154        bool "Test driver remove calls during probe (UNSTABLE)"
 155        depends on DEBUG_KERNEL
 156        help
 157          Say Y here if you want the Driver core to test driver remove functions
 158          by calling probe, remove, probe. This tests the remove path without
 159          having to unbind the driver or unload the driver module.
 160
 161          This option is expected to find errors and may render your system
 162          unusable. You should say N here unless you are explicitly looking to
 163          test this functionality.
 164
 165config PM_QOS_KUNIT_TEST
 166        bool "KUnit Test for PM QoS features" if !KUNIT_ALL_TESTS
 167        depends on KUNIT=y
 168        default KUNIT_ALL_TESTS
 169
 170config HMEM_REPORTING
 171        bool
 172        default n
 173        depends on NUMA
 174        help
 175          Enable reporting for heterogeneous memory access attributes under
 176          their non-uniform memory nodes.
 177
 178source "drivers/base/test/Kconfig"
 179
 180config SYS_HYPERVISOR
 181        bool
 182        default n
 183
 184config GENERIC_CPU_DEVICES
 185        bool
 186        default n
 187
 188config GENERIC_CPU_AUTOPROBE
 189        bool
 190
 191config GENERIC_CPU_VULNERABILITIES
 192        bool
 193
 194config SOC_BUS
 195        bool
 196        select GLOB
 197
 198source "drivers/base/regmap/Kconfig"
 199
 200config DMA_SHARED_BUFFER
 201        bool
 202        default n
 203        select IRQ_WORK
 204        help
 205          This option enables the framework for buffer-sharing between
 206          multiple drivers. A buffer is associated with a file using driver
 207          APIs extension; the file's descriptor can then be passed on to other
 208          driver.
 209
 210config DMA_FENCE_TRACE
 211        bool "Enable verbose DMA_FENCE_TRACE messages"
 212        depends on DMA_SHARED_BUFFER
 213        help
 214          Enable the DMA_FENCE_TRACE printks. This will add extra
 215          spam to the console log, but will make it easier to diagnose
 216          lockup related problems for dma-buffers shared across multiple
 217          devices.
 218
 219config GENERIC_ARCH_TOPOLOGY
 220        bool
 221        help
 222          Enable support for architectures common topology code: e.g., parsing
 223          CPU capacity information from DT, usage of such information for
 224          appropriate scaling, sysfs interface for reading capacity values at
 225          runtime.
 226
 227config GENERIC_ARCH_NUMA
 228        bool
 229        help
 230          Enable support for generic NUMA implementation. Currently, RISC-V
 231          and ARM64 use it.
 232
 233endmenu
 234