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/ohci-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/ohci-hcd.c')
-rw-r--r-- | drivers/usb/host/ohci-hcd.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 44717fab7435..2038125b7f8c 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c | |||
@@ -42,9 +42,6 @@ | |||
42 | #include <asm/system.h> | 42 | #include <asm/system.h> |
43 | #include <asm/unaligned.h> | 43 | #include <asm/unaligned.h> |
44 | #include <asm/byteorder.h> | 44 | #include <asm/byteorder.h> |
45 | #ifdef CONFIG_PPC_PS3 | ||
46 | #include <asm/firmware.h> | ||
47 | #endif | ||
48 | 45 | ||
49 | #include "../core/hcd.h" | 46 | #include "../core/hcd.h" |
50 | 47 | ||
@@ -927,7 +924,7 @@ MODULE_LICENSE ("GPL"); | |||
927 | 924 | ||
928 | #ifdef CONFIG_PPC_PS3 | 925 | #ifdef CONFIG_PPC_PS3 |
929 | #include "ohci-ps3.c" | 926 | #include "ohci-ps3.c" |
930 | #define PS3_SYSTEM_BUS_DRIVER ps3_ohci_sb_driver | 927 | #define PS3_SYSTEM_BUS_DRIVER ps3_ohci_driver |
931 | #endif | 928 | #endif |
932 | 929 | ||
933 | #if !defined(PCI_DRIVER) && \ | 930 | #if !defined(PCI_DRIVER) && \ |
@@ -950,12 +947,9 @@ static int __init ohci_hcd_mod_init(void) | |||
950 | sizeof (struct ed), sizeof (struct td)); | 947 | sizeof (struct ed), sizeof (struct td)); |
951 | 948 | ||
952 | #ifdef PS3_SYSTEM_BUS_DRIVER | 949 | #ifdef PS3_SYSTEM_BUS_DRIVER |
953 | if (firmware_has_feature(FW_FEATURE_PS3_LV1)) { | 950 | retval = ps3_ohci_driver_register(&PS3_SYSTEM_BUS_DRIVER); |
954 | retval = ps3_system_bus_driver_register( | 951 | if (retval < 0) |
955 | &PS3_SYSTEM_BUS_DRIVER); | 952 | goto error_ps3; |
956 | if (retval < 0) | ||
957 | goto error_ps3; | ||
958 | } | ||
959 | #endif | 953 | #endif |
960 | 954 | ||
961 | #ifdef PLATFORM_DRIVER | 955 | #ifdef PLATFORM_DRIVER |
@@ -1001,8 +995,7 @@ static int __init ohci_hcd_mod_init(void) | |||
1001 | error_platform: | 995 | error_platform: |
1002 | #endif | 996 | #endif |
1003 | #ifdef PS3_SYSTEM_BUS_DRIVER | 997 | #ifdef PS3_SYSTEM_BUS_DRIVER |
1004 | if (firmware_has_feature(FW_FEATURE_PS3_LV1)) | 998 | ps3_ohci_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); |
1005 | ps3_system_bus_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); | ||
1006 | error_ps3: | 999 | error_ps3: |
1007 | #endif | 1000 | #endif |
1008 | return retval; | 1001 | return retval; |
@@ -1024,8 +1017,7 @@ static void __exit ohci_hcd_mod_exit(void) | |||
1024 | platform_driver_unregister(&PLATFORM_DRIVER); | 1017 | platform_driver_unregister(&PLATFORM_DRIVER); |
1025 | #endif | 1018 | #endif |
1026 | #ifdef PS3_SYSTEM_BUS_DRIVER | 1019 | #ifdef PS3_SYSTEM_BUS_DRIVER |
1027 | if (firmware_has_feature(FW_FEATURE_PS3_LV1)) | 1020 | ps3_ohci_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); |
1028 | ps3_system_bus_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); | ||
1029 | #endif | 1021 | #endif |
1030 | } | 1022 | } |
1031 | module_exit(ohci_hcd_mod_exit); | 1023 | module_exit(ohci_hcd_mod_exit); |