Kconfig 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. #
  2. # USB Core configuration
  3. #
  4. config USB_DEBUG
  5. bool "USB verbose debug messages"
  6. depends on USB
  7. help
  8. Say Y here if you want the USB core & hub drivers to produce a bunch
  9. of debug messages to the system log. Select this if you are having a
  10. problem with USB support and want to see more of what is going on.
  11. config USB_ANNOUNCE_NEW_DEVICES
  12. bool "USB announce new devices"
  13. depends on USB
  14. default N
  15. help
  16. Say Y here if you want the USB core to always announce the
  17. idVendor, idProduct, Manufacturer, Product, and SerialNumber
  18. strings for every new USB device to the syslog. This option is
  19. usually used by distro vendors to help with debugging and to
  20. let users know what specific device was added to the machine
  21. in what location.
  22. If you do not want this kind of information sent to the system
  23. log, or have any doubts about this, say N here.
  24. comment "Miscellaneous USB options"
  25. depends on USB
  26. config USB_DEVICEFS
  27. bool "USB device filesystem (DEPRECATED)"
  28. depends on USB
  29. ---help---
  30. If you say Y here (and to "/proc file system support" in the "File
  31. systems" section, above), you will get a file /proc/bus/usb/devices
  32. which lists the devices currently connected to your USB bus or
  33. busses, and for every connected device a file named
  34. "/proc/bus/usb/xxx/yyy", where xxx is the bus number and yyy the
  35. device number; the latter files can be used by user space programs
  36. to talk directly to the device. These files are "virtual", meaning
  37. they are generated on the fly and not stored on the hard drive.
  38. You may need to mount the usbfs file system to see the files, use
  39. mount -t usbfs none /proc/bus/usb
  40. For the format of the various /proc/bus/usb/ files, please read
  41. <file:Documentation/usb/proc_usb_info.txt>.
  42. Modern Linux systems do not use this.
  43. Usbfs entries are files and not character devices; usbfs can't
  44. handle Access Control Lists (ACL) which are the default way to
  45. grant access to USB devices for untrusted users of a desktop
  46. system.
  47. The usbfs functionality is replaced by real device-nodes managed by
  48. udev. These nodes lived in /dev/bus/usb and are used by libusb.
  49. config USB_DEVICE_CLASS
  50. bool "USB device class-devices (DEPRECATED)"
  51. depends on USB
  52. default y
  53. ---help---
  54. Userspace access to USB devices is granted by device-nodes exported
  55. directly from the usbdev in sysfs. Old versions of the driver
  56. core and udev needed additional class devices to export device nodes.
  57. These additional devices are difficult to handle in userspace, if
  58. information about USB interfaces must be available. One device
  59. contains the device node, the other device contains the interface
  60. data. Both devices are at the same level in sysfs (siblings) and one
  61. can't access the other. The device node created directly by the
  62. usb device is the parent device of the interface and therefore
  63. easily accessible from the interface event.
  64. This option provides backward compatibility for libusb device
  65. nodes (lsusb) when usbfs is not used, and the following udev rule
  66. doesn't exist:
  67. SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", \
  68. NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"
  69. config USB_DYNAMIC_MINORS
  70. bool "Dynamic USB minor allocation"
  71. depends on USB
  72. help
  73. If you say Y here, the USB subsystem will use dynamic minor
  74. allocation for any device that uses the USB major number.
  75. This means that you can have more than 16 of a single type
  76. of device (like USB printers).
  77. If you are unsure about this, say N here.
  78. config USB_SUSPEND
  79. bool "USB selective suspend/resume and wakeup"
  80. depends on USB && PM
  81. help
  82. If you say Y here, you can use driver calls or the sysfs
  83. "power/level" file to suspend or resume individual USB
  84. peripherals and to enable or disable autosuspend (see
  85. Documentation/usb/power-management.txt for more details).
  86. Also, USB "remote wakeup" signaling is supported, whereby some
  87. USB devices (like keyboards and network adapters) can wake up
  88. their parent hub. That wakeup cascades up the USB tree, and
  89. could wake the system from states like suspend-to-RAM.
  90. If you are unsure about this, say N here.
  91. config USB_OTG
  92. bool
  93. depends on USB && EXPERIMENTAL
  94. select USB_SUSPEND
  95. default n
  96. config USB_OTG_WHITELIST
  97. bool "Rely on OTG Targeted Peripherals List"
  98. depends on USB_OTG || EMBEDDED
  99. default y if USB_OTG
  100. default n if EMBEDDED
  101. help
  102. If you say Y here, the "otg_whitelist.h" file will be used as a
  103. product whitelist, so USB peripherals not listed there will be
  104. rejected during enumeration. This behavior is required by the
  105. USB OTG specification for all devices not on your product's
  106. "Targeted Peripherals List". "Embedded Hosts" are likewise
  107. allowed to support only a limited number of peripherals.
  108. Otherwise, peripherals not listed there will only generate a
  109. warning and enumeration will continue. That's more like what
  110. normal Linux-USB hosts do (other than the warning), and is
  111. convenient for many stages of product development.
  112. config USB_OTG_BLACKLIST_HUB
  113. bool "Disable external hubs"
  114. depends on USB_OTG || EMBEDDED
  115. help
  116. If you say Y here, then Linux will refuse to enumerate
  117. external hubs. OTG hosts are allowed to reduce hardware
  118. and software costs by not supporting external hubs. So
  119. are "Embedded Hosts" that don't offer OTG support.