Kconfig 4.4 KB

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