Re: [PATCH 36/49] iio:magn:ak8975: Switch from CONFIG_PM guards to pm_ptr() / __maybe_unused

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 23, 2021 at 1:07 PM Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
>
> From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
>
> Letting the compiler remove these functions when the kernel is built
> without CONFIG_PM support is simpler and less error prone than the
> use of #ifdef based config guards.
>
> Removing instances of this approach from IIO also stops them being
> copied into new drivers.
>
> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> Cc: Matt Ranostay <matt.ranostay@xxxxxxxxxxxx>

Acked-by: Matt Ranostay <matt.ranostay@xxxxxxxxxxxx>


> Cc: Jonathan Albrieux <jonathan.albrieux@xxxxxxxxx>
> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx>
> ---
>  drivers/iio/magnetometer/ak8975.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
> index 6e82dc54a417..ced3e674eb5f 100644
> --- a/drivers/iio/magnetometer/ak8975.c
> +++ b/drivers/iio/magnetometer/ak8975.c
> @@ -1033,8 +1033,7 @@ static int ak8975_remove(struct i2c_client *client)
>         return 0;
>  }
>
> -#ifdef CONFIG_PM
> -static int ak8975_runtime_suspend(struct device *dev)
> +static __maybe_unused int ak8975_runtime_suspend(struct device *dev)
>  {
>         struct i2c_client *client = to_i2c_client(dev);
>         struct iio_dev *indio_dev = i2c_get_clientdata(client);
> @@ -1053,7 +1052,7 @@ static int ak8975_runtime_suspend(struct device *dev)
>         return 0;
>  }
>
> -static int ak8975_runtime_resume(struct device *dev)
> +static __maybe_unused int ak8975_runtime_resume(struct device *dev)
>  {
>         struct i2c_client *client = to_i2c_client(dev);
>         struct iio_dev *indio_dev = i2c_get_clientdata(client);
> @@ -1074,9 +1073,8 @@ static int ak8975_runtime_resume(struct device *dev)
>
>         return 0;
>  }
> -#endif /* CONFIG_PM */
>
> -static const struct dev_pm_ops ak8975_dev_pm_ops = {
> +static __maybe_unused const struct dev_pm_ops ak8975_dev_pm_ops = {
>         SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
>                                 pm_runtime_force_resume)
>         SET_RUNTIME_PM_OPS(ak8975_runtime_suspend,
> @@ -1113,7 +1111,7 @@ MODULE_DEVICE_TABLE(of, ak8975_of_match);
>  static struct i2c_driver ak8975_driver = {
>         .driver = {
>                 .name   = "ak8975",
> -               .pm = &ak8975_dev_pm_ops,
> +               .pm = pm_ptr(&ak8975_dev_pm_ops),
>                 .of_match_table = ak8975_of_match,
>                 .acpi_match_table = ak_acpi_match,
>         },
> --
> 2.34.0
>



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux