Kconfig 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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 n
  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 contains
  44. the device node, the other device contains the interface data. Both
  45. devices are at the same level in sysfs (siblings) and one can't access
  46. the other. The device node created directly by the usbdev is the parent
  47. device of the interface and therefore easily accessible from the interface
  48. event.
  49. This option provides backward compatibility if needed.
  50. config USB_DYNAMIC_MINORS
  51. bool "Dynamic USB minor allocation (EXPERIMENTAL)"
  52. depends on USB && EXPERIMENTAL
  53. help
  54. If you say Y here, the USB subsystem will use dynamic minor
  55. allocation for any device that uses the USB major number.
  56. This means that you can have more than 16 of a single type
  57. of device (like USB printers).
  58. If you are unsure about this, say N here.
  59. config USB_SUSPEND
  60. bool "USB selective suspend/resume and wakeup (EXPERIMENTAL)"
  61. depends on USB && PM && EXPERIMENTAL
  62. help
  63. If you say Y here, you can use driver calls or the sysfs
  64. "power/state" file to suspend or resume individual USB
  65. peripherals.
  66. Also, USB "remote wakeup" signaling is supported, whereby some
  67. USB devices (like keyboards and network adapters) can wake up
  68. their parent hub. That wakeup cascades up the USB tree, and
  69. could wake the system from states like suspend-to-RAM.
  70. If you are unsure about this, say N here.
  71. config USB_OTG
  72. bool
  73. depends on USB && EXPERIMENTAL
  74. select USB_SUSPEND
  75. default n
  76. config USB_OTG_WHITELIST
  77. bool "Rely on OTG Targeted Peripherals List"
  78. depends on USB_OTG
  79. default y
  80. help
  81. If you say Y here, the "otg_whitelist.h" file will be used as a
  82. product whitelist, so USB peripherals not listed there will be
  83. rejected during enumeration. This behavior is required by the
  84. USB OTG specification for all devices not on your product's
  85. "Targeted Peripherals List".
  86. Otherwise, peripherals not listed there will only generate a
  87. warning and enumeration will continue. That's more like what
  88. normal Linux-USB hosts do (other than the warning), and is
  89. convenient for many stages of product development.
  90. config USB_OTG_BLACKLIST_HUB
  91. bool "Disable external hubs"
  92. depends on USB_OTG
  93. help
  94. If you say Y here, then Linux will refuse to enumerate
  95. external hubs. OTG hosts are allowed to reduce hardware
  96. and software costs by not supporting external hubs.