summaryrefslogtreecommitdiffstats
path: root/arm-omap-fix-usb-mvebu-conflict.patch
diff options
context:
space:
mode:
Diffstat (limited to 'arm-omap-fix-usb-mvebu-conflict.patch')
-rw-r--r--arm-omap-fix-usb-mvebu-conflict.patch85
1 files changed, 85 insertions, 0 deletions
diff --git a/arm-omap-fix-usb-mvebu-conflict.patch b/arm-omap-fix-usb-mvebu-conflict.patch
new file mode 100644
index 000000000..7ef76619f
--- /dev/null
+++ b/arm-omap-fix-usb-mvebu-conflict.patch
@@ -0,0 +1,85 @@
+--- linux-3.9.0-0.rc3.git1.4.fc19.x86_64/drivers/usb/host/ehci-hcd.c.orig 2013-03-23 18:52:52.576674960 +0000
++++ linux-3.9.0-0.rc3.git1.4.fc19.x86_64/drivers/usb/host/ehci-hcd.c 2013-03-24 12:46:49.149621810 +0000
+@@ -1252,7 +1252,7 @@
+
+ #ifdef CONFIG_USB_EHCI_HCD_OMAP
+ #include "ehci-omap.c"
+-#define PLATFORM_DRIVER ehci_hcd_omap_driver
++#define OMAP_PLATFORM_DRIVER ehci_hcd_omap_driver
+ #endif
+
+ #ifdef CONFIG_PPC_PS3
+@@ -1272,7 +1272,7 @@
+
+ #ifdef CONFIG_PLAT_ORION
+ #include "ehci-orion.c"
+-#define PLATFORM_DRIVER ehci_orion_driver
++#define ORION_PLATFORM_DRIVER ehci_orion_driver
+ #endif
+
+ #ifdef CONFIG_USB_W90X900_EHCI
+@@ -1384,6 +1384,12 @@
+ goto clean0;
+ #endif
+
++#ifdef ORION_PLATFORM_DRIVER
++ retval = platform_driver_register(&ORION_PLATFORM_DRIVER);
++ if (retval < 0)
++ goto clean1;
++#endif
++
+ #ifdef PS3_SYSTEM_BUS_DRIVER
+ retval = ps3_ehci_driver_register(&PS3_SYSTEM_BUS_DRIVER);
+ if (retval < 0)
+@@ -1401,10 +1407,20 @@
+ if (retval < 0)
+ goto clean4;
+ #endif
++
++#ifdef OMAP_PLATFORM_DRIVER
++ retval = platform_driver_register(&OMAP_PLATFORM_DRIVER);
++ if (retval < 0)
++ goto clean5;
++#endif
+ return retval;
+
++#ifdef OMAP_PLATFORM_DRIVER
++ /* platform_driver_unregister(&OMAP_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
+@@ -1415,6 +1431,10 @@
+ ps3_ehci_driver_unregister(&PS3_SYSTEM_BUS_DRIVER);
+ clean2:
+ #endif
++#ifdef ORION_PLATFORM_DRIVER
++ platform_driver_unregister(&ORION_PLATFORM_DRIVER);
++clean1:
++#endif
+ #ifdef PLATFORM_DRIVER
+ platform_driver_unregister(&PLATFORM_DRIVER);
+ clean0:
+@@ -1431,12 +1451,18 @@
+
+ static void __exit ehci_hcd_cleanup(void)
+ {
++#ifdef OMAP_PLATFORM_DRIVER
++ platform_driver_unregister(&OMAP_PLATFORM_DRIVER);
++#endif
+ #ifdef XILINX_OF_PLATFORM_DRIVER
+ platform_driver_unregister(&XILINX_OF_PLATFORM_DRIVER);
+ #endif
+ #ifdef OF_PLATFORM_DRIVER
+ platform_driver_unregister(&OF_PLATFORM_DRIVER);
+ #endif
++#ifdef ORION_PLATFORM_DRIVER
++ platform_driver_unregister(&ORION_PLATFORM_DRIVER);
++#endif
+ #ifdef PLATFORM_DRIVER
+ platform_driver_unregister(&PLATFORM_DRIVER);
+ #endif