diff options
Diffstat (limited to 'arm-omap-fix-usb-mvebu-conflict.patch')
-rw-r--r-- | arm-omap-fix-usb-mvebu-conflict.patch | 85 |
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 |