Hello,
This patch set adds UDC support to the isp1760 driver, to be used with the
ISP1761 dual-role USB controller.
The first 17 patches rework the isp1760 driver to prepare it for UDC support.
In particular they removes the direct HCD dependencies from the glue code
(01/20 to 04/20), creates core initialization code shared by the HCD and UDC
(15/20) and move common initialization code to the core (16/20 to 17/20).
Patch 18/20 adds UDC support, and patches 19/20 and 20/20 move the driver to
drivers/usb/isp1760/ and make HCD support optional.
The ISP1761 has three USB ports, with port 1 configurable in host or peripheral
mode with OTG support, and ports 2 and 3 supporting host mode only. OTG
support is not implemented yet, port 1 can thus be configured in host or
peripheral mode only.
The UDC driver has been successfully tested with the g_zero and g_mass_storage
gadgets.
Global changes compared to v2:
- Rebase on top of Felipe's testing/next branch
- Drop patches that have been merged already
- Add patch 19/20 and 20/20
Global changes compared to v1:
- Replace GPIO request move by patch 01/22
- Split PORT1 configuration to separate patch
- Drop the shutdown implementation patch
- Add patches 02/22, 04/22, 05/22, 13/22, 14/22
See individual patches for patch-specific changes.
Laurent Pinchart (20):
usb: isp1760: Merge platform and OF glue codes
usb: isp1760: Move removal cleanup code to isp1760-hcd.c
usb: isp1760: Manage device driver data in common code
usb: isp1760: Don't expose hcd to glue code from isp1760_register
usb: isp1760: Fix indentation in probe error path
usb: isp1760: Prefix init_kmem_once and deinit_kmem_cache with
isp1760_
usb: isp1760: Remove busname argument to isp1760_register
usb: isp1760: Pass resource pointer to isp1760_register
usb: isp1760: Use the managed devm_ioremap_resource() API
usb: isp1760: Refactor PCI initialization code
usb: isp1760: Decouple usb_hdc and isp1760_priv
usb: isp1760: Prefix driver data structures with isp1760_
usb: isp1760: Reorganize header files
usb: isp1760: Move core code to isp1760-core.c
usb: isp1760: Set IRQF_SHARED flag in core code
usb: isp1760: Initialize the bus interface in core code
usb: isp1760: Move PORT1 configuration to core code
usb: isp1760: Add device controller support
usb: isp1760: Move driver from drivers/usb/host/ to
drivers/usb/isp1760/
usb: isp1760: Make HCD support optional
drivers/usb/Kconfig | 2 +
drivers/usb/Makefile | 2 +-
drivers/usb/host/Kconfig | 14 -
drivers/usb/host/Makefile | 3 +-
drivers/usb/host/isp1760-hcd.c | 2268 ------------------------------------
drivers/usb/host/isp1760-hcd.h | 206 ----
drivers/usb/host/isp1760-if.c | 431 -------
drivers/usb/isp1760/Kconfig | 59 +
drivers/usb/isp1760/Makefile | 5 +
drivers/usb/isp1760/isp1760-core.c | 171 +++
drivers/usb/isp1760/isp1760-core.h | 68 ++
drivers/usb/isp1760/isp1760-hcd.c | 2231 +++++++++++++++++++++++++++++++++++
drivers/usb/isp1760/isp1760-hcd.h | 102 ++
drivers/usb/isp1760/isp1760-if.c | 312 +++++
drivers/usb/isp1760/isp1760-regs.h | 230 ++++
drivers/usb/isp1760/isp1760-udc.c | 1495 ++++++++++++++++++++++++
drivers/usb/isp1760/isp1760-udc.h | 106 ++
17 files changed, 4784 insertions(+), 2921 deletions(-)
delete mode 100644 drivers/usb/host/isp1760-hcd.c
delete mode 100644 drivers/usb/host/isp1760-hcd.h
delete mode 100644 drivers/usb/host/isp1760-if.c
create mode 100644 drivers/usb/isp1760/Kconfig
create mode 100644 drivers/usb/isp1760/Makefile
create mode 100644 drivers/usb/isp1760/isp1760-core.c
create mode 100644 drivers/usb/isp1760/isp1760-core.h
create mode 100644 drivers/usb/isp1760/isp1760-hcd.c
create mode 100644 drivers/usb/isp1760/isp1760-hcd.h
create mode 100644 drivers/usb/isp1760/isp1760-if.c
create mode 100644 drivers/usb/isp1760/isp1760-regs.h
create mode 100644 drivers/usb/isp1760/isp1760-udc.c
create mode 100644 drivers/usb/isp1760/isp1760-udc.h
--
Regards,
Laurent Pinchart
--
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