From: Dinh Nguyen <[email protected]>
Hello,
This patch series combines the dwc2 host driver and the s3c-hsotg peripheral
driver into a single dual-roler driver similar to the dwc3.
The patch series moves the s3c-hsotg files into the /dwc2 folder, so this is
the final location of the driver. When the driver is built as a kernel module,
it will be dwc2.ko and dwc2_platform.ko.
patch 1/7 : Edit the defines in dwc2/hw.h so that the s3c-hsotg driver can use
the defines in hw.h. So we can remove s3c-hsotg.h in a subsequent
patch.
patch 2/7 : Moves the s3c-hsotg driver into /dwc2 folder. Building the s3c-hsotg
driver will now be a Kconfig option under DWC2. Also replaces the
s3c-hsotg.h header file for dwc2/hw.h.
patch 3/7 : Moves the s3c-hsotg data structure into a common place, core.h, so
that final DRD can use it.
patch 4/7 : Add the gadget data structure to a common data structure,
dwc2_hsotg, which is the data structure that will encapsulate host
and peripheral modes for the final DRD. The bulk for this patch
is edits the in s3c-hsotg.c to reference the new data structure.
patch 5/7 : Replaces the s3c_hostg_irq handler with the dwc2_handle_common_intr
in dwc2. Updates the dwc2 IRQ routines to call the s3c-hsotg gadget
functions for peripheral mode.
patch 6/7 : Update the Kconfig and Makefile to enable building of the single
DRD. At this stage the the driver is behaving as a dual-role driver.
patch 7/7 : Decouple host/peripheral functionality when buildling the driver in
host or peripheral mode only.
This patchset is based on 3.14-rc2. I have only tested on the SOCFPGA platform
which has v2.93a of dual-role IP.
Thanks,
Dinh Nguyen (7):
usb: dwc2: Add defines to support the s3c-hsotg driver
usb: s3c-hsotg: Move s3c-hsotg into dwc2 folder
usb: s3c-hsotg: Move s3c-hsotg data structures
usb: dwc2: Add the s3c-hsotg data structures to main dwc2_hsotg data
structure
usb: dwc2: combine the dwc2 and s3c_hsotg to use a single IRQ handler
usb: dwc2: Enable the dwc2/s3c-hsotg to be a single dual-role driver
usb: dwc2: Split out the dwc2/sc3-hsotg driver mode's build
dependency
drivers/usb/dwc2/Kconfig | 28 +
drivers/usb/dwc2/Makefile | 17 +-
drivers/usb/dwc2/core.c | 1 +
drivers/usb/dwc2/core.h | 225 +++-
drivers/usb/dwc2/core_intr.c | 108 +-
drivers/usb/dwc2/hcd.c | 7 +-
drivers/usb/dwc2/hcd.h | 23 +-
drivers/usb/dwc2/hw.h | 23 +-
drivers/usb/dwc2/platform.c | 50 +-
drivers/usb/{gadget => dwc2}/s3c-hsotg.c | 1807 +++++++++++-------------------
drivers/usb/gadget/Kconfig | 7 -
drivers/usb/gadget/Makefile | 1 -
drivers/usb/gadget/s3c-hsotg.h | 378 -------
13 files changed, 1128 insertions(+), 1547 deletions(-)
rename drivers/usb/{gadget => dwc2}/s3c-hsotg.c (57%)
delete mode 100644 drivers/usb/gadget/s3c-hsotg.h
---
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Paul Zimmerman <[email protected]>
Cc: Felipe Balbi <[email protected]>
Cc: Ben Dooks <[email protected]>
Cc: Matt Porter <[email protected]>
Cc: Kukjin Kim <[email protected]>
Cc: Stephen Warren <[email protected]>
Cc: Matthijs Kooijman <[email protected]>
Cc: Jingoo Han <[email protected]>
Cc: Sachin Kamat <[email protected]>
Cc: Robert Baldyga <[email protected]>
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html