Kconfig 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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"
  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. Usbfs files can't handle Access Control Lists (ACL), which are the
  43. default way to grant access to USB devices for untrusted users of a
  44. desktop system. The usbfs functionality is replaced by real
  45. device-nodes managed by udev. These nodes live in /dev/bus/usb and
  46. are used by libusb.
  47. config USB_DEVICE_CLASS
  48. bool "USB device class-devices (DEPRECATED)"
  49. depends on USB
  50. default y
  51. ---help---
  52. Userspace access to USB devices is granted by device-nodes exported
  53. directly from the usbdev in sysfs. Old versions of the driver
  54. core and udev needed additional class devices to export device nodes.
  55. These additional devices are difficult to handle in userspace, if
  56. information about USB interfaces must be available. One device
  57. contains the device node, the other device contains the interface
  58. data. Both devices are at the same level in sysfs (siblings) and one
  59. can't access the other. The device node created directly by the
  60. usb device is the parent device of the interface and therefore
  61. easily accessible from the interface event.
  62. This option provides backward compatibility for libusb device
  63. nodes (lsusb) when usbfs is not used, and the following udev rule
  64. doesn't exist:
  65. SUBSYSTEM=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", \
  66. NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0644"
  67. config USB_DYNAMIC_MINORS
  68. bool "Dynamic USB minor allocation"
  69. depends on USB
  70. help
  71. If you say Y here, the USB subsystem will use dynamic minor
  72. allocation for any device that uses the USB major number.
  73. This means that you can have more than 16 of a single type
  74. of device (like USB printers).
  75. If you are unsure about this, say N here.
  76. config USB_SUSPEND
  77. bool "USB selective suspend/resume and wakeup"
  78. depends on USB && PM
  79. help
  80. If you say Y here, you can use driver calls or the sysfs
  81. "power/level" file to suspend or resume individual USB
  82. peripherals and to enable or disable autosuspend (see
  83. Documentation/usb/power-management.txt for more details).
  84. Also, USB "remote wakeup" signaling is supported, whereby some
  85. USB devices (like keyboards and network adapters) can wake up
  86. their parent hub. That wakeup cascades up the USB tree, and
  87. could wake the system from states like suspend-to-RAM.
  88. If you are unsure about this, say N here.
  89. config USB_OTG
  90. bool
  91. depends on USB && EXPERIMENTAL
  92. select USB_SUSPEND
  93. default n
  94. config USB_OTG_WHITELIST
  95. bool "Rely on OTG Targeted Peripherals List"
  96. depends on USB_OTG || EMBEDDED
  97. default y if USB_OTG
  98. default n if EMBEDDED
  99. help
  100. If you say Y here, the "otg_whitelist.h" file will be used as a
  101. product whitelist, so USB peripherals not listed there will be
  102. rejected during enumeration. This behavior is required by the
  103. USB OTG specification for all devices not on your product's
  104. "Targeted Peripherals List". "Embedded Hosts" are likewise
  105. allowed to support only a limited number of peripherals.
  106. Otherwise, peripherals not listed there will only generate a
  107. warning and enumeration will continue. That's more like what
  108. normal Linux-USB hosts do (other than the warning), and is
  109. convenient for many stages of product development.
  110. config USB_OTG_BLACKLIST_HUB
  111. bool "Disable external hubs"
  112. depends on USB_OTG || EMBEDDED
  113. help
  114. If you say Y here, then Linux will refuse to enumerate
  115. external hubs. OTG hosts are allowed to reduce hardware
  116. and software costs by not supporting external hubs. So
  117. are "Emedded Hosts" that don't offer OTG support.