Hi Sarah, here's a reworked version of the patchset and rebased on top of v3.0. For convenience, this is also available at below branch: master.kernel.org:/pub/scm/linux/kernel/git/balbi/usb.git tmp/xhci With this decoupling completed, I should e able to re-use xhci for omap simply by allocating a platform_device, adding correct resources and platform_data and registering the platform_device. Just so you understand the need for this, we want to avoid a similar set of ifdeferry around e.g. ehci-hcd.c starting at line 1174. We will also avoid all those ehci-<arch>.c files which add roughly 4500+ LOCs. Most of those could go straight to the bin. Anyway, please have a look at the patchset once you have some time ;-) Felipe Balbi (11): usb: host: introduce USB_ARCH_HAS_XHCI usb: host: xhci: add a platform_data usb: host: xhci: give xhci a platform_device usb: host: xhci: no need to pass hc_driver as driver_data usb: host: xhci: use DEFINE_PCI_DEVICE_TABLE usb: host: xhci: pass quirks via driver_data usb: host: xhci: export some XHCI symbols usb: host: xhci: convert xhci-pci.c into a parent device usb: host: xhci: move the hc_driver to xhci.c Revert "usb: host: xhci: export some XHCI symbols" usb: host: xhci: remove the driver field drivers/usb/Kconfig | 5 + drivers/usb/host/Kconfig | 2 +- drivers/usb/host/Makefile | 7 +- drivers/usb/host/xhci-pci.c | 409 +++++++++++++++---------------------------- drivers/usb/host/xhci.c | 281 ++++++++++++++++++++++++++++-- drivers/usb/host/xhci.h | 16 +- 6 files changed, 431 insertions(+), 289 deletions(-) -- 1.7.6 -- 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