Hi, On Wed, Mar 02, 2011 at 11:12:04AM +0100, Sascha Hauer wrote: > I knew that a ehci controller is often combined with a gadget controller > to get otg support. What I didn't know is that it's always the same > gadget controller. Currently we have not less than 4 drivers for the > same hardware in the tree: > > langwell_udc.c > mv_udc_core.c > ci13xxx_udc.c > fsl_udc_core.c > > On i.MX we are using fsl_udc_core.c and ehci host support, but we do not > have otg support. In a test not many patches were necessary to use the > msm otg support on i.MX. Even the ULPI support which I considered i.MX > specific is found on at least marvell chips and msm chips. > > Altogether there seems to be enough room for merging code. Unfortunately > I won't have much time to work on this, so I'd like to ask if anyone > else is interested in joining forces to get some cleanup done. > > At least I think we should pick one of the drivers above, sort the > architecture specfic part out and rename it to something like ehci_udc.c > to prevent people from adding even more drivers to the tree. The > ci13xxx_udc driver looks most promising to me as it already has otg > support in drivers/usb/otg/msm72k_otg.c and has proven to work on i.MX > aswell. Also it has pci support. Originally it was posted for mips, so > it probably works there, too > > Any comments/ideas? the problem today is that we don't have an abstraction layer on top of UDCs, there's only the agreement that UDC drivers will export usb_gadget_probe_driver() and usb_gadget_unregister_driver(), that's all. We need a real abstraction layer to do that, I started implementing one but unfortunately got preempted by next-silicon tasks, so I had to stop. You can still find the branch in my gitorious tree[1] for reference [1] git://gitorious.org/usb/usb.git udc -- balbi -- 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