Skip to content

Commit

Permalink
mmc: omap_hsmmc: make it behave well as a module
Browse files Browse the repository at this point in the history
If we put probe() on __init section, that will never work for multiple
module insertions/removals.

In order to make it work properly, move probe to __devinit section and
use platform_driver_register() instead of platform_driver_probe().

Signed-off-by: Felipe Balbi <[email protected]>
Signed-off-by: Venkatraman S <[email protected]>
Signed-off-by: Chris Ball <[email protected]>
  • Loading branch information
Felipe Balbi authored and cjb committed Apr 6, 2012
1 parent 927ce94 commit efa25fd
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions drivers/mmc/host/omap_hsmmc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1785,7 +1785,7 @@ static inline struct omap_mmc_platform_data
}
#endif

static int __init omap_hsmmc_probe(struct platform_device *pdev)
static int __devinit omap_hsmmc_probe(struct platform_device *pdev)
{
struct omap_mmc_platform_data *pdata = pdev->dev.platform_data;
struct mmc_host *mmc;
Expand Down Expand Up @@ -2036,7 +2036,7 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev)
return ret;
}

static int omap_hsmmc_remove(struct platform_device *pdev)
static int __devexit omap_hsmmc_remove(struct platform_device *pdev)
{
struct omap_hsmmc_host *host = platform_get_drvdata(pdev);
struct resource *res;
Expand Down Expand Up @@ -2194,7 +2194,8 @@ static struct dev_pm_ops omap_hsmmc_dev_pm_ops = {
};

static struct platform_driver omap_hsmmc_driver = {
.remove = omap_hsmmc_remove,
.probe = omap_hsmmc_probe,
.remove = __devexit_p(omap_hsmmc_remove),
.driver = {
.name = DRIVER_NAME,
.owner = THIS_MODULE,
Expand All @@ -2206,7 +2207,7 @@ static struct platform_driver omap_hsmmc_driver = {
static int __init omap_hsmmc_init(void)
{
/* Register the MMC driver */
return platform_driver_probe(&omap_hsmmc_driver, omap_hsmmc_probe);
return platform_driver_register(&omap_hsmmc_driver);
}

static void __exit omap_hsmmc_cleanup(void)
Expand Down

0 comments on commit efa25fd

Please sign in to comment.