327 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			327 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| menu "Generic Driver Options"
 | |
| 
 | |
| config UEVENT_HELPER
 | |
| 	bool "Support for uevent helper"
 | |
| 	default y
 | |
| 	help
 | |
| 	  The uevent helper program is forked by the kernel for
 | |
| 	  every uevent.
 | |
| 	  Before the switch to the netlink-based uevent source, this was
 | |
| 	  used to hook hotplug scripts into kernel device events. It
 | |
| 	  usually pointed to a shell script at /sbin/hotplug.
 | |
| 	  This should not be used today, because usual systems create
 | |
| 	  many events at bootup or device discovery in a very short time
 | |
| 	  frame. One forked process per event can create so many processes
 | |
| 	  that it creates a high system load, or on smaller systems
 | |
| 	  it is known to create out-of-memory situations during bootup.
 | |
| 
 | |
| config UEVENT_HELPER_PATH
 | |
| 	string "path to uevent helper"
 | |
| 	depends on UEVENT_HELPER
 | |
| 	default ""
 | |
| 	help
 | |
| 	  To disable user space helper program execution at by default
 | |
| 	  specify an empty string here. This setting can still be altered
 | |
| 	  via /proc/sys/kernel/hotplug or via /sys/kernel/uevent_helper
 | |
| 	  later at runtime.
 | |
| 
 | |
| config DEVTMPFS
 | |
| 	bool "Maintain a devtmpfs filesystem to mount at /dev"
 | |
| 	help
 | |
| 	  This creates a tmpfs/ramfs filesystem instance early at bootup.
 | |
| 	  In this filesystem, the kernel driver core maintains device
 | |
| 	  nodes with their default names and permissions for all
 | |
| 	  registered devices with an assigned major/minor number.
 | |
| 	  Userspace can modify the filesystem content as needed, add
 | |
| 	  symlinks, and apply needed permissions.
 | |
| 	  It provides a fully functional /dev directory, where usually
 | |
| 	  udev runs on top, managing permissions and adding meaningful
 | |
| 	  symlinks.
 | |
| 	  In very limited environments, it may provide a sufficient
 | |
| 	  functional /dev without any further help. It also allows simple
 | |
| 	  rescue systems, and reliably handles dynamic major/minor numbers.
 | |
| 
 | |
| 	  Notice: if CONFIG_TMPFS isn't enabled, the simpler ramfs
 | |
| 	  file system will be used instead.
 | |
| 
 | |
| config DEVTMPFS_MOUNT
 | |
| 	bool "Automount devtmpfs at /dev, after the kernel mounted the rootfs"
 | |
| 	depends on DEVTMPFS
 | |
| 	help
 | |
| 	  This will instruct the kernel to automatically mount the
 | |
| 	  devtmpfs filesystem at /dev, directly after the kernel has
 | |
| 	  mounted the root filesystem. The behavior can be overridden
 | |
| 	  with the commandline parameter: devtmpfs.mount=0|1.
 | |
| 	  This option does not affect initramfs based booting, here
 | |
| 	  the devtmpfs filesystem always needs to be mounted manually
 | |
| 	  after the rootfs is mounted.
 | |
| 	  With this option enabled, it allows to bring up a system in
 | |
| 	  rescue mode with init=/bin/sh, even when the /dev directory
 | |
| 	  on the rootfs is completely empty.
 | |
| 
 | |
| config STANDALONE
 | |
| 	bool "Select only drivers that don't need compile-time external firmware"
 | |
| 	default y
 | |
| 	help
 | |
| 	  Select this option if you don't have magic firmware for drivers that
 | |
| 	  need it.
 | |
| 
 | |
| 	  If unsure, say Y.
 | |
| 
 | |
| config PREVENT_FIRMWARE_BUILD
 | |
| 	bool "Prevent firmware from being built"
 | |
| 	default y
 | |
| 	help
 | |
| 	  Say yes to avoid building firmware. Firmware is usually shipped
 | |
| 	  with the driver and only when updating the firmware should a
 | |
| 	  rebuild be made.
 | |
| 	  If unsure, say Y here.
 | |
| 
 | |
| config FW_LOADER
 | |
| 	tristate "Userspace firmware loading support" if EXPERT
 | |
| 	default y
 | |
| 	---help---
 | |
| 	  This option is provided for the case where none of the in-tree modules
 | |
| 	  require userspace firmware loading support, but a module built
 | |
| 	  out-of-tree does.
 | |
| 
 | |
| config FIRMWARE_IN_KERNEL
 | |
| 	bool "Include in-kernel firmware blobs in kernel binary"
 | |
| 	depends on FW_LOADER
 | |
| 	default y
 | |
| 	help
 | |
| 	  The kernel source tree includes a number of firmware 'blobs'
 | |
| 	  that are used by various drivers. The recommended way to
 | |
| 	  use these is to run "make firmware_install", which, after
 | |
| 	  converting ihex files to binary, copies all of the needed
 | |
| 	  binary files in firmware/ to /lib/firmware/ on your system so
 | |
| 	  that they can be loaded by userspace helpers on request.
 | |
| 
 | |
| 	  Enabling this option will build each required firmware blob
 | |
| 	  into the kernel directly, where request_firmware() will find
 | |
| 	  them without having to call out to userspace. This may be
 | |
| 	  useful if your root file system requires a device that uses
 | |
| 	  such firmware and do not wish to use an initrd.
 | |
| 
 | |
| 	  This single option controls the inclusion of firmware for
 | |
| 	  every driver that uses request_firmware() and ships its
 | |
| 	  firmware in the kernel source tree, which avoids a
 | |
| 	  proliferation of 'Include firmware for xxx device' options.
 | |
| 
 | |
| 	  Say 'N' and let firmware be loaded from userspace.
 | |
| 
 | |
| config EXTRA_FIRMWARE
 | |
| 	string "External firmware blobs to build into the kernel binary"
 | |
| 	depends on FW_LOADER
 | |
| 	help
 | |
| 	  This option allows firmware to be built into the kernel for the case
 | |
| 	  where the user either cannot or doesn't want to provide it from
 | |
| 	  userspace at runtime (for example, when the firmware in question is
 | |
| 	  required for accessing the boot device, and the user doesn't want to
 | |
| 	  use an initrd).
 | |
| 
 | |
| 	  This option is a string and takes the (space-separated) names of the
 | |
| 	  firmware files -- the same names that appear in MODULE_FIRMWARE()
 | |
| 	  and request_firmware() in the source. These files should exist under
 | |
| 	  the directory specified by the EXTRA_FIRMWARE_DIR option, which is
 | |
| 	  by default the firmware subdirectory of the kernel source tree.
 | |
| 
 | |
| 	  For example, you might set CONFIG_EXTRA_FIRMWARE="usb8388.bin", copy
 | |
| 	  the usb8388.bin file into the firmware directory, and build the kernel.
 | |
| 	  Then any request_firmware("usb8388.bin") will be satisfied internally
 | |
| 	  without needing to call out to userspace.
 | |
| 
 | |
| 	  WARNING: If you include additional firmware files into your binary
 | |
| 	  kernel image that are not available under the terms of the GPL,
 | |
| 	  then it may be a violation of the GPL to distribute the resulting
 | |
| 	  image since it combines both GPL and non-GPL work. You should
 | |
| 	  consult a lawyer of your own before distributing such an image.
 | |
| 
 | |
| config EXTRA_FIRMWARE_DIR
 | |
| 	string "Firmware blobs root directory"
 | |
| 	depends on EXTRA_FIRMWARE != ""
 | |
| 	default "firmware"
 | |
| 	help
 | |
| 	  This option controls the directory in which the kernel build system
 | |
| 	  looks for the firmware files listed in the EXTRA_FIRMWARE option.
 | |
| 	  The default is firmware/ in the kernel source tree, but by changing
 | |
| 	  this option you can point it elsewhere, such as /lib/firmware/ or
 | |
| 	  some other directory containing the firmware files.
 | |
| 
 | |
| config FW_LOADER_USER_HELPER
 | |
| 	bool
 | |
| 
 | |
| config FW_LOADER_USER_HELPER_FALLBACK
 | |
| 	bool "Fallback user-helper invocation for firmware loading"
 | |
| 	depends on FW_LOADER
 | |
| 	select FW_LOADER_USER_HELPER
 | |
| 	help
 | |
| 	  This option enables / disables the invocation of user-helper
 | |
| 	  (e.g. udev) for loading firmware files as a fallback after the
 | |
| 	  direct file loading in kernel fails.  The user-mode helper is
 | |
| 	  no longer required unless you have a special firmware file that
 | |
| 	  resides in a non-standard path. Moreover, the udev support has
 | |
| 	  been deprecated upstream.
 | |
| 
 | |
| 	  If you are unsure about this, say N here.
 | |
| 
 | |
| config WANT_DEV_COREDUMP
 | |
| 	bool
 | |
| 	help
 | |
| 	  Drivers should "select" this option if they desire to use the
 | |
| 	  device coredump mechanism.
 | |
| 
 | |
| config ALLOW_DEV_COREDUMP
 | |
| 	bool "Allow device coredump" if EXPERT
 | |
| 	default y
 | |
| 	help
 | |
| 	  This option controls if the device coredump mechanism is available or
 | |
| 	  not; if disabled, the mechanism will be omitted even if drivers that
 | |
| 	  can use it are enabled.
 | |
| 	  Say 'N' for more sensitive systems or systems that don't want
 | |
| 	  to ever access the information to not have the code, nor keep any
 | |
| 	  data.
 | |
| 
 | |
| 	  If unsure, say Y.
 | |
| 
 | |
| config DEV_COREDUMP
 | |
| 	bool
 | |
| 	default y if WANT_DEV_COREDUMP
 | |
| 	depends on ALLOW_DEV_COREDUMP
 | |
| 
 | |
| config DEBUG_DRIVER
 | |
| 	bool "Driver Core verbose debug messages"
 | |
| 	depends on DEBUG_KERNEL
 | |
| 	help
 | |
| 	  Say Y here if you want the Driver core to produce a bunch of
 | |
| 	  debug messages to the system log. Select this if you are having a
 | |
| 	  problem with the driver core and want to see more of what is
 | |
| 	  going on.
 | |
| 
 | |
| 	  If you are unsure about this, say N here.
 | |
| 
 | |
| config DEBUG_DEVRES
 | |
| 	bool "Managed device resources verbose debug messages"
 | |
| 	depends on DEBUG_KERNEL
 | |
| 	help
 | |
| 	  This option enables kernel parameter devres.log. If set to
 | |
| 	  non-zero, devres debug messages are printed. Select this if
 | |
| 	  you are having a problem with devres or want to debug
 | |
| 	  resource management for a managed device. devres.log can be
 | |
| 	  switched on and off from sysfs node.
 | |
| 
 | |
| 	  If you are unsure about this, Say N here.
 | |
| 
 | |
| config SYS_HYPERVISOR
 | |
| 	bool
 | |
| 	default n
 | |
| 
 | |
| config GENERIC_CPU_DEVICES
 | |
| 	bool
 | |
| 	default n
 | |
| 
 | |
| config HAVE_CPU_AUTOPROBE
 | |
| 	def_bool ARCH_HAS_CPU_AUTOPROBE
 | |
| 
 | |
| config GENERIC_CPU_AUTOPROBE
 | |
| 	bool
 | |
| 	depends on !ARCH_HAS_CPU_AUTOPROBE
 | |
| 	select HAVE_CPU_AUTOPROBE
 | |
| 
 | |
| config SOC_BUS
 | |
| 	bool
 | |
| 
 | |
| source "drivers/base/regmap/Kconfig"
 | |
| 
 | |
| config DMA_SHARED_BUFFER
 | |
| 	bool
 | |
| 	default n
 | |
| 	select ANON_INODES
 | |
| 	help
 | |
| 	  This option enables the framework for buffer-sharing between
 | |
| 	  multiple drivers. A buffer is associated with a file using driver
 | |
| 	  APIs extension; the file's descriptor can then be passed on to other
 | |
| 	  driver.
 | |
| 
 | |
| config FENCE_TRACE
 | |
| 	bool "Enable verbose FENCE_TRACE messages"
 | |
| 	depends on DMA_SHARED_BUFFER
 | |
| 	help
 | |
| 	  Enable the FENCE_TRACE printks. This will add extra
 | |
| 	  spam to the console log, but will make it easier to diagnose
 | |
| 	  lockup related problems for dma-buffers shared across multiple
 | |
| 	  devices.
 | |
| 
 | |
| config DMA_CMA
 | |
| 	bool "DMA Contiguous Memory Allocator"
 | |
| 	depends on HAVE_DMA_CONTIGUOUS && CMA
 | |
| 	help
 | |
| 	  This enables the Contiguous Memory Allocator which allows drivers
 | |
| 	  to allocate big physically-contiguous blocks of memory for use with
 | |
| 	  hardware components that do not support I/O map nor scatter-gather.
 | |
| 
 | |
| 	  You can disable CMA by specifying "cma=0" on the kernel's command
 | |
| 	  line.
 | |
| 
 | |
| 	  For more information see <include/linux/dma-contiguous.h>.
 | |
| 	  If unsure, say "n".
 | |
| 
 | |
| if  DMA_CMA
 | |
| comment "Default contiguous memory area size:"
 | |
| 
 | |
| config CMA_SIZE_MBYTES
 | |
| 	int "Size in Mega Bytes"
 | |
| 	depends on !CMA_SIZE_SEL_PERCENTAGE
 | |
| 	default 16
 | |
| 	help
 | |
| 	  Defines the size (in MiB) of the default memory area for Contiguous
 | |
| 	  Memory Allocator.
 | |
| 
 | |
| config CMA_SIZE_PERCENTAGE
 | |
| 	int "Percentage of total memory"
 | |
| 	depends on !CMA_SIZE_SEL_MBYTES
 | |
| 	default 10
 | |
| 	help
 | |
| 	  Defines the size of the default memory area for Contiguous Memory
 | |
| 	  Allocator as a percentage of the total memory in the system.
 | |
| 
 | |
| choice
 | |
| 	prompt "Selected region size"
 | |
| 	default CMA_SIZE_SEL_MBYTES
 | |
| 
 | |
| config CMA_SIZE_SEL_MBYTES
 | |
| 	bool "Use mega bytes value only"
 | |
| 
 | |
| config CMA_SIZE_SEL_PERCENTAGE
 | |
| 	bool "Use percentage value only"
 | |
| 
 | |
| config CMA_SIZE_SEL_MIN
 | |
| 	bool "Use lower value (minimum)"
 | |
| 
 | |
| config CMA_SIZE_SEL_MAX
 | |
| 	bool "Use higher value (maximum)"
 | |
| 
 | |
| endchoice
 | |
| 
 | |
| config CMA_ALIGNMENT
 | |
| 	int "Maximum PAGE_SIZE order of alignment for contiguous buffers"
 | |
| 	range 4 12
 | |
| 	default 8
 | |
| 	help
 | |
| 	  DMA mapping framework by default aligns all buffers to the smallest
 | |
| 	  PAGE_SIZE order which is greater than or equal to the requested buffer
 | |
| 	  size. This works well for buffers up to a few hundreds kilobytes, but
 | |
| 	  for larger buffers it just a memory waste. With this parameter you can
 | |
| 	  specify the maximum PAGE_SIZE order for contiguous buffers. Larger
 | |
| 	  buffers will be aligned only to this specified order. The order is
 | |
| 	  expressed as a power of two multiplied by the PAGE_SIZE.
 | |
| 
 | |
| 	  For example, if your system defaults to 4KiB pages, the order value
 | |
| 	  of 8 means that the buffers will be aligned up to 1MiB only.
 | |
| 
 | |
| 	  If unsure, leave the default value "8".
 | |
| 
 | |
| endif
 | |
| 
 | |
| endmenu
 | 
