xref: /openbmc/linux/drivers/base/Kconfig (revision ae3c107c)
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
164e1cf33aaSKeith Busch	  Enable reporting for heterogenous 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
216*ae3c107cSAtish Patraconfig GENERIC_ARCH_NUMA
217*ae3c107cSAtish Patra	bool
218*ae3c107cSAtish Patra	help
219*ae3c107cSAtish Patra	  Enable support for generic NUMA implementation. Currently, RISC-V
220*ae3c107cSAtish Patra	  and ARM64 use it.
221*ae3c107cSAtish Patra
222eba6cd67SRandy Dunlapendmenu
223