[PATCH v2] [RESEND] Enable USB gadget subsystem outside ARM

Lubomir Rintel lkundrak at v3.sk
Wed Mar 5 09:37:39 UTC 2014


It's generally useful. On other architectures the UDC capable hardware might
not be very common, but the dummy HCD makes it possible to use such hardware
for development and emulation of USB gadget driver code.
---
Changes since v2:
  * Rebased on v3.14-rc4-45-gd2a0476 (fedora package git: 2323b0271)
  * Do not move the modules to modules-extra

According to Peter & Adam, even certain Intel hardware has device mode 
capability, so this certainly is useful.

 config-armv7-generic | 58 -------------------------------------------------
 config-debug         |  5 +++++
 config-generic       | 61 ++++++++++++++++++++++++++++++++++++++++++++++++----
 config-nodebug       |  3 +++
 4 files changed, 65 insertions(+), 62 deletions(-)

diff --git a/config-armv7-generic b/config-armv7-generic
index a81ca01..d71e105 100644
--- a/config-armv7-generic
+++ b/config-armv7-generic
@@ -194,64 +194,6 @@ CONFIG_AX88796_93CX6=y
 CONFIG_USB_ISP1760_HCD=m
 # CONFIG_USB_EHCI_HCD_ORION is not set
 
-# usb gadget 
-CONFIG_USB_GADGET=m
-CONFIG_USB_GADGET_MUSB_HDRC=m
-CONFIG_USB_GADGET_VBUS_DRAW=100
-CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
-CONFIG_USB_MUSB_HDRC=m
-CONFIG_USB_MUSB_DUAL_ROLE=y
-CONFIG_USB_MUSB_DSPS=m
-CONFIG_USB_GPIO_VBUS=m
-CONFIG_USB_G_ACM_MS=m
-CONFIG_USB_G_DBGP=m
-CONFIG_USB_G_DBGP_PRINTK=y
-CONFIG_USB_G_DBGP_SERIAL=y
-CONFIG_USB_G_MULTI=m
-CONFIG_USB_G_MULTI_CDC=y
-# CONFIG_USB_G_MULTI_RNDIS is not set
-CONFIG_USB_G_NCM=m
-CONFIG_USB_G_SERIAL=m
-CONFIG_USB_ETH_EEM=y
-# CONFIG_USB_ETH_RNDIS is not set
-CONFIG_USB_CDC_COMPOSITE=m
-CONFIG_USB_GADGET_TARGET=m
-CONFIG_USB_MASS_STORAGE=m
-CONFIG_USB_CONFIGFS=m
-CONFIG_USB_CONFIGFS_ACM=y
-CONFIG_USB_CONFIGFS_ECM=y
-CONFIG_USB_CONFIGFS_ECM_SUBSET=y
-CONFIG_USB_CONFIGFS_EEM=y
-CONFIG_USB_CONFIGFS_MASS_STORAGE=y
-CONFIG_USB_CONFIGFS_NCM=y
-CONFIG_USB_CONFIGFS_OBEX=y
-# CONFIG_USB_CONFIGFS_RNDIS is not set
-CONFIG_USB_CONFIGFS_SERIAL=y
-CONFIG_USB_CONFIGFS_STORAGE=y
-# CONFIG_USB_CONFIGFS_F_LB_SS is not set
-# CONFIG_USB_CONFIGFS_F_FS is not set
-
-# CONFIG_MUSB_PIO_ONLY is not set
-# CONFIG_USB_MUSB_DEBUG is not set
-# CONFIG_USB_GADGET_DEBUG is not set
-# CONFIG_USB_GADGET_DEBUG_FILES is not set
-# CONFIG_USB_GADGET_DEBUG_FS is not set
-# CONFIG_USB_FUSB300 is not set
-# CONFIG_USB_RENESAS_USBHS is not set
-# CONFIG_USB_FOTG210_UDC is not set
-# CONFIG_USB_R8A66597 is not set
-# CONFIG_USB_PXA27X is not set
-# CONFIG_USB_MV_UDC is not set
-# CONFIG_USB_MV_U3D is not set
-# CONFIG_USB_M66592 is not set
-# CONFIG_USB_AMD5536UDC is not set
-# CONFIG_USB_NET2272 is not set
-# CONFIG_USB_NET2280 is not set
-# CONFIG_USB_GOKU is not set
-# CONFIG_USB_EG20T is not set
-# CONFIG_USB_DUMMY_HCD is not set
-# CONFIG_USB_ZERO_HNPTEST is not set
-
 # Multifunction Devices
 CONFIG_MFD_TPS65090=y
 CONFIG_MFD_TPS65217=y
diff --git a/config-debug b/config-debug
index e225326..dfaacdb 100644
--- a/config-debug
+++ b/config-debug
@@ -124,3 +124,8 @@ CONFIG_EDAC_DEBUG=y
 CONFIG_X86_DEBUG_STATIC_CPU_HAS=y
 CONFIG_LATENCYTOP=y
 CONFIG_SCHEDSTATS=y
+
+CONFIG_USB_GADGET_DEBUG=y
+CONFIG_USB_GADGET_DEBUG_FILES=y
+CONFIG_USB_GADGET_DEBUG_FS=y
+CONFIG_USB_GADGET_VERBOSE=y
diff --git a/config-generic b/config-generic
index fd1351d..cce441f 100644
--- a/config-generic
+++ b/config-generic
@@ -3714,7 +3714,6 @@ CONFIG_USB_ARMLINUX=y
 CONFIG_USB_EPSON2888=y
 CONFIG_USB_KC2190=y
 
-# CONFIG_USB_MUSB_HDRC is not set
 # CONFIG_USB_CHIPIDEA is not set
 
 #
@@ -3806,7 +3805,6 @@ CONFIG_USB_EZUSB=y
 CONFIG_USB_EMI62=m
 CONFIG_USB_LED=m
 # CONFIG_USB_CYPRESS_CY7C63 is not set
-CONFIG_USB_G_SERIAL=m
 
 #
 # USB Miscellaneous drivers
@@ -3842,9 +3840,64 @@ CONFIG_USB_ETH=m
 CONFIG_USB_FTDI_ELAN=m
 CONFIG_USB_FILE_STORAGE=m
 # CONFIG_USB_FILE_STORAGE_TEST is not set
-# CONFIG_USB_GADGET is not set
+
+# usb gadget 
+CONFIG_USB_GADGET=m
+CONFIG_USB_GADGET_MUSB_HDRC=m
+CONFIG_USB_GADGET_VBUS_DRAW=100
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+CONFIG_USB_MUSB_HDRC=m
+CONFIG_USB_MUSB_DUAL_ROLE=y
+CONFIG_USB_MUSB_DSPS=m
+CONFIG_USB_G_ACM_MS=m
+CONFIG_USB_G_DBGP=m
+CONFIG_USB_G_DBGP_SERIAL=y
+CONFIG_USB_G_MULTI=m
+CONFIG_USB_G_MULTI_CDC=y
+# CONFIG_USB_G_MULTI_RNDIS is not set
+CONFIG_USB_G_NCM=m
+CONFIG_USB_G_SERIAL=m
+CONFIG_USB_ETH_EEM=y
+# CONFIG_USB_ETH_RNDIS is not set
+CONFIG_USB_CDC_COMPOSITE=m
+CONFIG_USB_GADGET_TARGET=m
+CONFIG_USB_MASS_STORAGE=m
+CONFIG_USB_CONFIGFS=m
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+# CONFIG_USB_CONFIGFS_RNDIS is not set
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_STORAGE=y
+# CONFIG_USB_CONFIGFS_F_LB_SS is not set
+# CONFIG_USB_CONFIGFS_F_FS is not set
+
+# CONFIG_USB_RENESAS_USBHS is not set
+# CONFIG_USB_FOTG210_UDC is not set
+# CONFIG_USB_R8A66597 is not set
+# CONFIG_USB_PXA27X is not set
+# CONFIG_USB_MV_UDC is not set
+# CONFIG_USB_MV_U3D is not set
+# CONFIG_USB_M66592 is not set
+# CONFIG_USB_NET2272 is not set
+# CONFIG_USB_ZERO_HNPTEST is not set
+# CONFIG_USB_FUSB300 is not set
+# CONFIG_USB_AMD5536UDC is not set
+# CONFIG_USB_NET2280 is not set
+# CONFIG_USB_GOKU is not set
+# CONFIG_USB_EG20T is not set
+CONFIG_USB_DUMMY_HCD=m
+
 # CONFIG_USB_DWC3 is not set
-# CONFIG_USB_GADGETFS is not set
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FUNCTIONFS=m
+CONFIG_USB_FUNCTIONFS_ETH=y
+# CONFIG_USB_FUNCTIONFS_RNDIS is not set
+CONFIG_USB_FUNCTIONFS_GENERIC=y
 # CONFIG_USB_OXU210HP_HCD is not set
 CONFIG_USB_IOWARRIOR=m
 CONFIG_USB_ISIGHTFW=m
diff --git a/config-nodebug b/config-nodebug
index 9d4b2e9..dd9af68 100644
--- a/config-nodebug
+++ b/config-nodebug
@@ -128,3 +128,6 @@ CONFIG_X86_DEBUG_STATIC_CPU_HAS=y
 # CONFIG_SCHEDSTATS is not set
 # CONFIG_LATENCYTOP is not set
 
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
-- 
1.8.3.1



More information about the kernel mailing list