diff options
author | Kay Sievers <kay.sievers@vrfy.org> | 2008-04-18 16:41:57 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-04-25 00:45:04 -0400 |
commit | 458622fcdc5b316de8d74efd7e610803f0308c14 (patch) | |
tree | ec3747414c56ee911e8bfc415137888abcc609a0 /drivers | |
parent | 8e5443a09851d99084098ecc4066805aa2610d92 (diff) |
ATA/IDE: fix platform driver hotplug/coldplug
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...
[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>
Cc: Tejun Heo <htejun@gmail.com>
Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ata/pata_at32.c | 3 | ||||
-rw-r--r-- | drivers/ata/pata_bf54x.c | 1 | ||||
-rw-r--r-- | drivers/ata/pata_ixp4xx_cf.c | 1 | ||||
-rw-r--r-- | drivers/ata/pata_platform.c | 1 | ||||
-rw-r--r-- | drivers/ata/pata_rb500_cf.c | 3 | ||||
-rw-r--r-- | drivers/ide/arm/palm_bk3710.c | 4 | ||||
-rw-r--r-- | drivers/ide/legacy/ide_platform.c | 2 |
7 files changed, 15 insertions, 0 deletions
diff --git a/drivers/ata/pata_at32.c b/drivers/ata/pata_at32.c index 3e8651d78952..5e104385d6a3 100644 --- a/drivers/ata/pata_at32.c +++ b/drivers/ata/pata_at32.c | |||
@@ -381,6 +381,9 @@ static int __exit pata_at32_remove(struct platform_device *pdev) | |||
381 | return 0; | 381 | return 0; |
382 | } | 382 | } |
383 | 383 | ||
384 | /* work with hotplug and coldplug */ | ||
385 | MODULE_ALIAS("platform:at32_ide"); | ||
386 | |||
384 | static struct platform_driver pata_at32_driver = { | 387 | static struct platform_driver pata_at32_driver = { |
385 | .remove = __exit_p(pata_at32_remove), | 388 | .remove = __exit_p(pata_at32_remove), |
386 | .driver = { | 389 | .driver = { |
diff --git a/drivers/ata/pata_bf54x.c b/drivers/ata/pata_bf54x.c index 0a5ad98635b1..e4cf73c4b70b 100644 --- a/drivers/ata/pata_bf54x.c +++ b/drivers/ata/pata_bf54x.c | |||
@@ -1601,3 +1601,4 @@ MODULE_AUTHOR("Sonic Zhang <sonic.zhang@analog.com>"); | |||
1601 | MODULE_DESCRIPTION("PATA driver for blackfin 54x ATAPI controller"); | 1601 | MODULE_DESCRIPTION("PATA driver for blackfin 54x ATAPI controller"); |
1602 | MODULE_LICENSE("GPL"); | 1602 | MODULE_LICENSE("GPL"); |
1603 | MODULE_VERSION(DRV_VERSION); | 1603 | MODULE_VERSION(DRV_VERSION); |
1604 | MODULE_ALIAS("platform:" DRV_NAME); | ||
diff --git a/drivers/ata/pata_ixp4xx_cf.c b/drivers/ata/pata_ixp4xx_cf.c index 8a175f23b907..de8d186f5abf 100644 --- a/drivers/ata/pata_ixp4xx_cf.c +++ b/drivers/ata/pata_ixp4xx_cf.c | |||
@@ -221,6 +221,7 @@ MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>"); | |||
221 | MODULE_DESCRIPTION("low-level driver for ixp4xx Compact Flash PATA"); | 221 | MODULE_DESCRIPTION("low-level driver for ixp4xx Compact Flash PATA"); |
222 | MODULE_LICENSE("GPL"); | 222 | MODULE_LICENSE("GPL"); |
223 | MODULE_VERSION(DRV_VERSION); | 223 | MODULE_VERSION(DRV_VERSION); |
224 | MODULE_ALIAS("platform:" DRV_NAME); | ||
224 | 225 | ||
225 | module_init(ixp4xx_pata_init); | 226 | module_init(ixp4xx_pata_init); |
226 | module_exit(ixp4xx_pata_exit); | 227 | module_exit(ixp4xx_pata_exit); |
diff --git a/drivers/ata/pata_platform.c b/drivers/ata/pata_platform.c index 6527c56c34a3..8f65ad61b8af 100644 --- a/drivers/ata/pata_platform.c +++ b/drivers/ata/pata_platform.c | |||
@@ -277,3 +277,4 @@ MODULE_AUTHOR("Paul Mundt"); | |||
277 | MODULE_DESCRIPTION("low-level driver for platform device ATA"); | 277 | MODULE_DESCRIPTION("low-level driver for platform device ATA"); |
278 | MODULE_LICENSE("GPL"); | 278 | MODULE_LICENSE("GPL"); |
279 | MODULE_VERSION(DRV_VERSION); | 279 | MODULE_VERSION(DRV_VERSION); |
280 | MODULE_ALIAS("platform:" DRV_NAME); | ||
diff --git a/drivers/ata/pata_rb500_cf.c b/drivers/ata/pata_rb500_cf.c index 800ae4601f44..4345174aaeec 100644 --- a/drivers/ata/pata_rb500_cf.c +++ b/drivers/ata/pata_rb500_cf.c | |||
@@ -239,6 +239,9 @@ static __devexit int rb500_pata_driver_remove(struct platform_device *pdev) | |||
239 | return 0; | 239 | return 0; |
240 | } | 240 | } |
241 | 241 | ||
242 | /* work with hotplug and coldplug */ | ||
243 | MODULE_ALIAS("platform:" DRV_NAME); | ||
244 | |||
242 | static struct platform_driver rb500_pata_platform_driver = { | 245 | static struct platform_driver rb500_pata_platform_driver = { |
243 | .probe = rb500_pata_driver_probe, | 246 | .probe = rb500_pata_driver_probe, |
244 | .remove = __devexit_p(rb500_pata_driver_remove), | 247 | .remove = __devexit_p(rb500_pata_driver_remove), |
diff --git a/drivers/ide/arm/palm_bk3710.c b/drivers/ide/arm/palm_bk3710.c index 474162cdf665..420fcb78a7cd 100644 --- a/drivers/ide/arm/palm_bk3710.c +++ b/drivers/ide/arm/palm_bk3710.c | |||
@@ -409,9 +409,13 @@ out: | |||
409 | return -ENODEV; | 409 | return -ENODEV; |
410 | } | 410 | } |
411 | 411 | ||
412 | /* work with hotplug and coldplug */ | ||
413 | MODULE_ALIAS("platform:palm_bk3710"); | ||
414 | |||
412 | static struct platform_driver platform_bk_driver = { | 415 | static struct platform_driver platform_bk_driver = { |
413 | .driver = { | 416 | .driver = { |
414 | .name = "palm_bk3710", | 417 | .name = "palm_bk3710", |
418 | .owner = THIS_MODULE, | ||
415 | }, | 419 | }, |
416 | .probe = palm_bk3710_probe, | 420 | .probe = palm_bk3710_probe, |
417 | .remove = NULL, | 421 | .remove = NULL, |
diff --git a/drivers/ide/legacy/ide_platform.c b/drivers/ide/legacy/ide_platform.c index 249651e2da42..361b1bb544bf 100644 --- a/drivers/ide/legacy/ide_platform.c +++ b/drivers/ide/legacy/ide_platform.c | |||
@@ -130,6 +130,7 @@ static int __devexit plat_ide_remove(struct platform_device *pdev) | |||
130 | static struct platform_driver platform_ide_driver = { | 130 | static struct platform_driver platform_ide_driver = { |
131 | .driver = { | 131 | .driver = { |
132 | .name = "pata_platform", | 132 | .name = "pata_platform", |
133 | .owner = THIS_MODULE, | ||
133 | }, | 134 | }, |
134 | .probe = plat_ide_probe, | 135 | .probe = plat_ide_probe, |
135 | .remove = __devexit_p(plat_ide_remove), | 136 | .remove = __devexit_p(plat_ide_remove), |
@@ -147,6 +148,7 @@ static void __exit platform_ide_exit(void) | |||
147 | 148 | ||
148 | MODULE_DESCRIPTION("Platform IDE driver"); | 149 | MODULE_DESCRIPTION("Platform IDE driver"); |
149 | MODULE_LICENSE("GPL"); | 150 | MODULE_LICENSE("GPL"); |
151 | MODULE_ALIAS("platform:pata_platform"); | ||
150 | 152 | ||
151 | module_init(platform_ide_init); | 153 | module_init(platform_ide_init); |
152 | module_exit(platform_ide_exit); | 154 | module_exit(platform_ide_exit); |