[PATCHv3 00/12] usb: dwc2: Add support for dual role

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx>

Hello,

This is version 3 of the patch series that combines the dwc2 gadget and host
driver into a single dual role driver. Here are the main differences from V2:

- less code change:
        v3: 9 files changed, 340 insertions(+), 335 deletions(-)
        v2: 9 files changed, 368 insertions(+), 357 deletions(-)
        v1: 9 files changed, 877 insertions(+), 904 deletions(-)

- Patch 1/12 : Add a USB_GADGET=USB_DWC2 dependency for peripheral and
  dual-role builds

- Patch 3/12 : Per paulz's code suggestion to avoid a double pointer usage in
  order to keep the gadget driver cleaner, the gadget variable declarations
  are only visible for peripheral and dual-role builds of the driver.

  Also, in a effort to maintain bisectability, move v2's [usb: dwc2: Moves
  s3c_hsotg gadget data structure into dwc2_hsotg] and [usb: dwc2: update
  gadget portion to use common dwc2_hsotg structure] into a single patch for
  v3. In V3, a single patch [usb: dwc2: Moves s3c_hsotg gadget data structure
  into dwc2_hsotg] is the result. For this series, there are 12 patches
  instead of 13.

For v3, I have rebased the series on top of the following patches:

Doug Anderson: usb: dwc2: Read GNPTXFSIZ when in forced HOST mode
Kever Yang : usb: dwc2: add 'mode' which based on Kconfig select or dts setting
Robert Baldyga : usb: dwc2/gadget: fix series <- 12 patches

As usual, tested on SOCFPGA(host, gadget, and dual-role) and on Rpi-B(host mode).

This patch series is based on v3.16. I have pushed this a git repo to make
it more convenient for people to test/review.

git://git.rocketboards.org/linux-socfpga-next.git dwc2_dual_role_v3

Thanks,

Dinh Nguyen (12):
  usb: dwc2: Update Kconfig to support dual-role
  usb: dwc2: move "samsung,s3c6400-hsotg" into common platform
  usb: dwc2: Update the gadget driver to use common dwc2_hsotg structure
  usb: dwc2: Add the appropriate init calls in platform code
  usb: dwc2: Initialize the USB core for peripheral mode
  usb: dwc2: Update common interrupt handler to call gadget interrupt
    handler
  usb: dwc2: Add call_gadget functions for perpheral mode interrupts
  usb: dwc2: gadget: Do not fail probe if there isn't a clock node
  usb: dwc2: initialize the spin_lock for both host and gadget
  usb: dwc2: Add suspend/resume for gadget
  usb: dwc2: check that the host work queue is valid
  usb: dwc2: pci: Update pci portion of the dwc2 driver

 drivers/usb/dwc2/Kconfig     |  63 +++++----
 drivers/usb/dwc2/Makefile    |  21 +--
 drivers/usb/dwc2/core.h      | 198 ++++++++++++++++-----------
 drivers/usb/dwc2/core_intr.c |  13 +-
 drivers/usb/dwc2/gadget.c    | 314 +++++++++++++++----------------------------
 drivers/usb/dwc2/hcd.c       |   2 +-
 drivers/usb/dwc2/hcd.h       |  10 --
 drivers/usb/dwc2/pci.c       |   1 +
 drivers/usb/dwc2/platform.c  |  53 +++++++-
 9 files changed, 340 insertions(+), 335 deletions(-)

-- 
2.0.3

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux