Hi Sarah, here is v3 which is based on Feilipe's v2 plus my add-on. This was tested via modprobe, rmmod and device plug-in, plug-out and it seems to work so far :) The reset callback ended a little messy. The problem is that quirks and so on can no be applied in the probe function but have to be applied in the ->reset callback since the xhci struct is allocated differently and they quirks have to be applied before ->run() is called and happens in usb_add_hcd(). Here is from Felipe's v2 message why we think this is a good idea: |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. For convenience I pushed the series into git at git pull git://git.linutronix.de/users/bigeasy/xhci xhci-decouple it is based on v3.0 which was also used for testing. It applies with no conflicts on top of your for-usb-linus branch. Sebastian -- 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