This EHCI/OHCI platform driver should replace the simple EHCI and OHCI platform drivers. It was developed to be used for the USB core of the Broadcom SoCs supported by ssb and bcma, but it should also work for other devices. Drivers like ehci-ath79.c, ehci-xls.c and ehci-ixp4xx.c should be relative easy be ported to this EHCI driver. And drivers like ohci-ath79.c, ohci-ppc-soc.c, ohci-sh.c and ohci-xls.c should be easy be ported to the this OHCI driver. I am unable to test the suspend and resume part, as my SoC does not support this, but most of the platform driver do not support suspend/resume too. The code here should work, but was never runtime tested. This also contains patches adding USB support for the SoCs based on ssb and bcma and converts the ath79 code to use the generic usb driver. This patch series is based on the usb tree and should go through it to Linus. v4: * handle error when searching for a bridge on bcma * leave old Kconfig options and mark them deprecated and select the new driver v3: * add patches for bcma and ssb usb driver again * add patch to convert ath79 to use the generic platform driver v2: * split include/linux/usb/hci_driver.h into include/linux /usb/ehci_pdriver.h and include/linux/usb/ohci_pdriver.h * remove flags from include/linux/usb/{e,o}ehci_pdriver.h * add kernel doc * add some more options into the structs to activate hardware quirks. Hauke Mehrtens (7): USB: OHCI: Add a generic platform device driver USB: EHCI: Add a generic platform device driver bcma: scan for extra address space USB: Add driver for the bcma bus USB: Add driver for the ssb bus USB: OHCI: remove old SSB OHCI driver USB: use generic platform driver on ath79 arch/mips/ath79/dev-usb.c | 31 +++- drivers/bcma/scan.c | 19 ++- drivers/usb/host/Kconfig | 63 +++++++- drivers/usb/host/Makefile | 2 + drivers/usb/host/bcma-hcd.c | 334 ++++++++++++++++++++++++++++++++++++++ drivers/usb/host/ehci-ath79.c | 208 ------------------------ drivers/usb/host/ehci-hcd.c | 10 +- drivers/usb/host/ehci-platform.c | 198 ++++++++++++++++++++++ drivers/usb/host/ohci-ath79.c | 151 ----------------- drivers/usb/host/ohci-hcd.c | 31 +--- drivers/usb/host/ohci-platform.c | 194 ++++++++++++++++++++++ drivers/usb/host/ohci-ssb.c | 260 ----------------------------- drivers/usb/host/ssb-hcd.c | 279 +++++++++++++++++++++++++++++++ include/linux/bcma/bcma.h | 1 + include/linux/usb/ehci_pdriver.h | 46 ++++++ include/linux/usb/ohci_pdriver.h | 38 +++++ 16 files changed, 1206 insertions(+), 659 deletions(-) create mode 100644 drivers/usb/host/bcma-hcd.c delete mode 100644 drivers/usb/host/ehci-ath79.c create mode 100644 drivers/usb/host/ehci-platform.c delete mode 100644 drivers/usb/host/ohci-ath79.c create mode 100644 drivers/usb/host/ohci-platform.c delete mode 100644 drivers/usb/host/ohci-ssb.c create mode 100644 drivers/usb/host/ssb-hcd.c create mode 100644 include/linux/usb/ehci_pdriver.h create mode 100644 include/linux/usb/ohci_pdriver.h -- 1.7.5.4