diff options
author | Geoff Levand <geoffrey.levand@am.sony.com> | 2007-06-05 23:04:35 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-07-12 19:34:30 -0400 |
commit | 7a4eb7fd50d4df99fc1f623e6d90680d9fca3d82 (patch) | |
tree | 6f5332d581e600a72a03e761128bd892c2097d48 /drivers/usb/host/ehci-hcd.c | |
parent | 59c2afa072506aae10ef93126aab651142e0c908 (diff) |
USB: PS3: USB system-bus rework
USB HCD glue updates to reflect the new PS3 unifed device support.
- Fixed remove() routine.
- Added shutdown() routine.
- Added request_mem_region() call.
- Fixed MODULE_ALIAS().
- Made a proper fix for the hack done to support muti-platform in commit
48fda45120a819ca40cadc50144b55bff1c4c78d.
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/host/ehci-hcd.c')
-rw-r--r-- | drivers/usb/host/ehci-hcd.c | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index a205a53c61ff..c4e15ed1405a 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c | |||
@@ -41,10 +41,6 @@ | |||
41 | #include <asm/irq.h> | 41 | #include <asm/irq.h> |
42 | #include <asm/system.h> | 42 | #include <asm/system.h> |
43 | #include <asm/unaligned.h> | 43 | #include <asm/unaligned.h> |
44 | #ifdef CONFIG_PPC_PS3 | ||
45 | #include <asm/firmware.h> | ||
46 | #endif | ||
47 | |||
48 | 44 | ||
49 | /*-------------------------------------------------------------------------*/ | 45 | /*-------------------------------------------------------------------------*/ |
50 | 46 | ||
@@ -1012,7 +1008,7 @@ MODULE_LICENSE ("GPL"); | |||
1012 | 1008 | ||
1013 | #ifdef CONFIG_PPC_PS3 | 1009 | #ifdef CONFIG_PPC_PS3 |
1014 | #include "ehci-ps3.c" | 1010 | #include "ehci-ps3.c" |
1015 | #define PS3_SYSTEM_BUS_DRIVER ps3_ehci_sb_driver | 1011 | #define PS3_SYSTEM_BUS_DRIVER ps3_ehci_driver |
1016 | #endif | 1012 | #endif |
1017 | 1013 | ||
1018 | #ifdef CONFIG_440EPX | 1014 | #ifdef CONFIG_440EPX |
@@ -1051,18 +1047,15 @@ static int __init ehci_hcd_init(void) | |||
1051 | #endif | 1047 | #endif |
1052 | 1048 | ||
1053 | #ifdef PS3_SYSTEM_BUS_DRIVER | 1049 | #ifdef PS3_SYSTEM_BUS_DRIVER |
1054 | if (firmware_has_feature(FW_FEATURE_PS3_LV1)) { | 1050 | retval = ps3_ehci_driver_register(&PS3_SYSTEM_BUS_DRIVER); |
1055 | retval = ps3_system_bus_driver_register( | 1051 | if (retval < 0) { |
1056 | &PS3_SYSTEM_BUS_DRIVER); | ||
1057 | if (retval < 0) { | ||
1058 | #ifdef PLATFORM_DRIVER | 1052 | #ifdef PLATFORM_DRIVER |
1059 | platform_driver_unregister(&PLATFORM_DRIVER); | 1053 | platform_driver_unregister(&PLATFORM_DRIVER); |
1060 | #endif | 1054 | #endif |
1061 | #ifdef PCI_DRIVER | 1055 | #ifdef PCI_DRIVER |
1062 | pci_unregister_driver(&PCI_DRIVER); | 1056 | pci_unregister_driver(&PCI_DRIVER); |
1063 | #endif | 1057 | #endif |
1064 | return retval; | 1058 | return retval; |
1065 | } | ||
1066 | } | 1059 | } |
1067 | #endif | 1060 | #endif |
1068 | 1061 | ||
@@ -1079,8 +1072,7 @@ static void __exit ehci_hcd_cleanup(void) | |||
1079 | pci_unregister_driver(&PCI_DRIVER); | 1072 | pci_unregister_driver(&PCI_DRIVER); |
1080 | #endif | 1073 | #endif |
1081 | #ifdef PS3_SYSTEM_BUS_DRIVER | 1074 | #ifdef PS3_SYSTEM_BUS_DRIVER |
1082 | if (firmware_has_feature(FW_FEATURE_PS3_LV1)) | 1075 | ps3_ehci_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); |
1083 | ps3_system_bus_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); | ||
1084 | #endif | 1076 | #endif |
1085 | } | 1077 | } |
1086 | module_exit(ehci_hcd_cleanup); | 1078 | module_exit(ehci_hcd_cleanup); |