Re: [PATCH 14/23] i2c: nomadik: Remove #ifdef guards for PM related functions

From: Jonathan Cameron
Date: Wed Jul 05 2023 - 22:42:04 EST


On Wed, 5 Jul 2023 22:43:05 +0200
Paul Cercueil <paul@xxxxxxxxxxxxxxx> wrote:

> Use the new PM macros for the suspend and resume functions to be
> automatically dropped by the compiler when CONFIG_PM or
> CONFIG_PM_SLEEP are disabled, without having to use #ifdef guards.
>
> This has the advantage of always compiling these functions in,
> independently of any Kconfig option. Thanks to that, bugs and other
> regressions are subsequently easier to catch.
>
> Signed-off-by: Paul Cercueil <paul@xxxxxxxxxxxxxxx>
>
Might be worth rewrapping the runtime pm line. Otherwise LGTM

Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>

> ---
> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> ---
> drivers/i2c/busses/i2c-nomadik.c | 14 +++++---------
> 1 file changed, 5 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-nomadik.c b/drivers/i2c/busses/i2c-nomadik.c
> index 1e5fd23ef45c..4a4b5bc257ae 100644
> --- a/drivers/i2c/busses/i2c-nomadik.c
> +++ b/drivers/i2c/busses/i2c-nomadik.c
> @@ -873,7 +873,6 @@ static irqreturn_t i2c_irq_handler(int irq, void *arg)
> return IRQ_HANDLED;
> }
>
> -#ifdef CONFIG_PM_SLEEP
> static int nmk_i2c_suspend_late(struct device *dev)
> {
> int ret;
> @@ -890,9 +889,7 @@ static int nmk_i2c_resume_early(struct device *dev)
> {
> return pm_runtime_force_resume(dev);
> }
> -#endif
>
> -#ifdef CONFIG_PM
> static int nmk_i2c_runtime_suspend(struct device *dev)
> {
> struct amba_device *adev = to_amba_device(dev);
> @@ -925,13 +922,12 @@ static int nmk_i2c_runtime_resume(struct device *dev)
>
> return ret;
> }
> -#endif
>
> static const struct dev_pm_ops nmk_i2c_pm = {
> - SET_LATE_SYSTEM_SLEEP_PM_OPS(nmk_i2c_suspend_late, nmk_i2c_resume_early)
> - SET_RUNTIME_PM_OPS(nmk_i2c_runtime_suspend,
> - nmk_i2c_runtime_resume,
> - NULL)
> + LATE_SYSTEM_SLEEP_PM_OPS(nmk_i2c_suspend_late, nmk_i2c_resume_early)
> + RUNTIME_PM_OPS(nmk_i2c_runtime_suspend,
> + nmk_i2c_runtime_resume,
> + NULL)

rewrap?

> };
>
> static unsigned int nmk_i2c_functionality(struct i2c_adapter *adap)
> @@ -1080,7 +1076,7 @@ static struct amba_driver nmk_i2c_driver = {
> .drv = {
> .owner = THIS_MODULE,
> .name = DRIVER_NAME,
> - .pm = &nmk_i2c_pm,
> + .pm = pm_ptr(&nmk_i2c_pm),
> },
> .id_table = nmk_i2c_ids,
> .probe = nmk_i2c_probe,