Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

serial: fix platform driver hotplug/coldplug

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

NOTE that Kconfig for some of these drivers doesn't allow modular builds, and
thus doesn't match the driver source's unload support. Presumably their
unload code is buggy and/or weakly tested...

[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>
Acked-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Kay Sievers and committed by
Linus Torvalds
e169c139 12c2c019

+30 -1
+1
drivers/serial/atmel_serial.c
··· 1577 1577 MODULE_AUTHOR("Rick Bronson"); 1578 1578 MODULE_DESCRIPTION("Atmel AT91 / AT32 serial port driver"); 1579 1579 MODULE_LICENSE("GPL"); 1580 + MODULE_ALIAS("platform:atmel_usart");
+2
drivers/serial/bfin_5xx.c
··· 1243 1243 .resume = bfin_serial_resume, 1244 1244 .driver = { 1245 1245 .name = "bfin-uart", 1246 + .owner = THIS_MODULE, 1246 1247 }, 1247 1248 }; 1248 1249 ··· 1302 1301 MODULE_DESCRIPTION("Blackfin generic serial port driver"); 1303 1302 MODULE_LICENSE("GPL"); 1304 1303 MODULE_ALIAS_CHARDEV_MAJOR(BFIN_SERIAL_MAJOR); 1304 + MODULE_ALIAS("platform:bfin-uart");
+2
drivers/serial/imx.c
··· 1090 1090 .resume = serial_imx_resume, 1091 1091 .driver = { 1092 1092 .name = "imx-uart", 1093 + .owner = THIS_MODULE, 1093 1094 }, 1094 1095 }; 1095 1096 ··· 1125 1124 MODULE_AUTHOR("Sascha Hauer"); 1126 1125 MODULE_DESCRIPTION("IMX generic serial port driver"); 1127 1126 MODULE_LICENSE("GPL"); 1127 + MODULE_ALIAS("platform:imx-uart");
+1
drivers/serial/mcf.c
··· 649 649 MODULE_AUTHOR("Greg Ungerer <gerg@snapgear.com>"); 650 650 MODULE_DESCRIPTION("Freescale ColdFire UART driver"); 651 651 MODULE_LICENSE("GPL"); 652 + MODULE_ALIAS("platform:mcfuart"); 652 653 653 654 /****************************************************************************/
+2
drivers/serial/mpc52xx_uart.c
··· 1188 1188 } 1189 1189 #endif 1190 1190 1191 + /* work with hotplug and coldplug */ 1192 + MODULE_ALIAS("platform:mpc52xx-psc"); 1191 1193 1192 1194 static struct platform_driver mpc52xx_uart_platform_driver = { 1193 1195 .probe = mpc52xx_uart_probe,
+2
drivers/serial/mpsc.c
··· 1964 1964 .remove = mpsc_drv_remove, 1965 1965 .driver = { 1966 1966 .name = MPSC_CTLR_NAME, 1967 + .owner = THIS_MODULE, 1967 1968 }, 1968 1969 }; 1969 1970 ··· 2008 2007 MODULE_VERSION(MPSC_VERSION); 2009 2008 MODULE_LICENSE("GPL"); 2010 2009 MODULE_ALIAS_CHARDEV_MAJOR(MPSC_MAJOR); 2010 + MODULE_ALIAS("platform:" MPSC_CTLR_NAME);
+2
drivers/serial/netx-serial.c
··· 713 713 714 714 .driver = { 715 715 .name = DRIVER_NAME, 716 + .owner = THIS_MODULE, 716 717 }, 717 718 }; 718 719 ··· 746 745 MODULE_AUTHOR("Sascha Hauer"); 747 746 MODULE_DESCRIPTION("NetX serial port driver"); 748 747 MODULE_LICENSE("GPL"); 748 + MODULE_ALIAS("platform:" DRIVER_NAME);
+1
drivers/serial/pnx8xxx_uart.c
··· 850 850 MODULE_DESCRIPTION("PNX8XXX SoCs serial port driver"); 851 851 MODULE_LICENSE("GPL"); 852 852 MODULE_ALIAS_CHARDEV_MAJOR(SERIAL_PNX8XXX_MAJOR); 853 + MODULE_ALIAS("platform:pnx8xxx-uart");
+2 -1
drivers/serial/pxa.c
··· 833 833 .resume = serial_pxa_resume, 834 834 .driver = { 835 835 .name = "pxa2xx-uart", 836 + .owner = THIS_MODULE, 836 837 }, 837 838 }; 838 839 ··· 862 861 module_exit(serial_pxa_exit); 863 862 864 863 MODULE_LICENSE("GPL"); 865 - 864 + MODULE_ALIAS("platform:pxa2xx-uart");
+4
drivers/serial/s3c2410.c
··· 1935 1935 MODULE_LICENSE("GPL"); 1936 1936 MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>"); 1937 1937 MODULE_DESCRIPTION("Samsung S3C2410/S3C2440/S3C2412 Serial port driver"); 1938 + MODULE_ALIAS("platform:s3c2400-uart"); 1939 + MODULE_ALIAS("platform:s3c2410-uart"); 1940 + MODULE_ALIAS("platform:s3c2412-uart"); 1941 + MODULE_ALIAS("platform:s3c2440-uart");
+2
drivers/serial/sa1100.c
··· 884 884 .resume = sa1100_serial_resume, 885 885 .driver = { 886 886 .name = "sa11x0-uart", 887 + .owner = THIS_MODULE, 887 888 }, 888 889 }; 889 890 ··· 918 917 MODULE_DESCRIPTION("SA1100 generic serial port driver $Revision: 1.50 $"); 919 918 MODULE_LICENSE("GPL"); 920 919 MODULE_ALIAS_CHARDEV_MAJOR(SERIAL_SA1100_MAJOR); 920 + MODULE_ALIAS("platform:sa11x0-uart");
+2
drivers/serial/sc26xx.c
··· 732 732 .remove = __devexit_p(sc26xx_driver_remove), 733 733 .driver = { 734 734 .name = "SC26xx", 735 + .owner = THIS_MODULE, 735 736 }, 736 737 }; 737 738 ··· 754 753 MODULE_DESCRIPTION("SC681/SC2692 serial driver"); 755 754 MODULE_VERSION("1.0"); 756 755 MODULE_LICENSE("GPL"); 756 + MODULE_ALIAS("platform:SC26xx");
+1
drivers/serial/sh-sci.c
··· 1552 1552 module_exit(sci_exit); 1553 1553 1554 1554 MODULE_LICENSE("GPL"); 1555 + MODULE_ALIAS("platform:sh-sci");
+3
drivers/serial/uartlite.c
··· 561 561 return ulite_release(&pdev->dev); 562 562 } 563 563 564 + /* work with hotplug and coldplug */ 565 + MODULE_ALIAS("platform:uartlite"); 566 + 564 567 static struct platform_driver ulite_platform_driver = { 565 568 .probe = ulite_probe, 566 569 .remove = __devexit_p(ulite_remove),
+3
drivers/serial/vr41xx_siu.c
··· 960 960 961 961 module_init(vr41xx_siu_init); 962 962 module_exit(vr41xx_siu_exit); 963 + 964 + MODULE_LICENSE("GPL"); 965 + MODULE_ALIAS("platform:SIU");