mmc: omap: make it behave well as a module
authorVenkatraman S <svenkatr@ti.com>
Tue, 8 May 2012 11:35:34 +0000 (17:05 +0530)
committerChris Ball <cjb@laptop.org>
Thu, 17 May 2012 12:26:15 +0000 (08:26 -0400)
Use proper __devinit and __devexit annotation for driver functions.
Instantiate the probe function for driver_ops instead of a probe in
the register function.

Signed-off-by: Venkatraman S <svenkatr@ti.com>
Acked-by: Balaji T K <balajitk@ti.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/omap.c

index 2d7628eee3d3a7d7253764d9a7e14ed09e85e0c8..0056bd8acc83bbf8ff2f9df1a7ff43cbdadf13f0 100644 (file)
@@ -1395,7 +1395,7 @@ static void mmc_omap_remove_slot(struct mmc_omap_slot *slot)
        mmc_free_host(mmc);
 }
 
-static int __init mmc_omap_probe(struct platform_device *pdev)
+static int __devinit mmc_omap_probe(struct platform_device *pdev)
 {
        struct omap_mmc_platform_data *pdata = pdev->dev.platform_data;
        struct mmc_omap_host *host = NULL;
@@ -1522,7 +1522,7 @@ err_free_mem_region:
        return ret;
 }
 
-static int mmc_omap_remove(struct platform_device *pdev)
+static int __devexit mmc_omap_remove(struct platform_device *pdev)
 {
        struct mmc_omap_host *host = platform_get_drvdata(pdev);
        int i;
@@ -1604,7 +1604,8 @@ static int mmc_omap_resume(struct platform_device *pdev)
 #endif
 
 static struct platform_driver mmc_omap_driver = {
-       .remove         = mmc_omap_remove,
+       .probe          = mmc_omap_probe,
+       .remove         = __devexit_p(mmc_omap_remove),
        .suspend        = mmc_omap_suspend,
        .resume         = mmc_omap_resume,
        .driver         = {
@@ -1615,7 +1616,7 @@ static struct platform_driver mmc_omap_driver = {
 
 static int __init mmc_omap_init(void)
 {
-       return platform_driver_probe(&mmc_omap_driver, mmc_omap_probe);
+       return platform_driver_register(&mmc_omap_driver);
 }
 
 static void __exit mmc_omap_exit(void)