Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / drivers / usb / gadget / Kconfig
index fa34e8a..363b2ad 100644 (file)
@@ -53,6 +53,9 @@ config USB_GADGET_DEBUG_FILES
           driver on a new board.   Enable these files by choosing "Y"
           here.  If in doubt, or to conserve kernel memory, say "N".
 
+config USB_GADGET_SELECTED
+       boolean
+
 #
 # USB Peripheral Controller Support
 #
@@ -66,11 +69,11 @@ choice
           often need board-specific hooks.
 
 config USB_GADGET_NET2280
-       boolean "NetChip 2280"
+       boolean "NetChip 228x"
        depends on PCI
        select USB_GADGET_DUALSPEED
        help
-          NetChip 2280 is a PCI based USB peripheral controller which
+          NetChip 2280 / 2282 is a PCI based USB peripheral controller which
           supports both full and high speed USB 2.0 data transfers.  
           
           It has six configurable endpoints, as well as endpoint zero
@@ -85,12 +88,13 @@ config USB_NET2280
        tristate
        depends on USB_GADGET_NET2280
        default USB_GADGET
+       select USB_GADGET_SELECTED
 
 config USB_GADGET_PXA2XX
-       boolean "PXA 2xx or IXP 4xx"
-       depends on ARCH_PXA || ARCH_IXP4XX
+       boolean "PXA 25x or IXP 4xx"
+       depends on (ARCH_PXA && PXA25x) || ARCH_IXP4XX
        help
-          Intel's PXA 2xx series XScale ARM-5TE processors include
+          Intel's PXA 25x series XScale ARM-5TE processors include
           an integrated full speed USB 1.1 device controller.  The
           controller in the IXP 4xx series is register-compatible.
 
@@ -105,6 +109,7 @@ config USB_PXA2XX
        tristate
        depends on USB_GADGET_PXA2XX
        default USB_GADGET
+       select USB_GADGET_SELECTED
 
 # if there's only one gadget driver, using only two bulk endpoints,
 # don't waste memory for the other endpoints
@@ -134,22 +139,8 @@ config USB_GOKU
        tristate
        depends on USB_GADGET_GOKU
        default USB_GADGET
+       select USB_GADGET_SELECTED
 
-# this could be built elsewhere (doesn't yet exist)
-config USB_GADGET_SA1100
-       boolean "SA 1100"
-       depends on ARCH_SA1100
-       help
-          Intel's SA-1100 is an ARM-4 processor with an integrated
-          full speed USB 1.1 device controller.
-
-          It has two fixed-function endpoints, as well as endpoint
-          zero (for control transfers).
-
-config USB_SA1100
-       tristate
-       depends on USB_GADGET_SA1100
-       default USB_GADGET
 
 config USB_GADGET_LH7A40X
        boolean "LH7A40X"
@@ -161,40 +152,13 @@ config USB_LH7A40X
        tristate
        depends on USB_GADGET_LH7A40X
        default USB_GADGET
+       select USB_GADGET_SELECTED
 
 
-config USB_GADGET_DUMMY_HCD
-       boolean "Dummy HCD (DEVELOPMENT)"
-       depends on USB && EXPERIMENTAL
-       select USB_GADGET_DUALSPEED
-       help
-         This host controller driver emulates USB, looping all data transfer
-         requests back to a USB "gadget driver" in the same host.  The host
-         side is the master; the gadget side is the slave.  Gadget drivers
-         can be high, full, or low speed; and they have access to endpoints
-         like those from NET2280, PXA2xx, or SA1100 hardware.
-         
-         This may help in some stages of creating a driver to embed in a
-         Linux device, since it lets you debug several parts of the gadget
-         driver without its hardware or drivers being involved.
-         
-         Since such a gadget side driver needs to interoperate with a host
-         side Linux-USB device driver, this may help to debug both sides
-         of a USB protocol stack.
-
-         Say "y" to link the driver statically, or "m" to build a
-         dynamically linked module called "dummy_hcd" and force all
-         gadget drivers to also be dynamically linked.
-
-config USB_DUMMY_HCD
-       tristate
-       depends on USB_GADGET_DUMMY_HCD
-       default USB_GADGET
-
 config USB_GADGET_OMAP
        boolean "OMAP USB Device Controller"
        depends on ARCH_OMAP
-       select ISP1301_OMAP if MACH_OMAP_H2
+       select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
        help
           Many Texas Instruments OMAP processors have flexible full
           speed USB device controllers, with support for up to 30
@@ -210,6 +174,7 @@ config USB_OMAP
        tristate
        depends on USB_GADGET_OMAP
        default USB_GADGET
+       select USB_GADGET_SELECTED
 
 config USB_OTG
        boolean "OTG Support"
@@ -222,6 +187,56 @@ config USB_OTG
 
           Select this only if your OMAP board has a Mini-AB connector.
 
+config USB_GADGET_AT91
+       boolean "AT91 USB Device Port"
+       depends on ARCH_AT91RM9200
+       select USB_GADGET_SELECTED
+       help
+          Many Atmel AT91 processors (such as the AT91RM2000) have a
+          full speed USB Device Port with support for five configurable
+          endpoints (plus endpoint zero).
+
+          Say "y" to link the driver statically, or "m" to build a
+          dynamically linked module called "at91_udc" and force all
+          gadget drivers to also be dynamically linked.
+
+config USB_AT91
+       tristate
+       depends on USB_GADGET_AT91
+       default USB_GADGET
+
+config USB_GADGET_DUMMY_HCD
+       boolean "Dummy HCD (DEVELOPMENT)"
+       depends on USB && EXPERIMENTAL
+       select USB_GADGET_DUALSPEED
+       help
+         This host controller driver emulates USB, looping all data transfer
+         requests back to a USB "gadget driver" in the same host.  The host
+         side is the master; the gadget side is the slave.  Gadget drivers
+         can be high, full, or low speed; and they have access to endpoints
+         like those from NET2280, PXA2xx, or SA1100 hardware.
+         
+         This may help in some stages of creating a driver to embed in a
+         Linux device, since it lets you debug several parts of the gadget
+         driver without its hardware or drivers being involved.
+         
+         Since such a gadget side driver needs to interoperate with a host
+         side Linux-USB device driver, this may help to debug both sides
+         of a USB protocol stack.
+
+         Say "y" to link the driver statically, or "m" to build a
+         dynamically linked module called "dummy_hcd" and force all
+         gadget drivers to also be dynamically linked.
+
+config USB_DUMMY_HCD
+       tristate
+       depends on USB_GADGET_DUMMY_HCD
+       default USB_GADGET
+       select USB_GADGET_SELECTED
+
+# NOTE:  Please keep dummy_hcd LAST so that "real hardware" appears
+# first and will be selected by default.
+
 endchoice
 
 config USB_GADGET_DUALSPEED
@@ -237,7 +252,7 @@ config USB_GADGET_DUALSPEED
 #
 choice
        tristate "USB Gadget Drivers"
-       depends on USB_GADGET
+       depends on USB_GADGET && USB_GADGET_SELECTED
        default USB_ETH
        help
          A Linux "Gadget Driver" talks to the USB Peripheral Controller
@@ -355,8 +370,6 @@ config USB_GADGETFS
 
 config USB_FILE_STORAGE
        tristate "File-backed Storage Gadget"
-       # we don't support the SA1100 because of its limitations
-       depends on USB_GADGET_SA1100 = n
        help
          The File-backed Storage Gadget acts as a USB Mass Storage
          disk drive.  As its storage repository it can use a regular