USB: RK3288 USB CTLR initialization
[firefly-linux-kernel-4.4.55.git] / drivers / usb / host / ehci-hcd.c
index 246e124e6ac55c3dc66ba822a9b3f8ba5bebdd6a..16068290a74f4a221cff76d0d9cc59803cb8705a 100644 (file)
@@ -1261,6 +1261,16 @@ MODULE_LICENSE ("GPL");
 #define        PLATFORM_DRIVER         ehci_hcd_tilegx_driver
 #endif
 
+#ifdef CONFIG_USB_EHCI_RK
+#include "ehci-rk.c"
+#define PLATFORM_DRIVER         ehci_rk_driver
+#endif
+
+#ifdef CONFIG_USB_EHCI_RKHSIC
+#include "ehci-rkhsic.c"
+#define RK_PLATFORM_DRIVER         ehci_rkhsic_driver
+#endif
+
 #ifdef CONFIG_USB_EHCI_HCD_PMC_MSP
 #include "ehci-pmcmsp.c"
 #define        PLATFORM_DRIVER         ehci_hcd_msp_driver
@@ -1336,8 +1346,19 @@ static int __init ehci_hcd_init(void)
        if (retval < 0)
                goto clean4;
 #endif
+
+#ifdef RK_PLATFORM_DRIVER
+       retval = platform_driver_register(&RK_PLATFORM_DRIVER);
+       if (retval < 0)
+               goto clean5;
+#endif
        return retval;
 
+#ifdef RK_PLATFORM_DRIVER
+       platform_driver_unregister(&RK_PLATFORM_DRIVER);
+clean5:
+#endif
+
 #ifdef XILINX_OF_PLATFORM_DRIVER
        /* platform_driver_unregister(&XILINX_OF_PLATFORM_DRIVER); */
 clean4:
@@ -1366,6 +1387,9 @@ module_init(ehci_hcd_init);
 
 static void __exit ehci_hcd_cleanup(void)
 {
+#ifdef RK_PLATFORM_DRIVER
+       platform_driver_unregister(&RK_PLATFORM_DRIVER);
+#endif
 #ifdef XILINX_OF_PLATFORM_DRIVER
        platform_driver_unregister(&XILINX_OF_PLATFORM_DRIVER);
 #endif