Browse Source

usb host: fix platform driver hotplug/coldplug

Since 43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is
prefixed with "platform:".  Add MODULE_ALIAS() to the hotpluggable USB HCDs,
to allow re-enable auto loading.

[dbrownell@users.sourceforge.net: more drivers; registration fixes]
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Kay Sievers 17 years ago
parent
commit
f4fce61d41

+ 6 - 2
drivers/usb/host/isp116x-hcd.c

@@ -1684,14 +1684,18 @@ static int isp116x_resume(struct platform_device *dev)
 
 #endif
 
+/* work with hotplug and coldplug */
+MODULE_ALIAS("platform:isp116x-hcd");
+
 static struct platform_driver isp116x_driver = {
 	.probe = isp116x_probe,
 	.remove = isp116x_remove,
 	.suspend = isp116x_suspend,
 	.resume = isp116x_resume,
 	.driver = {
-		   .name = (char *)hcd_name,
-		   },
+		.name = (char *)hcd_name,
+		.owner	= THIS_MODULE,
+	},
 };
 
 /*-----------------------------------------------------------------*/

+ 1 - 2
drivers/usb/host/ohci-at91.c

@@ -355,7 +355,7 @@ static int ohci_hcd_at91_drv_resume(struct platform_device *pdev)
 #define ohci_hcd_at91_drv_resume  NULL
 #endif
 
-MODULE_ALIAS("at91_ohci");
+MODULE_ALIAS("platform:at91_ohci");
 
 static struct platform_driver ohci_hcd_at91_driver = {
 	.probe		= ohci_hcd_at91_drv_probe,
@@ -368,4 +368,3 @@ static struct platform_driver ohci_hcd_at91_driver = {
 		.owner	= THIS_MODULE,
 	},
 };
-

+ 1 - 0
drivers/usb/host/ohci-au1xxx.c

@@ -345,3 +345,4 @@ static struct platform_driver ohci_hcd_au1xxx_driver = {
 	},
 };
 
+MODULE_ALIAS("platform:au1xxx-ohci");

+ 2 - 0
drivers/usb/host/ohci-ep93xx.c

@@ -211,6 +211,8 @@ static struct platform_driver ohci_hcd_ep93xx_driver = {
 #endif
 	.driver		= {
 		.name	= "ep93xx-ohci",
+		.owner	= THIS_MODULE,
 	},
 };
 
+MODULE_ALIAS("platform:ep93xx-ohci");

+ 1 - 0
drivers/usb/host/ohci-lh7a404.c

@@ -251,3 +251,4 @@ static struct platform_driver ohci_hcd_lh7a404_driver = {
 	},
 };
 
+MODULE_ALIAS("platform:lh7a404-ohci");

+ 1 - 0
drivers/usb/host/ohci-omap.c

@@ -544,3 +544,4 @@ static struct platform_driver ohci_hcd_omap_driver = {
 	},
 };
 
+MODULE_ALIAS("platform:ohci");

+ 4 - 0
drivers/usb/host/ohci-pnx4008.c

@@ -456,9 +456,13 @@ static int usb_hcd_pnx4008_remove(struct platform_device *pdev)
 	return 0;
 }
 
+/* work with hotplug and coldplug */
+MODULE_ALIAS("platform:usb-ohci");
+
 static struct platform_driver usb_hcd_pnx4008_driver = {
 	.driver = {
 		.name = "usb-ohci",
+		.owner	= THIS_MODULE,
 	},
 	.probe = usb_hcd_pnx4008_probe,
 	.remove = usb_hcd_pnx4008_remove,

+ 3 - 2
drivers/usb/host/ohci-pnx8550.c

@@ -230,11 +230,12 @@ static int ohci_hcd_pnx8550_drv_remove(struct platform_device *pdev)
 	return 0;
 }
 
-MODULE_ALIAS("pnx8550-ohci");
+MODULE_ALIAS("platform:pnx8550-ohci");
 
 static struct platform_driver ohci_hcd_pnx8550_driver = {
 	.driver = {
-		.name		= "pnx8550-ohci",
+		.name	= "pnx8550-ohci",
+		.owner	= THIS_MODULE,
 	},
 	.probe		= ohci_hcd_pnx8550_drv_probe,
 	.remove		= ohci_hcd_pnx8550_drv_remove,

+ 1 - 0
drivers/usb/host/ohci-ppc-soc.c

@@ -213,3 +213,4 @@ static struct platform_driver ohci_hcd_ppc_soc_driver = {
 	},
 };
 
+MODULE_ALIAS("platform:ppc-soc-ohci");

+ 3 - 0
drivers/usb/host/ohci-pxa27x.c

@@ -364,6 +364,8 @@ static int ohci_hcd_pxa27x_drv_resume(struct platform_device *pdev)
 }
 #endif
 
+/* work with hotplug and coldplug */
+MODULE_ALIAS("platform:pxa27x-ohci");
 
 static struct platform_driver ohci_hcd_pxa27x_driver = {
 	.probe		= ohci_hcd_pxa27x_drv_probe,
@@ -375,6 +377,7 @@ static struct platform_driver ohci_hcd_pxa27x_driver = {
 #endif
 	.driver		= {
 		.name	= "pxa27x-ohci",
+		.owner	= THIS_MODULE,
 	},
 };
 

+ 1 - 0
drivers/usb/host/ohci-s3c2410.c

@@ -501,3 +501,4 @@ static struct platform_driver ohci_hcd_s3c2410_driver = {
 	},
 };
 
+MODULE_ALIAS("platform:s3c2410-ohci");

+ 1 - 0
drivers/usb/host/ohci-sh.c

@@ -141,3 +141,4 @@ static struct platform_driver ohci_hcd_sh_driver = {
 	},
 };
 
+MODULE_ALIAS("platform:sh_ohci");

+ 1 - 0
drivers/usb/host/ohci-sm501.c

@@ -262,3 +262,4 @@ static struct platform_driver ohci_hcd_sm501_driver = {
 		.name	= "sm501-usb",
 	},
 };
+MODULE_ALIAS("platform:sm501-usb");

+ 2 - 0
drivers/usb/host/r8a66597-hcd.c

@@ -44,6 +44,7 @@
 MODULE_DESCRIPTION("R8A66597 USB Host Controller Driver");
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Yoshihiro Shimoda");
+MODULE_ALIAS("platform:r8a66597_hcd");
 
 #define DRIVER_VERSION	"29 May 2007"
 
@@ -2219,6 +2220,7 @@ static struct platform_driver r8a66597_driver = {
 	.resume =	r8a66597_resume,
 	.driver		= {
 		.name = (char *) hcd_name,
+		.owner	= THIS_MODULE,
 	},
 };
 

+ 1 - 0
drivers/usb/host/sl811-hcd.c

@@ -58,6 +58,7 @@
 
 MODULE_DESCRIPTION("SL811HS USB Host Controller Driver");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:sl811-hcd");
 
 #define DRIVER_VERSION	"19 May 2005"
 

+ 1 - 0
drivers/usb/host/u132-hcd.c

@@ -3316,3 +3316,4 @@ static void __exit u132_hcd_exit(void)
 
 module_exit(u132_hcd_exit);
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:u132_hcd");