ATA/IDE: fix platform driver hotplug/coldplug
PATCH 1/1 ATA/IDE: 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 ATA and IDE platform drivers, to re-enable auto loading.
NOTE: both ata/pata_platform.c and ide/legacy/ide_platform.c claim to provide "the" platform_pata driver, and there's no build-time mutual exclusion mechanism. This means that configs which enable both drivers will make some trouble when hotplugging...
--- drivers/ata/pata_at32.c | 3 +++ drivers/ata/pata_bf54x.c | 1 + drivers/ata/pata_ixp4xx_cf.c | 1 + drivers/ata/pata_platform.c | 1 + drivers/ata/pata_rb500_cf.c | 3 +++ drivers/ata/sata_mv.c | 2 +- drivers/ide/arm/palm_bk3710.c | 4 ++++ drivers/ide/legacy/ide_platform.c | 2 ++ 8 files changed, 16 insertions(+), 1 deletion(-)
drivers/ata/pata_at32.c +3 -0
@@ -419,6 +419,9 @@ static int __exit pata_at32_remove(strucreturn 0 ; } +/* work with hotplug and coldplug */ +MODULE_ALIAS ("platform:at32_ide" ); +static struct platform_driver pata_at32_driver = { .remove =__exit_p (pata_at32_remove), .driver = {
drivers/ata/pata_bf54x.c +1 -0
@@ -1630,3 +1630,4 @@ MODULE_AUTHOR("Sonic Zhang <sonic.zhang@MODULE_DESCRIPTION ("PATA driver for blackfin 54x ATAPI controller" );MODULE_LICENSE ("GPL" );MODULE_VERSION (DRV_VERSION ); +MODULE_ALIAS ("platform:" DRV_NAME );
drivers/ata/pata_ixp4xx_cf.c +1 -0
@@ -255,6 +255,7 @@ MODULE_AUTHOR("Alessandro Zummo <a.zummoMODULE_DESCRIPTION ("low-level driver for ixp4xx Compact Flash PATA" );MODULE_LICENSE ("GPL" );MODULE_VERSION (DRV_VERSION ); +MODULE_ALIAS ("platform:" DRV_NAME );module_init (ixp4xx_pata_init);module_exit (ixp4xx_pata_exit);
drivers/ata/pata_platform.c +1 -0
@@ -311,3 +311,4 @@ MODULE_AUTHOR("Paul Mundt");MODULE_DESCRIPTION ("low-level driver for platform device ATA" );MODULE_LICENSE ("GPL" );MODULE_VERSION (DRV_VERSION ); +MODULE_ALIAS ("platform:" DRV_NAME );
drivers/ata/pata_rb500_cf.c +3 -0
@@ -279,6 +279,9 @@ static __devexit int rb500_pata_driver_rreturn 0 ; } +/* work with hotplug and coldplug */ +MODULE_ALIAS ("platform:" DRV_NAME ); +static struct platform_driver rb500_pata_platform_driver = { .probe = rb500_pata_driver_probe, .remove =__devexit_p (rb500_pata_driver_remove),
drivers/ata/sata_mv.c +1 -1
@@ -3192,7 +3192,7 @@ MODULE_DESCRIPTION("SCSI low-level driveMODULE_LICENSE ("GPL" );MODULE_DEVICE_TABLE (pci, mv_pci_tbl);MODULE_VERSION (DRV_VERSION ); -MODULE_ALIAS ("platform:sata_mv" ); +MODULE_ALIAS ("platform:" DRV_NAME );#ifdef CONFIG_PCI module_param (msi, int,0444 );
drivers/ide/arm/palm_bk3710.c +4 -0
@@ -409,9 +409,13 @@ out:return -ENODEV ; } +/* work with hotplug and coldplug */ +MODULE_ALIAS ("platform:palm_bk3710" ); +static struct platform_driver platform_bk_driver = { .driver = { .name ="palm_bk3710" , + .owner =THIS_MODULE , }, .probe = palm_bk3710_probe, .remove =NULL ,
drivers/ide/legacy/ide_platform.c +2 -0
@@ -130,6 +130,7 @@ static int __devexit plat_ide_remove(strstatic struct platform_driver platform_ide_driver = { .driver = { .name ="pata_platform" , + .owner =THIS_MODULE , }, .probe = plat_ide_probe, .remove =__devexit_p (plat_ide_remove),
@@ -147,6 +148,7 @@ static void __exit platform_ide_exit(voiMODULE_DESCRIPTION ("Platform IDE driver" );MODULE_LICENSE ("GPL" ); +MODULE_ALIAS ("platform:pata_platform" );module_init (platform_ide_init);module_exit (platform_ide_exit);
Quoted 6 lines · David Brownell
From: Kay Sievers <[email protected]>
Since
43cc71eed1250755986da4c0f9898f9a635cb3bf, the platform modalias is prefixed with "platform:". AddMODULE_ALIAS()to the hotpluggable ATA and IDE platform drivers, to re-enable auto loading.
Quoted 8 lines
NOTE: both
ata/pata_platform.candide/legacy/ide_platform.cclaim to provide "the"platform_patadriver, and there's no build-time mutual exclusion mechanism. This means that configs which enable both drivers will make some trouble when hotplugging...[ [email protected]: more drivers, registration fixes ]Signed-off-by Kay Sievers <[email protected]>Signed-off-by David Brownell <[email protected]>