Re: [PATCH 02/11] pwm: atmel-tcb: Use DEFINE_SIMPLE_DEV_PM_OPS for PM functions

Jonathan Cameron
2023-10-11T11:22:46Z

On Tue, 10 Oct 2023 09:51:03 +0200
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote:

> This macro has the advantage over SIMPLE_DEV_PM_OPS that we don't have to
> care about when the functions are actually used, so the corresponding
> #ifdef can be dropped.
>
> Also make use of pm_ptr() to discard all PM related stuff if CONFIG_PM
> isn't enabled.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

I did a lot of these so I still have how it works fresh in my mind
making review hopefully easy :)

> ---
> drivers/pwm/pwm-atmel-tcb.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/pwm/pwm-atmel-tcb.c b/drivers/pwm/pwm-atmel-tcb.c
> index c00dd37c5fbd..a2be4cb4c073 100644
> --- a/drivers/pwm/pwm-atmel-tcb.c
> +++ b/drivers/pwm/pwm-atmel-tcb.c
> @@ -490,7 +490,6 @@ static const struct of_device_id atmel_tcb_pwm_dt_ids[] = {
> };
> MODULE_DEVICE_TABLE(of, atmel_tcb_pwm_dt_ids);
>
> -#ifdef CONFIG_PM_SLEEP
> static int atmel_tcb_pwm_suspend(struct device *dev)
> {
> struct atmel_tcb_pwm_chip *tcbpwm = dev_get_drvdata(dev);
> @@ -523,16 +522,15 @@ static int atmel_tcb_pwm_resume(struct device *dev)
>
> return 0;
> }
> -#endif
>
> -static SIMPLE_DEV_PM_OPS(atmel_tcb_pwm_pm_ops, atmel_tcb_pwm_suspend,
> - atmel_tcb_pwm_resume);
> +static DEFINE_SIMPLE_DEV_PM_OPS(atmel_tcb_pwm_pm_ops, atmel_tcb_pwm_suspend,
> + atmel_tcb_pwm_resume);
>
> static struct platform_driver atmel_tcb_pwm_driver = {
> .driver = {
> .name = "atmel-tcb-pwm",
> .of_match_table = atmel_tcb_pwm_dt_ids,
> - .pm = &atmel_tcb_pwm_pm_ops,
> + .pm = pm_ptr(&atmel_tcb_pwm_pm_ops),
> },
> .probe = atmel_tcb_pwm_probe,
> .remove_new = atmel_tcb_pwm_remove,