mmc: dw_mmc: use the dev_pm_ops for dw_mmc controller
Subsystems (2)
Jaehoon Chung
maintainerPATCH v2 1/1 mmc: dw_mmc: use the dev_pm_ops for dw_mmc controller
Dw_mmc controller didn't use dev_pm_ops.
This patch modified to use the dev_mp_ops for dw_mmc controller
---
Changelog v2:
- Use the Macro for dev_pm_ops
drivers/mmc/host/dw_mmc.c | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-)
drivers/mmc/host/dw_mmc.c +8 -7
@@ -2066,10 +2066,10 @@ static int __exit dw_mci_remove(struct platform_device *pdev)/* * TODO: we should probably disable the clock to the card in the suspend path. */ -static int dw_mci_suspend (struct platform_device *pdev,pm_message_t mesg) +static int dw_mci_suspend (struct device *dev) {int i, ret; -struct dw_mci *host =platform_get_drvdata (pdev); +struct dw_mci *host =dev_get_drvdata (dev);for (i =0 ; i < host->num_slots; i++) {struct dw_mci_slot *slot = host->slot[i];
@@ -2092,10 +2092,10 @@ static int dw_mci_suspend(struct platform_device *pdev, pm_message_t mesg)return 0 ; } -static int dw_mci_resume (struct platform_device *pdev) +static int dw_mci_resume (struct device *dev) {int i, ret; -struct dw_mci *host =platform_get_drvdata (pdev); +struct dw_mci *host =dev_get_drvdata (dev);if (host->vmmc)regulator_enable (host->vmmc);
@@ -2103,7 +2103,7 @@ static int dw_mci_resume(struct platform_device *pdev)if (host->dma_ops->init) host->dma_ops->init (host); -if (!mci_wait_reset (&pdev->dev, host)) { +if (!mci_wait_reset (dev, host)) { ret = -ENODEV ;return ret; }
@@ -2133,12 +2133,13 @@ static int dw_mci_resume(struct platform_device *pdev)#define dw_mci_resume NULL#endif /* CONFIG_PM */ +SIMPLE_DEV_PM_OPS (dw_mci_pmops, dw_mci_suspend, dw_mci_resume); +static struct platform_driver dw_mci_driver = { .remove =__exit_p (dw_mci_remove), - .suspend = dw_mci_suspend, - .resume = dw_mci_resume, .driver = { .name ="dw_mmc" , + .pm = &dw_mci_pmops, }, };
Thanks,
Couple more things
Quoted 2 lines · Jaehoon Chung
Dw_mmccontroller didn't usedev_pm_ops.
This patch modified to use thedev_mp_opsfordw_mmccontroller
I think you mean dev_pm_ops.
Quoted 50 lines
Signed-off-by Jaehoon Chung <[email protected]>Signed-off-by Kyungmin Park <[email protected]>---
Changelog v2:
- Use the Macro fordev_pm_opsdrivers/mmc/host/dw_mmc.c | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-)drivers/mmc/host/dw_mmc.c +5
-5@@ -2066,10 +2066,10 @@ static int __exit dw_mci_remove(struct platform_device *pdev)/* * TODO: we should probably disable the clock to the card in the suspend path. */ -static int dw_mci_suspend (struct platform_device *pdev,pm_message_t mesg) +static int dw_mci_suspend (struct device *dev) {int i, ret; -struct dw_mci *host =platform_get_drvdata (pdev); +struct dw_mci *host =dev_get_drvdata (dev);for (i =0 ; i < host->num_slots; i++) {struct dw_mci_slot *slot = host->slot[i];@@ -2092,10 +2092,10 @@ static int dw_mci_suspend(struct platform_device *pdev, pm_message_t mesg)return 0 ; } -static int dw_mci_resume (struct platform_device *pdev) +static int dw_mci_resume (struct device *dev) {int i, ret; -struct dw_mci *host =platform_get_drvdata (pdev); +struct dw_mci *host =dev_get_drvdata (dev);if (host->vmmc)regulator_enable (host->vmmc);@@ -2103,7 +2103,7 @@ static int dw_mci_resume(struct platform_device *pdev)if (host->dma_ops->init) host->dma_ops->init (host); -if (!mci_wait_reset (&pdev->dev, host)) { +if (!mci_wait_reset (dev, host)) { ret = -ENODEV ;return ret; }
drivers/mmc/host/dw_mmc.c static int dw_mci_resume(struct platform_device *pdev) · line 2136
Quoted 4 lines
drivers/mmc/host/dw_mmc.c +1
-0@@ -2133,12 +2133,13 @@ static int dw_mci_resume(struct platform_device *pdev)#define dw_mci_resume NULL#endif /* CONFIG_PM */ +SIMPLE_DEV_PM_OPS (dw_mci_pmops, dw_mci_suspend, dw_mci_resume);
This could be static (e.g. see drivers/input/keyboard/gpio_keys.c).
I get:drivers/mmc/host/dw_mmc.c:2069: warning: ‘dw_mci_suspend’ defined but not useddrivers/mmc/host/dw_mmc.c:2095: warning: ‘dw_mci_resume’ defined but not used
when CONFIG_PM=y and CONFIG_PM_SLEEP=n (CONFIG_SUSPEND=n), because the #ifdef above needs to change to CONFIG_PM_SLEEP (see SET_SYSTEM_SLEEP_PM_OPS in include/linux/pm.h).
drivers/mmc/host/dw_mmc.c static int dw_mci_resume(struct platform_device *pdev) · line 2145
Quoted 11 lines
drivers/mmc/host/dw_mmc.c +2
-2+static struct platform_driver dw_mci_driver = { .remove =__exit_p (dw_mci_remove), - .suspend = dw_mci_suspend, - .resume = dw_mci_resume, .driver = { .name ="dw_mmc" , + .pm = &dw_mci_pmops, }, };
Cheers
James
Jaehoon Chung
maintainerThanks, James..
I will check your comment and resend the patch..
Best Regards,
Jaehoon Chung
Quoted 97 lines · James Hogan
Thanks,
Couple more things
Quoted 2 lines · Jaehoon Chung
Dw_mmccontroller didn't usedev_pm_ops.
This patch modified to use thedev_mp_opsfordw_mmccontrollerI think you mean
dev_pm_ops.Quoted 50 lines
Signed-off-by Jaehoon Chung <[email protected]>Signed-off-by Kyungmin Park <[email protected]>---
Changelog v2:
- Use the Macro fordev_pm_opsdrivers/mmc/host/dw_mmc.c | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-)drivers/mmc/host/dw_mmc.c +5
-5@@ -2066,10 +2066,10 @@ static int __exit dw_mci_remove(struct platform_device *pdev)/* * TODO: we should probably disable the clock to the card in the suspend path. */ -static int dw_mci_suspend (struct platform_device *pdev,pm_message_t mesg) +static int dw_mci_suspend (struct device *dev) {int i, ret; -struct dw_mci *host =platform_get_drvdata (pdev); +struct dw_mci *host =dev_get_drvdata (dev);for (i =0 ; i < host->num_slots; i++) {struct dw_mci_slot *slot = host->slot[i];@@ -2092,10 +2092,10 @@ static int dw_mci_suspend(struct platform_device *pdev, pm_message_t mesg)return 0 ; } -static int dw_mci_resume (struct platform_device *pdev) +static int dw_mci_resume (struct device *dev) {int i, ret; -struct dw_mci *host =platform_get_drvdata (pdev); +struct dw_mci *host =dev_get_drvdata (dev);if (host->vmmc)regulator_enable (host->vmmc);@@ -2103,7 +2103,7 @@ static int dw_mci_resume(struct platform_device *pdev)if (host->dma_ops->init) host->dma_ops->init (host); -if (!mci_wait_reset (&pdev->dev, host)) { +if (!mci_wait_reset (dev, host)) { ret = -ENODEV ;return ret; }drivers/mmc/host/dw_mmc.c static int dw_mci_resume(struct platform_device *pdev) · line 2136
Quoted 4 lines
drivers/mmc/host/dw_mmc.c +1
-0@@ -2133,12 +2133,13 @@ static int dw_mci_resume(struct platform_device *pdev)#define dw_mci_resume NULL#endif /* CONFIG_PM */ +SIMPLE_DEV_PM_OPS (dw_mci_pmops, dw_mci_suspend, dw_mci_resume);This could be static (e.g. see
drivers/input/keyboard/gpio_keys.c).I get:
drivers/mmc/host/dw_mmc.c:2069: warning: ‘dw_mci_suspend’ defined but not useddrivers/mmc/host/dw_mmc.c:2095: warning: ‘dw_mci_resume’ defined but not usedwhen
CONFIG_PM=yandCONFIG_PM_SLEEP=n(CONFIG_SUSPEND=n), because the #ifdef above needs to change toCONFIG_PM_SLEEP(seeSET_SYSTEM_SLEEP_PM_OPSininclude/linux/pm.h).drivers/mmc/host/dw_mmc.c static int dw_mci_resume(struct platform_device *pdev) · line 2145
Quoted 11 lines
drivers/mmc/host/dw_mmc.c +2
-2+static struct platform_driver dw_mci_driver = { .remove =__exit_p (dw_mci_remove), - .suspend = dw_mci_suspend, - .resume = dw_mci_resume, .driver = { .name ="dw_mmc" , + .pm = &dw_mci_pmops, }, };Cheers
James--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html