+ serial-fix-platform-driver-hotplug-coldplug.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled
     serial: fix platform driver hotplug/coldplug
has been added to the -mm tree.  Its filename is
     serial-fix-platform-driver-hotplug-coldplug.patch

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
      reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/

------------------------------------------------------
Subject: serial: fix platform driver hotplug/coldplug
From: Kay Sievers <kay.sievers@xxxxxxxx>

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@xxxxxxxxxxxxxxxxxxxxx: more drivers, registration fixes]
Signed-off-by: Kay Sievers <kay.sievers@xxxxxxxx>
Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 drivers/serial/atmel_serial.c |    1 +
 drivers/serial/bfin_5xx.c     |    2 ++
 drivers/serial/imx.c          |    2 ++
 drivers/serial/mcf.c          |    1 +
 drivers/serial/mpc52xx_uart.c |    2 ++
 drivers/serial/mpsc.c         |    2 ++
 drivers/serial/netx-serial.c  |    2 ++
 drivers/serial/pnx8xxx_uart.c |    1 +
 drivers/serial/pxa.c          |    3 ++-
 drivers/serial/s3c2410.c      |    4 ++++
 drivers/serial/sa1100.c       |    2 ++
 drivers/serial/sc26xx.c       |    2 ++
 drivers/serial/sh-sci.c       |    1 +
 drivers/serial/uartlite.c     |    3 +++
 drivers/serial/vr41xx_siu.c   |    3 +++
 15 files changed, 30 insertions(+), 1 deletion(-)

diff -puN drivers/serial/atmel_serial.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/atmel_serial.c
--- a/drivers/serial/atmel_serial.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/atmel_serial.c
@@ -1577,3 +1577,4 @@ module_exit(atmel_serial_exit);
 MODULE_AUTHOR("Rick Bronson");
 MODULE_DESCRIPTION("Atmel AT91 / AT32 serial port driver");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:atmel_usart");
diff -puN drivers/serial/bfin_5xx.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/bfin_5xx.c
--- a/drivers/serial/bfin_5xx.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/bfin_5xx.c
@@ -1243,6 +1243,7 @@ static struct platform_driver bfin_seria
 	.resume		= bfin_serial_resume,
 	.driver		= {
 		.name	= "bfin-uart",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -1301,3 +1302,4 @@ MODULE_AUTHOR("Aubrey.Li <aubrey.li@anal
 MODULE_DESCRIPTION("Blackfin generic serial port driver");
 MODULE_LICENSE("GPL");
 MODULE_ALIAS_CHARDEV_MAJOR(BFIN_SERIAL_MAJOR);
+MODULE_ALIAS("platform:bfin-uart");
diff -puN drivers/serial/imx.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/imx.c
--- a/drivers/serial/imx.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/imx.c
@@ -1090,6 +1090,7 @@ static struct platform_driver serial_imx
 	.resume		= serial_imx_resume,
 	.driver		= {
 	        .name	= "imx-uart",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -1124,3 +1125,4 @@ module_exit(imx_serial_exit);
 MODULE_AUTHOR("Sascha Hauer");
 MODULE_DESCRIPTION("IMX generic serial port driver");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:imx-uart");
diff -puN drivers/serial/mcf.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/mcf.c
--- a/drivers/serial/mcf.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/mcf.c
@@ -649,5 +649,6 @@ module_exit(mcf_exit);
 MODULE_AUTHOR("Greg Ungerer <gerg@xxxxxxxxxxxx>");
 MODULE_DESCRIPTION("Freescale ColdFire UART driver");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:mcfuart");
 
 /****************************************************************************/
diff -puN drivers/serial/mpc52xx_uart.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/mpc52xx_uart.c
--- a/drivers/serial/mpc52xx_uart.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/mpc52xx_uart.c
@@ -1188,6 +1188,8 @@ mpc52xx_uart_resume(struct platform_devi
 }
 #endif
 
+/* work with hotplug and coldplug */
+MODULE_ALIAS("platform:mpc52xx-psc");
 
 static struct platform_driver mpc52xx_uart_platform_driver = {
 	.probe		= mpc52xx_uart_probe,
diff -puN drivers/serial/mpsc.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/mpsc.c
--- a/drivers/serial/mpsc.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/mpsc.c
@@ -1964,6 +1964,7 @@ static struct platform_driver mpsc_drive
 	.remove	= mpsc_drv_remove,
 	.driver	= {
 		.name	= MPSC_CTLR_NAME,
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -2007,3 +2008,4 @@ MODULE_DESCRIPTION("Generic Marvell MPSC
 MODULE_VERSION(MPSC_VERSION);
 MODULE_LICENSE("GPL");
 MODULE_ALIAS_CHARDEV_MAJOR(MPSC_MAJOR);
+MODULE_ALIAS("platform:" MPSC_CTLR_NAME);
diff -puN drivers/serial/netx-serial.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/netx-serial.c
--- a/drivers/serial/netx-serial.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/netx-serial.c
@@ -713,6 +713,7 @@ static struct platform_driver serial_net
 
 	.driver		= {
 		.name   = DRIVER_NAME,
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -745,3 +746,4 @@ module_exit(netx_serial_exit);
 MODULE_AUTHOR("Sascha Hauer");
 MODULE_DESCRIPTION("NetX serial port driver");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:" DRIVER_NAME);
diff -puN drivers/serial/pnx8xxx_uart.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/pnx8xxx_uart.c
--- a/drivers/serial/pnx8xxx_uart.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/pnx8xxx_uart.c
@@ -850,3 +850,4 @@ MODULE_AUTHOR("Embedded Alley Solutions,
 MODULE_DESCRIPTION("PNX8XXX SoCs serial port driver");
 MODULE_LICENSE("GPL");
 MODULE_ALIAS_CHARDEV_MAJOR(SERIAL_PNX8XXX_MAJOR);
+MODULE_ALIAS("platform:pnx8xxx-uart");
diff -puN drivers/serial/pxa.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/pxa.c
--- a/drivers/serial/pxa.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/pxa.c
@@ -833,6 +833,7 @@ static struct platform_driver serial_pxa
 	.resume		= serial_pxa_resume,
 	.driver		= {
 	        .name	= "pxa2xx-uart",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -861,4 +862,4 @@ module_init(serial_pxa_init);
 module_exit(serial_pxa_exit);
 
 MODULE_LICENSE("GPL");
-
+MODULE_ALIAS("platform:pxa2xx-uart");
diff -puN drivers/serial/s3c2410.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/s3c2410.c
--- a/drivers/serial/s3c2410.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/s3c2410.c
@@ -1935,3 +1935,7 @@ console_initcall(s3c24xx_serial_initcons
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Ben Dooks <ben@xxxxxxxxxxxx>");
 MODULE_DESCRIPTION("Samsung S3C2410/S3C2440/S3C2412 Serial port driver");
+MODULE_ALIAS("platform:s3c2400-uart");
+MODULE_ALIAS("platform:s3c2410-uart");
+MODULE_ALIAS("platform:s3c2412-uart");
+MODULE_ALIAS("platform:s3c2440-uart");
diff -puN drivers/serial/sa1100.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/sa1100.c
--- a/drivers/serial/sa1100.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/sa1100.c
@@ -884,6 +884,7 @@ static struct platform_driver sa11x0_ser
 	.resume		= sa1100_serial_resume,
 	.driver		= {
 		.name	= "sa11x0-uart",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -917,3 +918,4 @@ MODULE_AUTHOR("Deep Blue Solutions Ltd")
 MODULE_DESCRIPTION("SA1100 generic serial port driver $Revision: 1.50 $");
 MODULE_LICENSE("GPL");
 MODULE_ALIAS_CHARDEV_MAJOR(SERIAL_SA1100_MAJOR);
+MODULE_ALIAS("platform:sa11x0-uart");
diff -puN drivers/serial/sc26xx.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/sc26xx.c
--- a/drivers/serial/sc26xx.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/sc26xx.c
@@ -732,6 +732,7 @@ static struct platform_driver sc26xx_dri
 	.remove	= __devexit_p(sc26xx_driver_remove),
 	.driver	= {
 		.name	= "SC26xx",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -753,3 +754,4 @@ MODULE_AUTHOR("Thomas Bogendörfer");
 MODULE_DESCRIPTION("SC681/SC2692 serial driver");
 MODULE_VERSION("1.0");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:SC26xx");
diff -puN drivers/serial/sh-sci.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/sh-sci.c
--- a/drivers/serial/sh-sci.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/sh-sci.c
@@ -1552,3 +1552,4 @@ module_init(sci_init);
 module_exit(sci_exit);
 
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:sh-sci");
diff -puN drivers/serial/uartlite.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/uartlite.c
--- a/drivers/serial/uartlite.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/uartlite.c
@@ -561,6 +561,9 @@ static int __devexit ulite_remove(struct
 	return ulite_release(&pdev->dev);
 }
 
+/* work with hotplug and coldplug */
+MODULE_ALIAS("platform:uartlite");
+
 static struct platform_driver ulite_platform_driver = {
 	.probe	= ulite_probe,
 	.remove	= __devexit_p(ulite_remove),
diff -puN drivers/serial/vr41xx_siu.c~serial-fix-platform-driver-hotplug-coldplug drivers/serial/vr41xx_siu.c
--- a/drivers/serial/vr41xx_siu.c~serial-fix-platform-driver-hotplug-coldplug
+++ a/drivers/serial/vr41xx_siu.c
@@ -960,3 +960,6 @@ static void __exit vr41xx_siu_exit(void)
 
 module_init(vr41xx_siu_init);
 module_exit(vr41xx_siu_exit);
+
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:SIU");
_

Patches currently in -mm which might be from kay.sievers@xxxxxxxx are

mmc-fix-platform-driver-hotplug-coldplug.patch
leds-fix-platform-driver-hotplug-coldplug.patch
misc-fix-platform-driver-hotplug-coldplug.patch
pcmcia-fix-platform-driver-hotplug-coldplug.patch
serial-fix-platform-driver-hotplug-coldplug.patch
pm-introduce-new-top-level-suspend-and-hibernation-callbacks-rev-7.patch
pm-introduce-new-top-level-suspend-and-hibernation-callbacks-rev-7-fix.patch
pm-new-suspend-and-hibernation-callbacks-for-platform-bus-type-rev-3.patch
pm-new-suspend-and-hibernation-callbacks-for-pci-bus-type-rev-3.patch
ata-ide-fix-platform-driver-hotplug-coldplug.patch
mtd-maps-fix-platform-driver-hotplug-coldplug.patch
mtd-nand-fix-platform-driver-hotplug-coldplug.patch
mm-bdi-export-bdi-attributes-in-sysfs.patch
mm-bdi-export-bdi-attributes-in-sysfs-ia64-fix.patch
infrastructure-to-debug-dynamic-objects.patch
debugobjects-add-documentation.patch
debugobjects-add-timer-specific-object-debugging-code.patch
add-hrtimer-specific-debugobjects-code.patch
cpu-change-cpu_sys_devices-from-array-to-per_cpu-variable.patch

--
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux