diff options
| -rw-r--r-- | drivers/usb/host/ohci-hcd.c | 136 |
1 files changed, 118 insertions, 18 deletions
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 180a2b01db56..9e6de9586ae4 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c | |||
| @@ -1102,12 +1102,12 @@ MODULE_LICENSE ("GPL"); | |||
| 1102 | 1102 | ||
| 1103 | #if defined(CONFIG_ARCH_S3C24XX) || defined(CONFIG_ARCH_S3C64XX) | 1103 | #if defined(CONFIG_ARCH_S3C24XX) || defined(CONFIG_ARCH_S3C64XX) |
| 1104 | #include "ohci-s3c2410.c" | 1104 | #include "ohci-s3c2410.c" |
| 1105 | #define PLATFORM_DRIVER ohci_hcd_s3c2410_driver | 1105 | #define S3C2410_PLATFORM_DRIVER ohci_hcd_s3c2410_driver |
| 1106 | #endif | 1106 | #endif |
| 1107 | 1107 | ||
| 1108 | #ifdef CONFIG_USB_OHCI_EXYNOS | 1108 | #ifdef CONFIG_USB_OHCI_EXYNOS |
| 1109 | #include "ohci-exynos.c" | 1109 | #include "ohci-exynos.c" |
| 1110 | #define PLATFORM_DRIVER exynos_ohci_driver | 1110 | #define EXYNOS_PLATFORM_DRIVER exynos_ohci_driver |
| 1111 | #endif | 1111 | #endif |
| 1112 | 1112 | ||
| 1113 | #ifdef CONFIG_USB_OHCI_HCD_OMAP1 | 1113 | #ifdef CONFIG_USB_OHCI_HCD_OMAP1 |
| @@ -1127,25 +1127,24 @@ MODULE_LICENSE ("GPL"); | |||
| 1127 | 1127 | ||
| 1128 | #ifdef CONFIG_ARCH_EP93XX | 1128 | #ifdef CONFIG_ARCH_EP93XX |
| 1129 | #include "ohci-ep93xx.c" | 1129 | #include "ohci-ep93xx.c" |
| 1130 | #define PLATFORM_DRIVER ohci_hcd_ep93xx_driver | 1130 | #define EP93XX_PLATFORM_DRIVER ohci_hcd_ep93xx_driver |
| 1131 | #endif | 1131 | #endif |
| 1132 | 1132 | ||
| 1133 | #ifdef CONFIG_ARCH_AT91 | 1133 | #ifdef CONFIG_ARCH_AT91 |
| 1134 | #include "ohci-at91.c" | 1134 | #include "ohci-at91.c" |
| 1135 | #define PLATFORM_DRIVER ohci_hcd_at91_driver | 1135 | #define AT91_PLATFORM_DRIVER ohci_hcd_at91_driver |
| 1136 | #endif | 1136 | #endif |
| 1137 | 1137 | ||
| 1138 | #ifdef CONFIG_ARCH_LPC32XX | 1138 | #ifdef CONFIG_ARCH_LPC32XX |
| 1139 | #include "ohci-nxp.c" | 1139 | #include "ohci-nxp.c" |
| 1140 | #define PLATFORM_DRIVER usb_hcd_nxp_driver | 1140 | #define NXP_PLATFORM_DRIVER usb_hcd_nxp_driver |
| 1141 | #endif | 1141 | #endif |
| 1142 | 1142 | ||
| 1143 | #ifdef CONFIG_ARCH_DAVINCI_DA8XX | 1143 | #ifdef CONFIG_ARCH_DAVINCI_DA8XX |
| 1144 | #include "ohci-da8xx.c" | 1144 | #include "ohci-da8xx.c" |
| 1145 | #define PLATFORM_DRIVER ohci_hcd_da8xx_driver | 1145 | #define DAVINCI_PLATFORM_DRIVER ohci_hcd_da8xx_driver |
| 1146 | #endif | 1146 | #endif |
| 1147 | 1147 | ||
| 1148 | |||
| 1149 | #ifdef CONFIG_USB_OHCI_HCD_PPC_OF | 1148 | #ifdef CONFIG_USB_OHCI_HCD_PPC_OF |
| 1150 | #include "ohci-ppc-of.c" | 1149 | #include "ohci-ppc-of.c" |
| 1151 | #define OF_PLATFORM_DRIVER ohci_hcd_ppc_of_driver | 1150 | #define OF_PLATFORM_DRIVER ohci_hcd_ppc_of_driver |
| @@ -1153,7 +1152,7 @@ MODULE_LICENSE ("GPL"); | |||
| 1153 | 1152 | ||
| 1154 | #ifdef CONFIG_PLAT_SPEAR | 1153 | #ifdef CONFIG_PLAT_SPEAR |
| 1155 | #include "ohci-spear.c" | 1154 | #include "ohci-spear.c" |
| 1156 | #define PLATFORM_DRIVER spear_ohci_hcd_driver | 1155 | #define SPEAR_PLATFORM_DRIVER spear_ohci_hcd_driver |
| 1157 | #endif | 1156 | #endif |
| 1158 | 1157 | ||
| 1159 | #ifdef CONFIG_PPC_PS3 | 1158 | #ifdef CONFIG_PPC_PS3 |
| @@ -1199,7 +1198,14 @@ MODULE_LICENSE ("GPL"); | |||
| 1199 | !defined(SA1111_DRIVER) && \ | 1198 | !defined(SA1111_DRIVER) && \ |
| 1200 | !defined(PS3_SYSTEM_BUS_DRIVER) && \ | 1199 | !defined(PS3_SYSTEM_BUS_DRIVER) && \ |
| 1201 | !defined(SM501_OHCI_DRIVER) && \ | 1200 | !defined(SM501_OHCI_DRIVER) && \ |
| 1202 | !defined(TMIO_OHCI_DRIVER) | 1201 | !defined(TMIO_OHCI_DRIVER) && \ |
| 1202 | !defined(S3C2410_PLATFORM_DRIVER) && \ | ||
| 1203 | !defined(EXYNOS_PLATFORM_DRIVER) && \ | ||
| 1204 | !defined(EP93XX_PLATFORM_DRIVER) && \ | ||
| 1205 | !defined(AT91_PLATFORM_DRIVER) && \ | ||
| 1206 | !defined(NXP_PLATFORM_DRIVER) && \ | ||
| 1207 | !defined(DAVINCI_PLATFORM_DRIVER) && \ | ||
| 1208 | !defined(SPEAR_PLATFORM_DRIVER) | ||
| 1203 | #error "missing bus glue for ohci-hcd" | 1209 | #error "missing bus glue for ohci-hcd" |
| 1204 | #endif | 1210 | #endif |
| 1205 | 1211 | ||
| @@ -1277,9 +1283,79 @@ static int __init ohci_hcd_mod_init(void) | |||
| 1277 | goto error_tmio; | 1283 | goto error_tmio; |
| 1278 | #endif | 1284 | #endif |
| 1279 | 1285 | ||
| 1286 | #ifdef S3C2410_PLATFORM_DRIVER | ||
| 1287 | retval = platform_driver_register(&S3C2410_PLATFORM_DRIVER); | ||
| 1288 | if (retval < 0) | ||
| 1289 | goto error_s3c2410; | ||
| 1290 | #endif | ||
| 1291 | |||
| 1292 | #ifdef EXYNOS_PLATFORM_DRIVER | ||
| 1293 | retval = platform_driver_register(&EXYNOS_PLATFORM_DRIVER); | ||
| 1294 | if (retval < 0) | ||
| 1295 | goto error_exynos; | ||
| 1296 | #endif | ||
| 1297 | |||
| 1298 | #ifdef EP93XX_PLATFORM_DRIVER | ||
| 1299 | retval = platform_driver_register(&EP93XX_PLATFORM_DRIVER); | ||
| 1300 | if (retval < 0) | ||
| 1301 | goto error_ep93xx; | ||
| 1302 | #endif | ||
| 1303 | |||
| 1304 | #ifdef AT91_PLATFORM_DRIVER | ||
| 1305 | retval = platform_driver_register(&AT91_PLATFORM_DRIVER); | ||
| 1306 | if (retval < 0) | ||
| 1307 | goto error_at91; | ||
| 1308 | #endif | ||
| 1309 | |||
| 1310 | #ifdef NXP_PLATFORM_DRIVER | ||
| 1311 | retval = platform_driver_register(&NXP_PLATFORM_DRIVER); | ||
| 1312 | if (retval < 0) | ||
| 1313 | goto error_nxp; | ||
| 1314 | #endif | ||
| 1315 | |||
| 1316 | #ifdef DAVINCI_PLATFORM_DRIVER | ||
| 1317 | retval = platform_driver_register(&DAVINCI_PLATFORM_DRIVER); | ||
| 1318 | if (retval < 0) | ||
| 1319 | goto error_davinci; | ||
| 1320 | #endif | ||
| 1321 | |||
| 1322 | #ifdef SPEAR_PLATFORM_DRIVER | ||
| 1323 | retval = platform_driver_register(&SPEAR_PLATFORM_DRIVER); | ||
| 1324 | if (retval < 0) | ||
| 1325 | goto error_spear; | ||
| 1326 | #endif | ||
| 1327 | |||
| 1280 | return retval; | 1328 | return retval; |
| 1281 | 1329 | ||
| 1282 | /* Error path */ | 1330 | /* Error path */ |
| 1331 | #ifdef SPEAR_PLATFORM_DRIVER | ||
| 1332 | platform_driver_unregister(&SPEAR_PLATFORM_DRIVER); | ||
| 1333 | error_spear: | ||
| 1334 | #endif | ||
| 1335 | #ifdef DAVINCI_PLATFORM_DRIVER | ||
| 1336 | platform_driver_unregister(&DAVINCI_PLATFORM_DRIVER); | ||
| 1337 | error_davinci: | ||
| 1338 | #endif | ||
| 1339 | #ifdef NXP_PLATFORM_DRIVER | ||
| 1340 | platform_driver_unregister(&NXP_PLATFORM_DRIVER); | ||
| 1341 | error_nxp: | ||
| 1342 | #endif | ||
| 1343 | #ifdef AT91_PLATFORM_DRIVER | ||
| 1344 | platform_driver_unregister(&AT91_PLATFORM_DRIVER); | ||
| 1345 | error_at91: | ||
| 1346 | #endif | ||
| 1347 | #ifdef EP93XX_PLATFORM_DRIVER | ||
| 1348 | platform_driver_unregister(&EP93XX_PLATFORM_DRIVER); | ||
| 1349 | error_ep93xx: | ||
| 1350 | #endif | ||
| 1351 | #ifdef EXYNOS_PLATFORM_DRIVER | ||
| 1352 | platform_driver_unregister(&EXYNOS_PLATFORM_DRIVER); | ||
| 1353 | error_exynos: | ||
| 1354 | #endif | ||
| 1355 | #ifdef S3C2410_PLATFORM_DRIVER | ||
| 1356 | platform_driver_unregister(&S3C2410_PLATFORM_DRIVER); | ||
| 1357 | error_s3c2410: | ||
| 1358 | #endif | ||
| 1283 | #ifdef TMIO_OHCI_DRIVER | 1359 | #ifdef TMIO_OHCI_DRIVER |
| 1284 | platform_driver_unregister(&TMIO_OHCI_DRIVER); | 1360 | platform_driver_unregister(&TMIO_OHCI_DRIVER); |
| 1285 | error_tmio: | 1361 | error_tmio: |
| @@ -1300,17 +1376,17 @@ static int __init ohci_hcd_mod_init(void) | |||
| 1300 | platform_driver_unregister(&OF_PLATFORM_DRIVER); | 1376 | platform_driver_unregister(&OF_PLATFORM_DRIVER); |
| 1301 | error_of_platform: | 1377 | error_of_platform: |
| 1302 | #endif | 1378 | #endif |
| 1303 | #ifdef PLATFORM_DRIVER | 1379 | #ifdef OMAP3_PLATFORM_DRIVER |
| 1304 | platform_driver_unregister(&PLATFORM_DRIVER); | 1380 | platform_driver_unregister(&OMAP3_PLATFORM_DRIVER); |
| 1305 | error_platform: | 1381 | error_omap3_platform: |
| 1306 | #endif | 1382 | #endif |
| 1307 | #ifdef OMAP1_PLATFORM_DRIVER | 1383 | #ifdef OMAP1_PLATFORM_DRIVER |
| 1308 | platform_driver_unregister(&OMAP1_PLATFORM_DRIVER); | 1384 | platform_driver_unregister(&OMAP1_PLATFORM_DRIVER); |
| 1309 | error_omap1_platform: | 1385 | error_omap1_platform: |
| 1310 | #endif | 1386 | #endif |
| 1311 | #ifdef OMAP3_PLATFORM_DRIVER | 1387 | #ifdef PLATFORM_DRIVER |
| 1312 | platform_driver_unregister(&OMAP3_PLATFORM_DRIVER); | 1388 | platform_driver_unregister(&PLATFORM_DRIVER); |
| 1313 | error_omap3_platform: | 1389 | error_platform: |
| 1314 | #endif | 1390 | #endif |
| 1315 | #ifdef PS3_SYSTEM_BUS_DRIVER | 1391 | #ifdef PS3_SYSTEM_BUS_DRIVER |
| 1316 | ps3_ohci_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); | 1392 | ps3_ohci_driver_unregister(&PS3_SYSTEM_BUS_DRIVER); |
| @@ -1329,6 +1405,27 @@ module_init(ohci_hcd_mod_init); | |||
| 1329 | 1405 | ||
| 1330 | static void __exit ohci_hcd_mod_exit(void) | ||
