Skip to contentSkip to conversation

mtd maps: fix platform driver hotplug/coldplug

PATCH New David Brownell 1 participant 1 message Apr 13, 2008 Memory technology devices (MTD)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mtd maps: fix platform driver hotplug/coldplug

From: Kay Sievers <[email protected]>

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

NOTE oddness with physmap ... it's a legacy driver in some configs, which means it can't always support hotplugging. (Not that most of these mapping drivers would often be used as modules...)

[ [email protected]: bugfix, more drivers, registration fixes ]
---
 drivers/mtd/maps/bast-flash.c       |    1 +
 drivers/mtd/maps/integrator-flash.c |    2 ++
 drivers/mtd/maps/ixp2000.c          |    3 ++-
 drivers/mtd/maps/ixp4xx.c           |    2 ++
 drivers/mtd/maps/omap_nor.c         |    3 ++-
 drivers/mtd/maps/physmap.c          |    8 ++++++++
 drivers/mtd/maps/plat-ram.c         |    3 +++
 drivers/mtd/maps/sa1100-flash.c     |    2 ++
 8 files changed, 22 insertions(+), 2 deletions(-)
drivers/mtd/maps/bast-flash.c +1 -0
@@ -223,3 +223,4 @@ module_exit(bast_flash_exit);
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Ben Dooks <[email protected]>");
 MODULE_DESCRIPTION("BAST MTD Map driver");
+MODULE_ALIAS("platform:bast-nor");
drivers/mtd/maps/integrator-flash.c +2 -0
@@ -190,6 +190,7 @@ static struct platform_driver armflash_d
 	.remove		= armflash_remove,
 	.driver		= {
 		.name	= "armflash",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -209,3 +210,4 @@ module_exit(armflash_exit);
 MODULE_AUTHOR("ARM Ltd");
 MODULE_DESCRIPTION("ARM Integrator CFI map driver");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:armflash");
drivers/mtd/maps/ixp2000.c +2 -1
@@ -253,6 +253,7 @@ static struct platform_driver ixp2000_fl
 	.remove		= ixp2000_flash_remove,
 	.driver		= {
 		.name	= "IXP2000-Flash",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -270,4 +271,4 @@ module_init(ixp2000_flash_init);
 module_exit(ixp2000_flash_exit);
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Deepak Saxena <[email protected]>");
-
+MODULE_ALIAS("platform:IXP2000-Flash");
drivers/mtd/maps/ixp4xx.c +2 -0
@@ -275,6 +275,7 @@ static struct platform_driver ixp4xx_fla
 	.remove		= ixp4xx_flash_remove,
 	.driver		= {
 		.name	= "IXP4XX-Flash",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -295,3 +296,4 @@ module_exit(ixp4xx_flash_exit);
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("MTD map driver for Intel IXP4xx systems");
 MODULE_AUTHOR("Deepak Saxena");
+MODULE_ALIAS("platform:IXP4XX-Flash");
drivers/mtd/maps/omap_nor.c +2 -1
@@ -155,6 +155,7 @@ static struct platform_driver omapflash_
 	.remove	= __exit_p(omapflash_remove),
 	.driver = {
 		.name	= "omapflash",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -173,4 +174,4 @@ module_exit(omapflash_exit);
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("MTD NOR map driver for TI OMAP boards");
-
+MODULE_ALIAS("platform:omapflash");
drivers/mtd/maps/physmap.c +8 -0
@@ -242,6 +242,7 @@ static struct platform_driver physmap_fl
 	.shutdown	= physmap_flash_shutdown,
 	.driver		= {
 		.name	= "physmap-flash",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -319,3 +320,10 @@ module_exit(physmap_exit);
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("David Woodhouse <[email protected]>");
 MODULE_DESCRIPTION("Generic configurable MTD map driver");
+
+/* legacy platform drivers can't hotplug or coldplg */
+#ifndef PHYSMAP_COMPAT
+/* work with hotplug and coldplug */
+MODULE_ALIAS("platform:physmap-flash");
+#endif
+
drivers/mtd/maps/plat-ram.c +3 -0
@@ -251,6 +251,9 @@ static int platram_probe(struct platform
 
 /* device driver info */
 
+/* work with hotplug and coldplug */
+MODULE_ALIAS("platform:mtd-ram");
+
 static struct platform_driver platram_driver = {
 	.probe		= platram_probe,
 	.remove		= platram_remove,
drivers/mtd/maps/sa1100-flash.c +2 -0
@@ -456,6 +456,7 @@ static struct platform_driver sa1100_mtd
 	.shutdown	= sa1100_mtd_shutdown,
 	.driver		= {
 		.name	= "flash",
+		.owner	= THIS_MODULE,
 	},
 };
 
@@ -475,3 +476,4 @@ module_exit(sa1100_mtd_exit);
 MODULE_AUTHOR("Nicolas Pitre");
 MODULE_DESCRIPTION("SA1100 CFI map driver");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:flash");