diff options
| author | Grant Likely <grant.likely@secretlab.ca> | 2011-10-05 13:29:49 -0400 |
|---|---|---|
| committer | Grant Likely <grant.likely@secretlab.ca> | 2011-10-24 18:35:47 -0400 |
| commit | 940ab88962bc1aff3273a8356d64577a6e386736 (patch) | |
| tree | 3d96d0cb30fd3c6e1b17b2a2d264f4d44258a3bb | |
| parent | 38ada214fad79ff5ebbed58932c5f0c9969d9c91 (diff) | |
drivercore: Add helper macro for platform_driver boilerplate
For simple modules that contain a single platform_driver without any
additional setup code then ends up being a block of duplicated
boilerplate. This patch adds a new macro, module_platform_driver(),
which replaces the module_init()/module_exit() registrations with
template functions.
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Reviewed-by: Magnus Damm <magnus.damm@gmail.com>
Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
27 files changed, 63 insertions, 329 deletions
diff --git a/drivers/spi/spi-altera.c b/drivers/spi/spi-altera.c index 4813a63ce6fb..881c1967741d 100644 --- a/drivers/spi/spi-altera.c +++ b/drivers/spi/spi-altera.c | |||
| @@ -320,18 +320,7 @@ static struct platform_driver altera_spi_driver = { | |||
| 320 | .of_match_table = altera_spi_match, | 320 | .of_match_table = altera_spi_match, |
| 321 | }, | 321 | }, |
| 322 | }; | 322 | }; |
| 323 | 323 | module_platform_driver(altera_spi_driver); | |
| 324 | static int __init altera_spi_init(void) | ||
| 325 | { | ||
| 326 | return platform_driver_register(&altera_spi_driver); | ||
| 327 | } | ||
| 328 | module_init(altera_spi_init); | ||
| 329 | |||
| 330 | static void __exit altera_spi_exit(void) | ||
| 331 | { | ||
| 332 | platform_driver_unregister(&altera_spi_driver); | ||
| 333 | } | ||
| 334 | module_exit(altera_spi_exit); | ||
| 335 | 324 | ||
| 336 | MODULE_DESCRIPTION("Altera SPI driver"); | 325 | MODULE_DESCRIPTION("Altera SPI driver"); |
| 337 | MODULE_AUTHOR("Thomas Chou <thomas@wytron.com.tw>"); | 326 | MODULE_AUTHOR("Thomas Chou <thomas@wytron.com.tw>"); |
diff --git a/drivers/spi/spi-ath79.c b/drivers/spi/spi-ath79.c index 03019bf5a5e9..024b48aed5ca 100644 --- a/drivers/spi/spi-ath79.c +++ b/drivers/spi/spi-ath79.c | |||
| @@ -273,18 +273,7 @@ static struct platform_driver ath79_spi_driver = { | |||
| 273 | .owner = THIS_MODULE, | 273 | .owner = THIS_MODULE, |
| 274 | }, | 274 | }, |
| 275 | }; | 275 | }; |
| 276 | 276 | module_platform_driver(ath79_spi_driver); | |
| 277 | static __init int ath79_spi_init(void) | ||
| 278 | { | ||
| 279 | return platform_driver_register(&ath79_spi_driver); | ||
| 280 | } | ||
| 281 | module_init(ath79_spi_init); | ||
| 282 | |||
| 283 | static __exit void ath79_spi_exit(void) | ||
| 284 | { | ||
| 285 | platform_driver_unregister(&ath79_spi_driver); | ||
| 286 | } | ||
| 287 | module_exit(ath79_spi_exit); | ||
| 288 | 277 | ||
| 289 | MODULE_DESCRIPTION("SPI controller driver for Atheros AR71XX/AR724X/AR913X"); | 278 | MODULE_DESCRIPTION("SPI controller driver for Atheros AR71XX/AR724X/AR913X"); |
| 290 | MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>"); | 279 | MODULE_AUTHOR("Gabor Juhos <juhosg@openwrt.org>"); |
diff --git a/drivers/spi/spi-atmel.c b/drivers/spi/spi-atmel.c index 82dee9a6c0de..a356392ab2f6 100644 --- a/drivers/spi/spi-atmel.c +++ b/drivers/spi/spi-atmel.c | |||
| @@ -1074,18 +1074,7 @@ static struct platform_driver atmel_spi_driver = { | |||
| 1074 | .resume = atmel_spi_resume, | 1074 | .resume = atmel_spi_resume, |
| 1075 | .remove = __exit_p(atmel_spi_remove), | 1075 | .remove = __exit_p(atmel_spi_remove), |
| 1076 | }; | 1076 | }; |
| 1077 | 1077 | module_platform_driver(atmel_spi_driver); | |
| 1078 | static int __init atmel_spi_init(void) | ||
| 1079 | { | ||
| 1080 | return platform_driver_probe(&atmel_spi_driver, atmel_spi_probe); | ||
| 1081 | } | ||
| 1082 | module_init(atmel_spi_init); | ||
| 1083 | |||
| 1084 | static void __exit atmel_spi_exit(void) | ||
| 1085 | { | ||
| 1086 | platform_driver_unregister(&atmel_spi_driver); | ||
| 1087 | } | ||
| 1088 | module_exit(atmel_spi_exit); | ||
| 1089 | 1078 | ||
| 1090 | MODULE_DESCRIPTION("Atmel AT32/AT91 SPI Controller driver"); | 1079 | MODULE_DESCRIPTION("Atmel AT32/AT91 SPI Controller driver"); |
| 1091 | MODULE_AUTHOR("Haavard Skinnemoen (Atmel)"); | 1080 | MODULE_AUTHOR("Haavard Skinnemoen (Atmel)"); |
diff --git a/drivers/spi/spi-bfin-sport.c b/drivers/spi/spi-bfin-sport.c index e557ff617b11..248a2cc671a9 100644 --- a/drivers/spi/spi-bfin-sport.c +++ b/drivers/spi/spi-bfin-sport.c | |||
| @@ -938,15 +938,4 @@ static struct platform_driver bfin_sport_spi_driver = { | |||
| 938 | .suspend = bfin_sport_spi_suspend, | 938 | .suspend = bfin_sport_spi_suspend, |
| 939 | .resume = bfin_sport_spi_resume, | 939 | .resume = bfin_sport_spi_resume, |
| 940 | }; | 940 | }; |
| 941 | 941 | module_platform_driver(bfin_sport_spi_driver); | |
| 942 | static int __init bfin_sport_spi_init(void) | ||
| 943 | { | ||
| 944 | return platform_driver_register(&bfin_sport_spi_driver); | ||
| 945 | } | ||
| 946 | module_init(bfin_sport_spi_init); | ||
| 947 | |||
| 948 | static void __exit bfin_sport_spi_exit(void) | ||
| 949 | { | ||
| 950 | platform_driver_unregister(&bfin_sport_spi_driver); | ||
| 951 | } | ||
| 952 | module_exit(bfin_sport_spi_exit); | ||
diff --git a/drivers/spi/spi-coldfire-qspi.c b/drivers/spi/spi-coldfire-qspi.c index 7397c4d57007..6eee64a5d240 100644 --- a/drivers/spi/spi-coldfire-qspi.c +++ b/drivers/spi/spi-coldfire-qspi.c | |||
| @@ -621,20 +621,10 @@ static struct platform_driver mcfqspi_driver = { | |||
| 621 | .driver.name = DRIVER_NAME, | 621 | .driver.name = DRIVER_NAME, |
| 622 | .driver.owner = THIS_MODULE, | 622 | .driver.owner = THIS_MODULE, |
| 623 | .driver.pm = MCFQSPI_DEV_PM_OPS, | 623 | .driver.pm = MCFQSPI_DEV_PM_OPS, |
| 624 | .probe = mcfqspi_probe, | ||
| 624 | .remove = __devexit_p(mcfqspi_remove), | 625 | .remove = __devexit_p(mcfqspi_remove), |
| 625 | }; | 626 | }; |
| 626 | 627 | module_platform_driver(mcfqspi_driver); | |
| 627 | static int __init mcfqspi_init(void) | ||
| 628 | { | ||
| 629 | return platform_driver_probe(&mcfqspi_driver, mcfqspi_probe); | ||
| 630 | } | ||
| 631 | module_init(mcfqspi_init); | ||
| 632 | |||
| 633 | static void __exit mcfqspi_exit(void) | ||
| 634 | { | ||
| 635 | platform_driver_unregister(&mcfqspi_driver); | ||
| 636 | } | ||
| 637 | module_exit(mcfqspi_exit); | ||
| 638 | 628 | ||
| 639 | MODULE_AUTHOR("Steven King <sfking@fdwdc.com>"); | 629 | MODULE_AUTHOR("Steven King <sfking@fdwdc.com>"); |
| 640 | MODULE_DESCRIPTION("Coldfire QSPI Controller Driver"); | 630 | MODULE_DESCRIPTION("Coldfire QSPI Controller Driver"); |
diff --git a/drivers/spi/spi-davinci.c b/drivers/spi/spi-davinci.c index 1f0ed8005c91..31bfba805cf4 100644 --- a/drivers/spi/spi-davinci.c +++ b/drivers/spi/spi-davinci.c | |||
| @@ -799,7 +799,7 @@ rx_dma_failed: | |||
| 799 | * It will invoke spi_bitbang_start to create work queue so that client driver | 799 | * It will invoke spi_bitbang_start to create work queue so that client driver |
| 800 | * can register transfer method to work queue. | 800 | * can register transfer method to work queue. |
| 801 | */ | 801 | */ |
| 802 | static int davinci_spi_probe(struct platform_device *pdev) | 802 | static int __devinit davinci_spi_probe(struct platform_device *pdev) |
| 803 | { | 803 | { |
| 804 | struct spi_master *master; | 804 | struct spi_master *master; |
| 805 | struct davinci_spi *dspi; | 805 | struct davinci_spi *dspi; |
| @@ -984,7 +984,7 @@ err: | |||
| 984 | * It will also call spi_bitbang_stop to destroy the work queue which was | 984 | * It will also call spi_bitbang_stop to destroy the work queue which was |
| 985 | * created by spi_bitbang_start. | 985 | * created by spi_bitbang_start. |
| 986 | */ | 986 | */ |
| 987 | static int __exit davinci_spi_remove(struct platform_device *pdev) | 987 | static int __devexit davinci_spi_remove(struct platform_device *pdev) |
| 988 | { | 988 | { |
| 989 | struct davinci_spi *dspi; | 989 | struct davinci_spi *dspi; |
| 990 | struct spi_master *master; | 990 | struct spi_master *master; |
| @@ -1011,20 +1011,10 @@ static struct platform_driver davinci_spi_driver = { | |||
| 1011 | .name = "spi_davinci", | 1011 | .name = "spi_davinci", |
| 1012 | .owner = THIS_MODULE, | 1012 | .owner = THIS_MODULE, |
| 1013 | }, | 1013 | }, |
| 1014 | .remove = __exit_p(davinci_spi_remove), | 1014 | .probe = davinci_spi_probe, |
| 1015 | .remove = __devexit_p(davinci_spi_remove), | ||
