usb: gadget Kconfig cleanup
authorDavid Brownell <dbrownell@users.sourceforge.net>
Fri, 15 Aug 2008 00:04:48 +0000 (17:04 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 17 Oct 2008 21:40:52 +0000 (14:40 -0700)
This reorders the list of USB peripheral controller drivers so it's
more common for the initial (default) value to be relevant:  put the
SOC integrated silicon up front, discrete stuff last.  Alphabetize.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/gadget/Kconfig

index acc95b2ac6f85ad24c9fc067bdc511a3e50a9589..5dda2dc708dbfd9c0d50cc0cd6c9229badb7366d 100644 (file)
@@ -85,6 +85,13 @@ config       USB_GADGET_SELECTED
 #
 # USB Peripheral Controller Support
 #
+# The order here is alphabetical, except that integrated controllers go
+# before discrete ones so they will be the initial/default value:
+#   - integrated/SOC controllers first
+#   - licensed IP used in both SOC and discrete versions
+#   - discrete ones (including all PCI-only controllers)
+#   - debug/dummy gadget+hcd is last.
+#
 choice
        prompt "USB Peripheral Controller"
        depends on USB_GADGET
@@ -94,26 +101,27 @@ choice
           Many controller drivers are platform-specific; these
           often need board-specific hooks.
 
-config USB_GADGET_AMD5536UDC
-       boolean "AMD5536 UDC"
-       depends on PCI
-       select USB_GADGET_DUALSPEED
+#
+# Integrated controllers
+#
+
+config USB_GADGET_AT91
+       boolean "Atmel AT91 USB Device Port"
+       depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9
+       select USB_GADGET_SELECTED
        help
-          The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge.
-          It is a USB Highspeed DMA capable USB device controller. Beside ep0
-          it provides 4 IN and 4 OUT endpoints (bulk or interrupt type).
-          The UDC port supports OTG operation, and may be used as a host port
-          if it's not being used to implement peripheral or OTG roles.
+          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 "amd5536udc" and force all
+          dynamically linked module called "at91_udc" and force all
           gadget drivers to also be dynamically linked.
 
-config USB_AMD5536UDC
+config USB_AT91
        tristate
-       depends on USB_GADGET_AMD5536UDC
+       depends on USB_GADGET_AT91
        default USB_GADGET
-       select USB_GADGET_SELECTED
 
 config USB_GADGET_ATMEL_USBA
        boolean "Atmel USBA"
@@ -150,28 +158,50 @@ config USB_FSL_USB2
        default USB_GADGET
        select USB_GADGET_SELECTED
 
-config USB_GADGET_NET2280
-       boolean "NetChip 228x"
-       depends on PCI
-       select USB_GADGET_DUALSPEED
+config USB_GADGET_LH7A40X
+       boolean "LH7A40X"
+       depends on ARCH_LH7A40X
        help
-          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
-          (for control transfers) and several endpoints with dedicated
-          functions.
+          This driver provides USB Device Controller driver for LH7A40x
+
+config USB_LH7A40X
+       tristate
+       depends on USB_GADGET_LH7A40X
+       default USB_GADGET
+       select USB_GADGET_SELECTED
+
+config USB_GADGET_OMAP
+       boolean "OMAP USB Device Controller"
+       depends on ARCH_OMAP
+       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
+          endpoints (plus endpoint zero).  This driver supports the
+          controller in the OMAP 1611, and should work with controllers
+          in other OMAP processors too, given minor tweaks.
 
           Say "y" to link the driver statically, or "m" to build a
-          dynamically linked module called "net2280" and force all
+          dynamically linked module called "omap_udc" and force all
           gadget drivers to also be dynamically linked.
 
-config USB_NET2280
+config USB_OMAP
        tristate
-       depends on USB_GADGET_NET2280
+       depends on USB_GADGET_OMAP
        default USB_GADGET
        select USB_GADGET_SELECTED
 
+config USB_OTG
+       boolean "OTG Support"
+       depends on USB_GADGET_OMAP && ARCH_OMAP_OTG && USB_OHCI_HCD
+       help
+          The most notable feature of USB OTG is support for a
+          "Dual-Role" device, which can act as either a device
+          or a host.  The initial role choice can be changed
+          later, when two dual-role devices talk to each other.
+
+          Select this only if your OMAP board has a Mini-AB connector.
+
 config USB_GADGET_PXA25X
        boolean "PXA 25x or IXP 4xx"
        depends on (ARCH_PXA && PXA25x) || ARCH_IXP4XX
@@ -203,34 +233,6 @@ config USB_PXA25X_SMALL
        default y if USB_ETH
        default y if USB_G_SERIAL
 
-config USB_GADGET_M66592
-       boolean "Renesas M66592 USB Peripheral Controller"
-       select USB_GADGET_DUALSPEED
-       help
-          M66592 is a discrete USB peripheral controller chip that
-          supports both full and high speed USB 2.0 data transfers.
-          It has seven configurable endpoints, and endpoint zero.
-
-          Say "y" to link the driver statically, or "m" to build a
-          dynamically linked module called "m66592_udc" and force all
-          gadget drivers to also be dynamically linked.
-
-config USB_M66592
-       tristate
-       depends on USB_GADGET_M66592
-       default USB_GADGET
-       select USB_GADGET_SELECTED
-
-config SUPERH_BUILT_IN_M66592
-       boolean "Enable SuperH built-in USB like the M66592"
-       depends on USB_GADGET_M66592 && CPU_SUBTYPE_SH7722
-       help
-          SH7722 has USB like the M66592.
-
-          The transfer rate is very slow when use "Ethernet Gadget".
-          However, this problem is improved if change a value of
-          NET_IP_ALIGN to 4.
-
 config USB_GADGET_PXA27X
        boolean "PXA 27x"
        depends on ARCH_PXA && PXA27x
@@ -251,40 +253,32 @@ config USB_PXA27X
        default USB_GADGET
        select USB_GADGET_SELECTED
 
-config USB_GADGET_GOKU
-       boolean "Toshiba TC86C001 'Goku-S'"
-       depends on PCI
+config USB_GADGET_S3C2410
+       boolean "S3C2410 USB Device Controller"
+       depends on ARCH_S3C2410
        help
-          The Toshiba TC86C001 is a PCI device which includes controllers
-          for full speed USB devices, IDE, I2C, SIO, plus a USB host (OHCI).
-          
-          The device controller has three configurable (bulk or interrupt)
-          endpoints, plus endpoint zero (for control transfers).
+         Samsung's S3C2410 is an ARM-4 processor with an integrated
+         full speed USB 1.1 device controller.  It has 4 configurable
+         endpoints, as well as endpoint zero (for control transfers).
 
-          Say "y" to link the driver statically, or "m" to build a
-          dynamically linked module called "goku_udc" and to force all
-          gadget drivers to also be dynamically linked.
+         This driver has been tested on the S3C2410, S3C2412, and
+         S3C2440 processors.
 
-config USB_GOKU
+config USB_S3C2410
        tristate
-       depends on USB_GADGET_GOKU
+       depends on USB_GADGET_S3C2410
        default USB_GADGET
        select USB_GADGET_SELECTED
 
+config USB_S3C2410_DEBUG
+       boolean "S3C2410 udc debug messages"
+       depends on USB_GADGET_S3C2410
 
-config USB_GADGET_LH7A40X
-       boolean "LH7A40X"
-       depends on ARCH_LH7A40X
-       help
-    This driver provides USB Device Controller driver for LH7A40x
-
-config USB_LH7A40X
-       tristate
-       depends on USB_GADGET_LH7A40X
-       default USB_GADGET
-       select USB_GADGET_SELECTED
+#
+# Controllers available in both integrated and discrete versions
+#
 
-# built in ../musb along with host support
+# musb builds in ../musb along with host support
 config USB_GADGET_MUSB_HDRC
        boolean "Inventra HDRC USB Peripheral (TI, ...)"
        depends on USB_MUSB_HDRC && (USB_MUSB_PERIPHERAL || USB_MUSB_OTG)
@@ -294,76 +288,105 @@ config USB_GADGET_MUSB_HDRC
          This OTG-capable silicon IP is used in dual designs including
          the TI DaVinci, OMAP 243x, OMAP 343x, and TUSB 6010.
 
-config USB_GADGET_OMAP
-       boolean "OMAP USB Device Controller"
-       depends on ARCH_OMAP
-       select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
+config USB_GADGET_M66592
+       boolean "Renesas M66592 USB Peripheral Controller"
+       select USB_GADGET_DUALSPEED
        help
-          Many Texas Instruments OMAP processors have flexible full
-          speed USB device controllers, with support for up to 30
-          endpoints (plus endpoint zero).  This driver supports the
-          controller in the OMAP 1611, and should work with controllers
-          in other OMAP processors too, given minor tweaks.
+          M66592 is a discrete USB peripheral controller chip that
+          supports both full and high speed USB 2.0 data transfers.
+          It has seven configurable endpoints, and endpoint zero.
 
           Say "y" to link the driver statically, or "m" to build a
-          dynamically linked module called "omap_udc" and force all
+          dynamically linked module called "m66592_udc" and force all
           gadget drivers to also be dynamically linked.
 
-config USB_OMAP
+config USB_M66592
        tristate
-       depends on USB_GADGET_OMAP
+       depends on USB_GADGET_M66592
        default USB_GADGET
        select USB_GADGET_SELECTED
 
-config USB_OTG
-       boolean "OTG Support"
-       depends on USB_GADGET_OMAP && ARCH_OMAP_OTG && USB_OHCI_HCD
+config SUPERH_BUILT_IN_M66592
+       boolean "Enable SuperH built-in USB like the M66592"
+       depends on USB_GADGET_M66592 && CPU_SUBTYPE_SH7722
        help
-          The most notable feature of USB OTG is support for a
-          "Dual-Role" device, which can act as either a device
-          or a host.  The initial role choice can be changed
-          later, when two dual-role devices talk to each other.
+          SH7722 has USB like the M66592.
 
-          Select this only if your OMAP board has a Mini-AB connector.
+          The transfer rate is very slow when use "Ethernet Gadget".
+          However, this problem is improved if change a value of
+          NET_IP_ALIGN to 4.
 
-config USB_GADGET_S3C2410
-       boolean "S3C2410 USB Device Controller"
-       depends on ARCH_S3C2410
+#
+# Controllers available only in discrete form (and all PCI controllers)
+#
+
+config USB_GADGET_AMD5536UDC
+       boolean "AMD5536 UDC"
+       depends on PCI
+       select USB_GADGET_DUALSPEED
        help
-         Samsung's S3C2410 is an ARM-4 processor with an integrated
-         full speed USB 1.1 device controller.  It has 4 configurable
-         endpoints, as well as endpoint zero (for control transfers).
+          The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge.
+          It is a USB Highspeed DMA capable USB device controller. Beside ep0
+          it provides 4 IN and 4 OUT endpoints (bulk or interrupt type).
+          The UDC port supports OTG operation, and may be used as a host port
+          if it's not being used to implement peripheral or OTG roles.
 
-         This driver has been tested on the S3C2410, S3C2412, and
-         S3C2440 processors.
+          Say "y" to link the driver statically, or "m" to build a
+          dynamically linked module called "amd5536udc" and force all
+          gadget drivers to also be dynamically linked.
 
-config USB_S3C2410
+config USB_AMD5536UDC
        tristate
-       depends on USB_GADGET_S3C2410
+       depends on USB_GADGET_AMD5536UDC
        default USB_GADGET
        select USB_GADGET_SELECTED
 
-config USB_S3C2410_DEBUG
-       boolean "S3C2410 udc debug messages"
-       depends on USB_GADGET_S3C2410
+config USB_GADGET_NET2280
+       boolean "NetChip 228x"
+       depends on PCI
+       select USB_GADGET_DUALSPEED
+       help
+          NetChip 2280 / 2282 is a PCI based USB peripheral controller which
+          supports both full and high speed USB 2.0 data transfers.
 
-config USB_GADGET_AT91
-       boolean "AT91 USB Device Port"
-       depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9
+          It has six configurable endpoints, as well as endpoint zero
+          (for control transfers) and several endpoints with dedicated
+          functions.
+
+          Say "y" to link the driver statically, or "m" to build a
+          dynamically linked module called "net2280" and force all
+          gadget drivers to also be dynamically linked.
+
+config USB_NET2280
+       tristate
+       depends on USB_GADGET_NET2280
+       default USB_GADGET
        select USB_GADGET_SELECTED
+
+config USB_GADGET_GOKU
+       boolean "Toshiba TC86C001 'Goku-S'"
+       depends on PCI
        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).
+          The Toshiba TC86C001 is a PCI device which includes controllers
+          for full speed USB devices, IDE, I2C, SIO, plus a USB host (OHCI).
+
+          The device controller has three configurable (bulk or interrupt)
+          endpoints, plus endpoint zero (for control transfers).
 
           Say "y" to link the driver statically, or "m" to build a
-          dynamically linked module called "at91_udc" and force all
+          dynamically linked module called "goku_udc" and to force all
           gadget drivers to also be dynamically linked.
 
-config USB_AT91
+config USB_GOKU
        tristate
-       depends on USB_GADGET_AT91
+       depends on USB_GADGET_GOKU
        default USB_GADGET
+       select USB_GADGET_SELECTED
+
+
+#
+# LAST -- dummy/emulated controller
+#
 
 config USB_GADGET_DUMMY_HCD
        boolean "Dummy HCD (DEVELOPMENT)"