diff options
Diffstat (limited to 'target/linux/cns21xx/patches-3.6/104-cns21xx-usb-ehci-support.patch')
-rw-r--r-- | target/linux/cns21xx/patches-3.6/104-cns21xx-usb-ehci-support.patch | 49 |
1 files changed, 46 insertions, 3 deletions
diff --git a/target/linux/cns21xx/patches-3.6/104-cns21xx-usb-ehci-support.patch b/target/linux/cns21xx/patches-3.6/104-cns21xx-usb-ehci-support.patch index 3936d10f08..55b3af3858 100644 --- a/target/linux/cns21xx/patches-3.6/104-cns21xx-usb-ehci-support.patch +++ b/target/linux/cns21xx/patches-3.6/104-cns21xx-usb-ehci-support.patch @@ -189,8 +189,8 @@ +MODULE_ALIAS("platform:" DRIVER_NAME); --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c -@@ -1339,6 +1339,11 @@ MODULE_LICENSE ("GPL"); - #define PLATFORM_DRIVER ehci_platform_driver +@@ -1334,14 +1334,19 @@ MODULE_LICENSE ("GPL"); + #define PLATFORM_DRIVER ehci_hcd_sead3_driver #endif +#ifdef CONFIG_ARCH_CNS21XX @@ -198,9 +198,52 @@ +#define PLATFORM_DRIVER ehci_cns21xx_driver +#endif + + #ifdef CONFIG_USB_EHCI_HCD_PLATFORM + #include "ehci-platform.c" +-#define PLATFORM_DRIVER ehci_platform_driver ++#define EHCI_PLATFORM_DRIVER ehci_platform_driver + #endif + #if !defined(PCI_DRIVER) && !defined(PLATFORM_DRIVER) && \ !defined(PS3_SYSTEM_BUS_DRIVER) && !defined(OF_PLATFORM_DRIVER) && \ - !defined(XILINX_OF_PLATFORM_DRIVER) +- !defined(XILINX_OF_PLATFORM_DRIVER) ++ !defined(XILINX_OF_PLATFORM_DRIVER) && !defined(EHCI_PLATFORM_DRIVER) + #error "missing bus glue for ehci-hcd" + #endif + +@@ -1401,10 +1406,21 @@ static int __init ehci_hcd_init(void) + if (retval < 0) + goto clean4; + #endif ++ ++#ifdef EHCI_PLATFORM_DRIVER ++ retval = platform_driver_register(&EHCI_PLATFORM_DRIVER); ++ if (retval < 0) ++ goto clean5; ++#endif ++ + return retval; + ++#ifdef EHCI_PLATFORM_DRIVER ++ platform_driver_unregister(&EHCI_PLATFORM_DRIVER); ++clean5: ++#endif + #ifdef XILINX_OF_PLATFORM_DRIVER +- /* platform_driver_unregister(&XILINX_OF_PLATFORM_DRIVER); */ ++ platform_driver_unregister(&XILINX_OF_PLATFORM_DRIVER); + clean4: + #endif + #ifdef OF_PLATFORM_DRIVER +@@ -1435,6 +1451,9 @@ module_init(ehci_hcd_init); + + static void __exit ehci_hcd_cleanup(void) + { ++#ifdef EHCI_PLATFORM_DRIVER ++ platform_driver_unregister(&EHCI_PLATFORM_DRIVER); ++#endif + #ifdef XILINX_OF_PLATFORM_DRIVER + platform_driver_unregister(&XILINX_OF_PLATFORM_DRIVER); + #endif --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -394,6 +394,7 @@ config ARCH_CNS21XX |