On Thursday 25 May 2006 8:15 am, Jan Capek wrote:
> Hi,
> 
> I have come across an issue when compiling the ohci-hcd driver as module 
> when PCI and USB_OHCI_HCD_PPC_SOC are both enabled. The compilation of USB 
> subsystem fails due to the fact that ohci-hcd.c has some of its 
> components(ohci-pci.c, ohci-ppc-soc.c and others) conditionally included
> via #include. The ohci-pci.c module is incorrectly inserted when 
> CONFIG_PCI is set. In fact, it should be included only when 
> CONFIG_USB_OHCI_HCD_PCI is set. Note that this compilation problem won't 
> show up when the ohci-hcd is built into the kernel since the init/exit 
> functions of each component won't result into a symbol conflict.
> 
> Please, apply. Thanks.

No, this will prevent OHCI from working on typical x86 hardware.

Instead, see how it's solved for EHCI with the same PPC-based SOC chips, by

    
http://www.kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/gregkh-04-usb
        
/usb-allow-multiple-types-of-ehci-controllers-to-be-built-as-modules.patch

That's one URL, no spaces.  A solution for OHCI should look more like that,
allowing those platforms to register _two_ kinds of bus glue for that host
controller driver at the same time ... when the platform needs them.

- Dave



> Jan Capek
> SYSGO | Real-Time Solutions | ELinOS Embedded Linux | http://www.sysgo.com
> 
> Signed-off-by: Jan Capek <[EMAIL PROTECTED]>
> ----
> --- a/drivers/usb/host/ohci-hcd.c     2006-01-03 04:21:10.000000000 +0100
> +++ b/drivers/usb/host/ohci-hcd.c     2006-05-22 17:35:33.000000000 +0200
> @@ -885,7 +885,7 @@ MODULE_AUTHOR (DRIVER_AUTHOR);
>   MODULE_DESCRIPTION (DRIVER_INFO);
>   MODULE_LICENSE ("GPL");
> 
> -#ifdef CONFIG_PCI
> +#ifdef CONFIG_USB_OHCI_HCD_PCI
>   #include "ohci-pci.c"
>   #endif
> 
> --- a/drivers/usb/host/ohci-hcd.c     2006-05-24 12:44:28.000000000 +0200
> +++ b/drivers/usb/host/ohci-hcd.c     2006-05-25 16:55:40.000000000 +0200
> @@ -917,7 +917,7 @@ MODULE_LICENSE ("GPL");
>   #include "ohci-ppc-soc.c"
>   #endif
> 
> -#if !(defined(CONFIG_PCI) \
> +#if !(defined(CONFIG_USB_OHCI_HCD_PCI) \
>         || defined(CONFIG_SA1111) \
>         || defined(CONFIG_ARCH_S3C2410) \
>         || defined(CONFIG_ARCH_OMAP) \
> 
> 
> 
> 
> -------------------------------------------------------
> All the advantages of Linux Managed Hosting--Without the Cost and Risk!
> Fully trained technicians. The highest number of Red Hat certifications in
> the hosting industry. Fanatical Support. Click to learn more
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
> _______________________________________________
> linux-usb-devel@lists.sourceforge.net
> To unsubscribe, use the last form field at:
> https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
> 


-------------------------------------------------------
All the advantages of Linux Managed Hosting--Without the Cost and Risk!
Fully trained technicians. The highest number of Red Hat certifications in
the hosting industry. Fanatical Support. Click to learn more
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=107521&bid=248729&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to