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>
This commit is contained in:
@@ -799,7 +799,7 @@ rx_dma_failed:
|
||||
* It will invoke spi_bitbang_start to create work queue so that client driver
|
||||
* can register transfer method to work queue.
|
||||
*/
|
||||
static int davinci_spi_probe(struct platform_device *pdev)
|
||||
static int __devinit davinci_spi_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct spi_master *master;
|
||||
struct davinci_spi *dspi;
|
||||
@@ -984,7 +984,7 @@ err:
|
||||
* It will also call spi_bitbang_stop to destroy the work queue which was
|
||||
* created by spi_bitbang_start.
|
||||
*/
|
||||
static int __exit davinci_spi_remove(struct platform_device *pdev)
|
||||
static int __devexit davinci_spi_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct davinci_spi *dspi;
|
||||
struct spi_master *master;
|
||||
@@ -1011,20 +1011,10 @@ static struct platform_driver davinci_spi_driver = {
|
||||
.name = "spi_davinci",
|
||||
.owner = THIS_MODULE,
|
||||
},
|
||||
.remove = __exit_p(davinci_spi_remove),
|
||||
.probe = davinci_spi_probe,
|
||||
.remove = __devexit_p(davinci_spi_remove),
|
||||
};
|
||||
|
||||
static int __init davinci_spi_init(void)
|
||||
{
|
||||
return platform_driver_probe(&davinci_spi_driver, davinci_spi_probe);
|
||||
}
|
||||
module_init(davinci_spi_init);
|
||||
|
||||
static void __exit davinci_spi_exit(void)
|
||||
{
|
||||
platform_driver_unregister(&davinci_spi_driver);
|
||||
}
|
||||
module_exit(davinci_spi_exit);
|
||||
module_platform_driver(davinci_spi_driver);
|
||||
|
||||
MODULE_DESCRIPTION("TI DaVinci SPI Master Controller Driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
Reference in New Issue
Block a user