On 09/02/2011 04:52 PM, Alan Stern wrote:
Make each ehci-<arch>.c into a standalone module. Remove all the duplicated hc_drivers structures from these files, put a single publicly-available ehci_hc_driver in ehci-hcd.c, and make ehci-hcd a separate module containing just the core routines.
I've posted a RFC series which did not introduce separate modules but moved everything into one file. So you prefer having multiple modules?
To make this work, we have to find a way to handle all the individual differences in the various hc_driver structures. Most of the differences lie in the product_desc and reset fields.
Yes, and I proposed to handle reset as an argument to usb_add_hcd()
We can get rid of product_desc altogether, and in its place use the parent controller's driver name. I'm not sure exactly what would be needed for the reset routines, but it mostly looks like we just need to refactor some of the startup code.
see above please.
A few drivers, like ehci-tegra.c, will be more troublesome. For such cases it might be better to have a private hc_driver structure with most of the entries copied from the public ehci_hc_driver.
One special case out of ten is an improvement :)
How does that sound?
Not bad :)
Alan Stern
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