On 09/27/2010 02:57 PM, Peppe CAVALLARO wrote: > On 09/27/2010 12:37 PM, Wolfram Sang wrote: > > On Thu, Sep 23, 2010 at 11:14:24AM +0200, Giuseppe CAVALLARO wrote: > >> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> > > > > I'd prefer it the way sdhci-mv.c is doing it (just one #if-block and > > returning the code from the sdhci_*-functions). Then it should be fine. > > Okay! I can rework it without any problems. Hi Wolfram attached the new patch: Let me know if it's ok. Best Regards, Peppe > > Peppe > > > > >> --- > >> drivers/mmc/host/sdhci-pltfm.c | 22 ++++++++++++++++++++++ > >> 1 files changed, 22 insertions(+), 0 deletions(-) > >> > >> diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c > >> index e045e3c..89ea64b 100644 > >> --- a/drivers/mmc/host/sdhci-pltfm.c > >> +++ b/drivers/mmc/host/sdhci-pltfm.c > >> @@ -165,6 +165,24 @@ static const struct platform_device_id > sdhci_pltfm_ids[] = { > >> }; > >> MODULE_DEVICE_TABLE(platform, sdhci_pltfm_ids); > >> > >> +#ifdef CONFIG_PM > >> +static int sdhci_pltfm_suspend(struct platform_device *dev, pm_message_t pm) > >> +{ > >> + struct sdhci_host *host = platform_get_drvdata(dev); > >> + > >> + sdhci_suspend_host(host, pm); > >> + return 0; > >> +} > >> + > >> +static int sdhci_pltfm_resume(struct platform_device *dev) > >> +{ > >> + struct sdhci_host *host = platform_get_drvdata(dev); > >> + > >> + sdhci_resume_host(host); > >> + return 0; > >> +} > >> +#endif > >> + > >> static struct platform_driver sdhci_pltfm_driver = { > >> .driver = { > >> .name = "sdhci", > >> @@ -173,6 +191,10 @@ static struct platform_driver sdhci_pltfm_driver = { > >> .probe = sdhci_pltfm_probe, > >> .remove = __devexit_p(sdhci_pltfm_remove), > >> .id_table = sdhci_pltfm_ids, > >> +#ifdef CONFIG_PM > >> + .suspend = sdhci_pltfm_suspend, > >> + .resume = sdhci_pltfm_resume, > >> +#endif > >> }; > >> > >> /*****************************************************************************\ > >> -- > >> 1.5.5.6 > >> > >> -- > >> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in > >> the body of a message to majordomo@xxxxxxxxxxxxxxx > >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-mmc" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html >
From 847f635d0824c88f6575d86f5e9f50283883cd60 Mon Sep 17 00:00:00 2001 From: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Date: Thu, 23 Sep 2010 10:13:00 +0200 Subject: [PATCH (mmc-next)] mmc: add suspend/resume in the sdhci-pltfm driver (V2) Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> --- drivers/mmc/host/sdhci-pltfm.c | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c index e045e3c..c43f954 100644 --- a/drivers/mmc/host/sdhci-pltfm.c +++ b/drivers/mmc/host/sdhci-pltfm.c @@ -165,6 +165,27 @@ static const struct platform_device_id sdhci_pltfm_ids[] = { }; MODULE_DEVICE_TABLE(platform, sdhci_pltfm_ids); +#ifdef CONFIG_PM +static int sdhci_pltfm_suspend(struct platform_device *dev, pm_message_t pm) +{ + struct sdhci_host *host = platform_get_drvdata(dev); + + sdhci_suspend_host(host, pm); + return 0; +} + +static int sdhci_pltfm_resume(struct platform_device *dev) +{ + struct sdhci_host *host = platform_get_drvdata(dev); + + sdhci_resume_host(host); + return 0; +} +#else +#define sdhci_pltfm_suspend NULL +#define sdhci_pltfm_resume NULL +#endif + static struct platform_driver sdhci_pltfm_driver = { .driver = { .name = "sdhci", @@ -173,6 +194,8 @@ static struct platform_driver sdhci_pltfm_driver = { .probe = sdhci_pltfm_probe, .remove = __devexit_p(sdhci_pltfm_remove), .id_table = sdhci_pltfm_ids, + .suspend = sdhci_pltfm_suspend, + .resume = sdhci_pltfm_resume, }; /*****************************************************************************\ -- 1.5.5.6