cns21xx: fix build errors on 3.6
[openwrt.git] / target / linux / cns21xx / patches-3.6 / 104-cns21xx-usb-ehci-support.patch
index 3936d10..55b3af3 100644 (file)
 +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
 +#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