On Thursday 08 December 2005 8:51 am, Vladimir A. Barinov wrote:
> Hello Ralf, David,
> Could you please advise.
> What is the right solution in the situation when USB PCI and on-chip USB
> used in the situation when we want ohci-hcd to be a module?
> Peter Popov wrote:
> >I suppose the right solution is to be able to use the
> >on-chip usb controller as well as an external pci
> >controller. I don't think anyone will do that though.
I'm not sure why they wouldn't. Full speed controllers
have limited bandwidth, people sometimes want more than
one just to get enough bandwidth to do whatever it is
they need USB to help with.
> >>The current ohci-hcd driver is a little defective.
> >>It's unable to use usb-ohci as modules in the case
> >>when PCI and on-chip USB are enabled.
> >>It just will not be compiled since there are two
> >>calls if module_init in ohci-hcd.
I think it'd be reasonable to expect that the two
options be (a) PCI version and/or (b) some SOC version.
Since I've never heard of a discrete OHCI part, I'll
suspect the posibillity of having several of them on
some external parallel bus is low...
Suggesting that what's needed is more at the level of
having the module_init code call a pair of #definable
routnes -- call them 'register_platform_ohci()' and
'register_pci_ohci() -- to handle either or both cases.
Then #ifndef register_platform_ohci, #define it as NOP;
likewise for the PCI version. And for the unregisters.
I'd certainly OK merging that; it'd be general enough
to work on non-PNX hardware too.