mtd maps: fix platform driver hotplug/coldplug
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 ]
Signed-off-by Kay Sievers <[email protected]>
Signed-off-by David Brownell <[email protected]>
--- 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" );