On 02/11/11 16:29, Manuel Lauss wrote:
> Drop the "state" argument from sdhci_suspend_host.  Its only user
> is the PCI glue;  this allows to move all SDHCI glues to use
> dev_pm_ops instead.
> 
> Signed-off-by: Manuel Lauss <manuel.la...@googlemail.com>
> ---

There is a checkpatch warning:

WARNING: struct dev_pm_ops should normally be const
#279: FILE: drivers/mmc/host/sdhci-pltfm.h:102:
+extern struct dev_pm_ops sdhci_pltfm_pmops;

total: 0 errors, 1 warnings, 0 checks, 310 lines checked


> V3: remove unused local var in sdhci-pci.c
> V2: sdhci-s3c does not use sdhci-pltfm.c and gets its own dev_pm_ops.
> 
> Tested on PCI/x86 only.
> 
>  drivers/mmc/host/sdhci-cns3xxx.c   |    5 +----
>  drivers/mmc/host/sdhci-dove.c      |    5 +----
>  drivers/mmc/host/sdhci-esdhc-imx.c |    5 +----
>  drivers/mmc/host/sdhci-of-esdhc.c  |    5 +----
>  drivers/mmc/host/sdhci-of-hlwd.c   |    5 +----
>  drivers/mmc/host/sdhci-pci.c       |   26 +++++++++++++-------------
>  drivers/mmc/host/sdhci-pltfm.c     |   18 +++++++++++-------
>  drivers/mmc/host/sdhci-pltfm.h     |    6 ++++--
>  drivers/mmc/host/sdhci-pxav2.c     |    5 +----
>  drivers/mmc/host/sdhci-pxav3.c     |    5 +----
>  drivers/mmc/host/sdhci-s3c.c       |   21 ++++++++++++++-------
>  drivers/mmc/host/sdhci-tegra.c     |    5 +----
>  drivers/mmc/host/sdhci.c           |    2 +-
>  drivers/mmc/host/sdhci.h           |    2 +-
>  14 files changed, 52 insertions(+), 63 deletions(-)
> 
> diff --git a/drivers/mmc/host/sdhci-cns3xxx.c 
> b/drivers/mmc/host/sdhci-cns3xxx.c
> index 4b920b7..fbd0638 100644
> --- a/drivers/mmc/host/sdhci-cns3xxx.c
> +++ b/drivers/mmc/host/sdhci-cns3xxx.c
> @@ -108,13 +108,10 @@ static struct platform_driver sdhci_cns3xxx_driver = {
>       .driver         = {
>               .name   = "sdhci-cns3xxx",
>               .owner  = THIS_MODULE,
> +             .pm     = SDHCI_PLTFM_PMOPS,
>       },
>       .probe          = sdhci_cns3xxx_probe,
>       .remove         = __devexit_p(sdhci_cns3xxx_remove),
> -#ifdef CONFIG_PM
> -     .suspend        = sdhci_pltfm_suspend,
> -     .resume         = sdhci_pltfm_resume,
> -#endif
>  };
>  
>  static int __init sdhci_cns3xxx_init(void)
> diff --git a/drivers/mmc/host/sdhci-dove.c b/drivers/mmc/host/sdhci-dove.c
> index f2d29dc..a81312c 100644
> --- a/drivers/mmc/host/sdhci-dove.c
> +++ b/drivers/mmc/host/sdhci-dove.c
> @@ -82,13 +82,10 @@ static struct platform_driver sdhci_dove_driver = {
>       .driver         = {
>               .name   = "sdhci-dove",
>               .owner  = THIS_MODULE,
> +             .pm     = SDHCI_PLTFM_PMOPS,
>       },
>       .probe          = sdhci_dove_probe,
>       .remove         = __devexit_p(sdhci_dove_remove),
> -#ifdef CONFIG_PM
> -     .suspend        = sdhci_pltfm_suspend,
> -     .resume         = sdhci_pltfm_resume,
> -#endif
>  };
>  
>  static int __init sdhci_dove_init(void)
> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c 
> b/drivers/mmc/host/sdhci-esdhc-imx.c
> index ae57769..8fc8006 100644
> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
> @@ -591,14 +591,11 @@ static struct platform_driver sdhci_esdhc_imx_driver = {
>               .name   = "sdhci-esdhc-imx",
>               .owner  = THIS_MODULE,
>               .of_match_table = imx_esdhc_dt_ids,
> +             .pm     = SDHCI_PLTFM_PMOPS,
>       },
>       .id_table       = imx_esdhc_devtype,
>       .probe          = sdhci_esdhc_imx_probe,
>       .remove         = __devexit_p(sdhci_esdhc_imx_remove),
> -#ifdef CONFIG_PM
> -     .suspend        = sdhci_pltfm_suspend,
> -     .resume         = sdhci_pltfm_resume,
> -#endif
>  };
>  
>  static int __init sdhci_esdhc_imx_init(void)
> diff --git a/drivers/mmc/host/sdhci-of-esdhc.c 
> b/drivers/mmc/host/sdhci-of-esdhc.c
> index 59e9d00..01e5f62 100644
> --- a/drivers/mmc/host/sdhci-of-esdhc.c
> +++ b/drivers/mmc/host/sdhci-of-esdhc.c
> @@ -125,13 +125,10 @@ static struct platform_driver sdhci_esdhc_driver = {
>               .name = "sdhci-esdhc",
>               .owner = THIS_MODULE,
>               .of_match_table = sdhci_esdhc_of_match,
> +             .pm = SDHCI_PLTFM_PMOPS,
>       },
>       .probe = sdhci_esdhc_probe,
>       .remove = __devexit_p(sdhci_esdhc_remove),
> -#ifdef CONFIG_PM
> -     .suspend = sdhci_pltfm_suspend,
> -     .resume = sdhci_pltfm_resume,
> -#endif
>  };
>  
>  static int __init sdhci_esdhc_init(void)
> diff --git a/drivers/mmc/host/sdhci-of-hlwd.c 
> b/drivers/mmc/host/sdhci-of-hlwd.c
> index 9b0d794..3619adc 100644
> --- a/drivers/mmc/host/sdhci-of-hlwd.c
> +++ b/drivers/mmc/host/sdhci-of-hlwd.c
> @@ -87,13 +87,10 @@ static struct platform_driver sdhci_hlwd_driver = {
>               .name = "sdhci-hlwd",
>               .owner = THIS_MODULE,
>               .of_match_table = sdhci_hlwd_of_match,
> +             .pm = SDHCI_PLTFM_PMOPS,
>       },
>       .probe = sdhci_hlwd_probe,
>       .remove = __devexit_p(sdhci_hlwd_remove),
> -#ifdef CONFIG_PM
> -     .suspend = sdhci_pltfm_suspend,
> -     .resume = sdhci_pltfm_resume,
> -#endif
>  };
>  
>  static int __init sdhci_hlwd_init(void)
> diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c
> index d833d9c..6878a94 100644
> --- a/drivers/mmc/host/sdhci-pci.c
> +++ b/drivers/mmc/host/sdhci-pci.c
> @@ -54,8 +54,7 @@ struct sdhci_pci_fixes {
>       int                     (*probe_slot) (struct sdhci_pci_slot *);
>       void                    (*remove_slot) (struct sdhci_pci_slot *, int);
>  
> -     int                     (*suspend) (struct sdhci_pci_chip *,
> -                                     pm_message_t);
> +     int                     (*suspend) (struct sdhci_pci_chip *);
>       int                     (*resume) (struct sdhci_pci_chip *);
>  };
>  
> @@ -549,7 +548,7 @@ static void jmicron_remove_slot(struct sdhci_pci_slot 
> *slot, int dead)
>               jmicron_enable_mmc(slot->host, 0);
>  }
>  
> -static int jmicron_suspend(struct sdhci_pci_chip *chip, pm_message_t state)
> +static int jmicron_suspend(struct sdhci_pci_chip *chip)
>  {
>       int i;
>  
> @@ -993,8 +992,9 @@ static struct sdhci_ops sdhci_pci_ops = {
>  
>  #ifdef CONFIG_PM
>  
> -static int sdhci_pci_suspend(struct pci_dev *pdev, pm_message_t state)
> +static int sdhci_pci_suspend(struct device *dev)
>  {
> +     struct pci_dev *pdev = to_pci_dev(dev);
>       struct sdhci_pci_chip *chip;
>       struct sdhci_pci_slot *slot;
>       mmc_pm_flag_t slot_pm_flags;
> @@ -1010,7 +1010,7 @@ static int sdhci_pci_suspend(struct pci_dev *pdev, 
> pm_message_t state)
>               if (!slot)
>                       continue;
>  
> -             ret = sdhci_suspend_host(slot->host, state);
> +             ret = sdhci_suspend_host(slot->host);
>  
>               if (ret) {
>                       for (i--; i >= 0; i--)
> @@ -1026,7 +1026,7 @@ static int sdhci_pci_suspend(struct pci_dev *pdev, 
> pm_message_t state)
>       }
>  
>       if (chip->fixes && chip->fixes->suspend) {
> -             ret = chip->fixes->suspend(chip, state);
> +             ret = chip->fixes->suspend(chip);
>               if (ret) {
>                       for (i = chip->num_slots - 1; i >= 0; i--)
>                               sdhci_resume_host(chip->slots[i]->host);
> @@ -1042,16 +1042,17 @@ static int sdhci_pci_suspend(struct pci_dev *pdev, 
> pm_message_t state)
>               }
>               pci_set_power_state(pdev, PCI_D3hot);
>       } else {
> -             pci_enable_wake(pdev, pci_choose_state(pdev, state), 0);
> +             pci_enable_wake(pdev, PCI_D3hot, 0);
>               pci_disable_device(pdev);
> -             pci_set_power_state(pdev, pci_choose_state(pdev, state));
> +             pci_set_power_state(pdev, PCI_D3hot);
>       }
>  
>       return 0;
>  }
>  
> -static int sdhci_pci_resume(struct pci_dev *pdev)
> +static int sdhci_pci_resume(struct device *dev)
>  {
> +     struct pci_dev *pdev = to_pci_dev(dev);
>       struct sdhci_pci_chip *chip;
>       struct sdhci_pci_slot *slot;
>       int i, ret;
> @@ -1099,7 +1100,6 @@ static int sdhci_pci_runtime_suspend(struct device *dev)
>       struct pci_dev *pdev = container_of(dev, struct pci_dev, dev);
>       struct sdhci_pci_chip *chip;
>       struct sdhci_pci_slot *slot;
> -     pm_message_t state = { .event = PM_EVENT_SUSPEND };
>       int i, ret;
>  
>       chip = pci_get_drvdata(pdev);
> @@ -1121,7 +1121,7 @@ static int sdhci_pci_runtime_suspend(struct device *dev)
>       }
>  
>       if (chip->fixes && chip->fixes->suspend) {
> -             ret = chip->fixes->suspend(chip, state);
> +             ret = chip->fixes->suspend(chip);
>               if (ret) {
>                       for (i = chip->num_slots - 1; i >= 0; i--)
>                               sdhci_runtime_resume_host(chip->slots[i]->host);
> @@ -1176,6 +1176,8 @@ static int sdhci_pci_runtime_idle(struct device *dev)
>  #endif
>  
>  static const struct dev_pm_ops sdhci_pci_pm_ops = {
> +     .suspend = sdhci_pci_suspend,
> +     .resume = sdhci_pci_resume,
>       .runtime_suspend = sdhci_pci_runtime_suspend,
>       .runtime_resume = sdhci_pci_runtime_resume,
>       .runtime_idle = sdhci_pci_runtime_idle,
> @@ -1428,8 +1430,6 @@ static struct pci_driver sdhci_driver = {
>       .id_table =     pci_ids,
>       .probe =        sdhci_pci_probe,
>       .remove =       __devexit_p(sdhci_pci_remove),
> -     .suspend =      sdhci_pci_suspend,
> -     .resume =       sdhci_pci_resume,
>       .driver =       {
>               .pm =   &sdhci_pci_pm_ops
>       },
> diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c
> index a9e12ea..03970bc 100644
> --- a/drivers/mmc/host/sdhci-pltfm.c
> +++ b/drivers/mmc/host/sdhci-pltfm.c
> @@ -194,21 +194,25 @@ int sdhci_pltfm_unregister(struct platform_device *pdev)
>  EXPORT_SYMBOL_GPL(sdhci_pltfm_unregister);
>  
>  #ifdef CONFIG_PM
> -int sdhci_pltfm_suspend(struct platform_device *dev, pm_message_t state)
> +static int sdhci_pltfm_suspend(struct device *dev)
>  {
> -     struct sdhci_host *host = platform_get_drvdata(dev);
> +     struct sdhci_host *host = dev_get_drvdata(dev);
>  
> -     return sdhci_suspend_host(host, state);
> +     return sdhci_suspend_host(host);
>  }
> -EXPORT_SYMBOL_GPL(sdhci_pltfm_suspend);
>  
> -int sdhci_pltfm_resume(struct platform_device *dev)
> +static int sdhci_pltfm_resume(struct device *dev)
>  {
> -     struct sdhci_host *host = platform_get_drvdata(dev);
> +     struct sdhci_host *host = dev_get_drvdata(dev);
>  
>       return sdhci_resume_host(host);
>  }
> -EXPORT_SYMBOL_GPL(sdhci_pltfm_resume);
> +
> +const struct dev_pm_ops sdhci_pltfm_pmops = {
> +     .suspend        = sdhci_pltfm_suspend,
> +     .resume         = sdhci_pltfm_resume,
> +};
> +EXPORT_SYMBOL_GPL(sdhci_pltfm_pmops);
>  #endif       /* CONFIG_PM */
>  
>  static int __init sdhci_pltfm_drv_init(void)
> diff --git a/drivers/mmc/host/sdhci-pltfm.h b/drivers/mmc/host/sdhci-pltfm.h
> index 3a9fc3f..700bdf7 100644
> --- a/drivers/mmc/host/sdhci-pltfm.h
> +++ b/drivers/mmc/host/sdhci-pltfm.h
> @@ -99,8 +99,10 @@ extern int sdhci_pltfm_register(struct platform_device 
> *pdev,
>  extern int sdhci_pltfm_unregister(struct platform_device *pdev);
>  
>  #ifdef CONFIG_PM
> -extern int sdhci_pltfm_suspend(struct platform_device *dev, pm_message_t 
> state);
> -extern int sdhci_pltfm_resume(struct platform_device *dev);
> +extern struct dev_pm_ops sdhci_pltfm_pmops;
> +#define SDHCI_PLTFM_PMOPS (&sdhci_pltfm_pmops)
> +#else
> +#define SDHCI_PLTFM_PMOPS NULL
>  #endif
>  
>  #endif /* _DRIVERS_MMC_SDHCI_PLTFM_H */
> diff --git a/drivers/mmc/host/sdhci-pxav2.c b/drivers/mmc/host/sdhci-pxav2.c
> index d4bf6d3..7a039c3 100644
> --- a/drivers/mmc/host/sdhci-pxav2.c
> +++ b/drivers/mmc/host/sdhci-pxav2.c
> @@ -218,13 +218,10 @@ static struct platform_driver sdhci_pxav2_driver = {
>       .driver         = {
>               .name   = "sdhci-pxav2",
>               .owner  = THIS_MODULE,
> +             .pm     = SDHCI_PLTFM_PMOPS,
>       },
>       .probe          = sdhci_pxav2_probe,
>       .remove         = __devexit_p(sdhci_pxav2_remove),
> -#ifdef CONFIG_PM
> -     .suspend        = sdhci_pltfm_suspend,
> -     .resume         = sdhci_pltfm_resume,
> -#endif
>  };
>  static int __init sdhci_pxav2_init(void)
>  {
> diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
> index cff4ad3..15673a7 100644
> --- a/drivers/mmc/host/sdhci-pxav3.c
> +++ b/drivers/mmc/host/sdhci-pxav3.c
> @@ -264,13 +264,10 @@ static struct platform_driver sdhci_pxav3_driver = {
>       .driver         = {
>               .name   = "sdhci-pxav3",
>               .owner  = THIS_MODULE,
> +             .pm     = SDHCI_PLTFM_PMOPS,
>       },
>       .probe          = sdhci_pxav3_probe,
>       .remove         = __devexit_p(sdhci_pxav3_remove),
> -#ifdef CONFIG_PM
> -     .suspend        = sdhci_pltfm_suspend,
> -     .resume         = sdhci_pltfm_resume,
> -#endif
>  };
>  static int __init sdhci_pxav3_init(void)
>  {
> diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
> index 3d00e72..c992e4f 100644
> --- a/drivers/mmc/host/sdhci-s3c.c
> +++ b/drivers/mmc/host/sdhci-s3c.c
> @@ -622,23 +622,29 @@ static int __devexit sdhci_s3c_remove(struct 
> platform_device *pdev)
>  
>  #ifdef CONFIG_PM
>  
> -static int sdhci_s3c_suspend(struct platform_device *dev, pm_message_t pm)
> +static int sdhci_s3c_suspend(struct device *dev)
>  {
> -     struct sdhci_host *host = platform_get_drvdata(dev);
> +     struct sdhci_host *host = dev_get_drvdata(dev);
>  
> -     return sdhci_suspend_host(host, pm);
> +     return sdhci_suspend_host(host);
>  }
>  
> -static int sdhci_s3c_resume(struct platform_device *dev)
> +static int sdhci_s3c_resume(struct device *dev)
>  {
> -     struct sdhci_host *host = platform_get_drvdata(dev);
> +     struct sdhci_host *host = dev_get_drvdata(dev);
>  
>       return sdhci_resume_host(host);
>  }
>  
> +static const struct dev_pm_ops sdhci_s3c_pmops = {
> +     .suspend        = sdhci_s3c_suspend,
> +     .resume         = sdhci_s3c_resume,
> +};
> +
> +#define SDHCI_S3C_PMOPS (&sdhci_s3c_pmops)
> +
>  #else
> -#define sdhci_s3c_suspend NULL
> -#define sdhci_s3c_resume NULL
> +#define SDHCI_S3C_PMOPS NULL
>  #endif
>  
>  static struct platform_driver sdhci_s3c_driver = {
> @@ -649,6 +655,7 @@ static struct platform_driver sdhci_s3c_driver = {
>       .driver         = {
>               .owner  = THIS_MODULE,
>               .name   = "s3c-sdhci",
> +             .pm     = SDHCI_S3C_PMOPS,
>       },
>  };
>  
> diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
> index 067a4cd..ea77df7 100644
> --- a/drivers/mmc/host/sdhci-tegra.c
> +++ b/drivers/mmc/host/sdhci-tegra.c
> @@ -317,13 +317,10 @@ static struct platform_driver sdhci_tegra_driver = {
>               .name   = "sdhci-tegra",
>               .owner  = THIS_MODULE,
>               .of_match_table = sdhci_tegra_dt_match,
> +             .pm     = SDHCI_PLTFM_PMOPS,
>       },
>       .probe          = sdhci_tegra_probe,
>       .remove         = __devexit_p(sdhci_tegra_remove),
> -#ifdef CONFIG_PM
> -     .suspend        = sdhci_pltfm_suspend,
> -     .resume         = sdhci_pltfm_resume,
> -#endif
>  };
>  
>  static int __init sdhci_tegra_init(void)
> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> index 6d8eea3..19ed580 100644
> --- a/drivers/mmc/host/sdhci.c
> +++ b/drivers/mmc/host/sdhci.c
> @@ -2327,7 +2327,7 @@ out:
>  
>  #ifdef CONFIG_PM
>  
> -int sdhci_suspend_host(struct sdhci_host *host, pm_message_t state)
> +int sdhci_suspend_host(struct sdhci_host *host)
>  {
>       int ret;
>  
> diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
> index 0a5b654..a04d4d0 100644
> --- a/drivers/mmc/host/sdhci.h
> +++ b/drivers/mmc/host/sdhci.h
> @@ -374,7 +374,7 @@ extern int sdhci_add_host(struct sdhci_host *host);
>  extern void sdhci_remove_host(struct sdhci_host *host, int dead);
>  
>  #ifdef CONFIG_PM
> -extern int sdhci_suspend_host(struct sdhci_host *host, pm_message_t state);
> +extern int sdhci_suspend_host(struct sdhci_host *host);
>  extern int sdhci_resume_host(struct sdhci_host *host);
>  extern void sdhci_enable_irq_wakeups(struct sdhci_host *host);
>  #endif

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to