usb/gadget: Kconfig: fix separate building of configfs-enabled functions
authorAndrzej Pietrasiewicz <andrzej.p@samsung.com>
Thu, 13 Jun 2013 08:37:24 +0000 (10:37 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 Jun 2013 20:41:57 +0000 (13:41 -0700)
USB_CONFGFS_ZZZZ should appear under a tristate option in order to allow
selecting more than one function without building the legacy gadgets.
Now there are two problems:

1) they can't be selected at all, because they depend on USB_CONFIGFS,
and the patch which adds USB_CONFIGFS has not been merged.
2) they don't select USB_LIBCOMPOSITE (which they need but which is
selected by USB_CONFIGFS)

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/Kconfig

index 2b2a11c8977a881e279fbf20fed2bf6148058fa5..01b8229fa86207848c02325b20b8229ea3aa152c 100644 (file)
@@ -560,6 +560,70 @@ choice
 
 # this first set of drivers all depend on bulk-capable hardware.
 
+config USB_CONFIGFS
+       tristate "USB functions configurable through configfs"
+       select USB_LIBCOMPOSITE
+       help
+         A Linux USB "gadget" can be set up through configfs.
+         If this is the case, the USB functions (which from the host's
+         perspective are seen as interfaces) and configurations are
+         specified simply by creating appropriate directories in configfs.
+         Associating functions with configurations is done by creating
+         appropriate symbolic links.
+         For more information see Documentation/usb/gadget-configfs.txt.
+
+config USB_CONFIGFS_SERIAL
+       boolean "Generic serial bulk in/out"
+       depends on USB_CONFIGFS
+       depends on TTY
+       select USB_U_SERIAL
+       select USB_F_SERIAL
+       help
+         The function talks to the Linux-USB generic serial driver.
+
+config USB_CONFIGFS_ACM
+       boolean "Abstract Control Model (CDC ACM)"
+       depends on USB_CONFIGFS
+       depends on TTY
+       select USB_U_SERIAL
+       select USB_F_ACM
+       help
+         ACM serial link.  This function can be used to interoperate with
+         MS-Windows hosts or with the Linux-USB "cdc-acm" driver.
+
+config USB_CONFIGFS_OBEX
+       boolean "Object Exchange Model (CDC OBEX)"
+       depends on USB_CONFIGFS
+       depends on TTY
+       select USB_U_SERIAL
+       select USB_F_OBEX
+       help
+         You will need a user space OBEX server talking to /dev/ttyGS*,
+         since the kernel itself doesn't implement the OBEX protocol.
+
+config USB_CONFIGFS_NCM
+       boolean "Network Control Model (CDC NCM)"
+       depends on USB_CONFIGFS
+       depends on NET
+       select USB_U_ETHER
+       select USB_F_NCM
+       help
+         NCM is an advanced protocol for Ethernet encapsulation, allows
+         grouping of several ethernet frames into one USB transfer and
+         different alignment possibilities.
+
+config USB_CONFIGFS_ECM
+       boolean "Ethernet Control Model (CDC ECM)"
+       depends on USB_CONFIGFS
+       depends on NET
+       select USB_U_ETHER
+       select USB_F_ECM
+       help
+         The "Communication Device Class" (CDC) Ethernet Control Model.
+         That protocol is often avoided with pure Ethernet adapters, in
+         favor of simpler vendor-specific hardware, but is widely
+         supported by firmware for smart network devices.
+
 config USB_CONFIGFS_ECM_SUBSET
        boolean "Ethernet Control Model (CDC ECM) subset"
        depends on USB_CONFIGFS