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 have one board with an external USB controller but that was done in order to add usb 2.0 support, so the on-chip usb controller is not used. So the simple fix below works fine for me, but Ralf and David B. may have higher standards ;) Pete --- "Vladimir A. Barinov" <vbarinov@xxxxxxxxxxxxx> wrote: > Hello, Ralf, Pete, > > 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. > > Please look at the patch attached. > I 'm not sure is this patch well for this situation. > Any suggestions are very appreciated. > > TIA, > Vladimir > > > > --- linux-2.6.10.orig/drivers/usb/host/ohci-hcd.c > 2005-12-02 16:37:59.000000000 +0300 > +++ linux-2.6.10/drivers/usb/host/ohci-hcd.c > 2005-12-02 19:34:21.000000000 +0300 > @@ -906,8 +906,12 @@ MODULE_LICENSE ("GPL"); > #endif > > #ifdef CONFIG_PNX8550 > +#if defined(CONFIG_PCI) && > defined(CONFIG_USB_OHCI_HCD_MODULE) > +#error "unable to compile PNX8550 USB and PCI USB > as modules simultaneously until usb hcd stack is > rewritten" > +#else > #include "ohci-pnx8550.c" > #endif > +#endif > > #ifdef CONFIG_USB_OHCI_HCD_PPC_SOC > #include "ohci-ppc-soc.c" > @@ -919,6 +923,7 @@ MODULE_LICENSE ("GPL"); > || defined (CONFIG_ARCH_LH7A404) \ > || defined (CONFIG_PXA27x) \ > || defined (CONFIG_SOC_AU1X00) \ > + || defined (CONFIG_PNX8550) \ > || defined (CONFIG_USB_OHCI_HCD_PPC_SOC) \ > ) > #error "missing bus glue for ohci-hcd" >