Message ID | 20211123211019.2271440-3-jic23@kernel.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | iio: Tree wide switch from CONFIG_PM* to __maybe_unused etc. | expand |
Hi, Le mar., nov. 23 2021 at 21:09:32 +0000, Jonathan Cameron <jic23@kernel.org> a écrit : > From: Jonathan Cameron <Jonathan.Cameron@huawei.com> > > Letting the compiler remove these functions when the kernel is built > without CONFIG_PM_SLEEP 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. > > The pm_ptr() macro only removes the reference if CONFIG_PM is not > set. It is possible for CONFIG_PM=y without CONFIG_SLEEP, so this > will not always remove the pm_ops structure. > > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> No pm_ptr() for this one? -Paul > --- > drivers/iio/accel/da280.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/iio/accel/da280.c b/drivers/iio/accel/da280.c > index 9633bdae5fd4..91ac478891ce 100644 > --- a/drivers/iio/accel/da280.c > +++ b/drivers/iio/accel/da280.c > @@ -153,17 +153,15 @@ static int da280_probe(struct i2c_client > *client, > return devm_iio_device_register(&client->dev, indio_dev); > } > > -#ifdef CONFIG_PM_SLEEP > -static int da280_suspend(struct device *dev) > +static __maybe_unused int da280_suspend(struct device *dev) > { > return da280_enable(to_i2c_client(dev), false); > } > > -static int da280_resume(struct device *dev) > +static __maybe_unused int da280_resume(struct device *dev) > { > return da280_enable(to_i2c_client(dev), true); > } > -#endif > > static SIMPLE_DEV_PM_OPS(da280_pm_ops, da280_suspend, da280_resume); > > -- > 2.34.0 >
On Tue, 23 Nov 2021 22:17:52 +0000 Paul Cercueil <paul@crapouillou.net> wrote: > Hi, > > Le mar., nov. 23 2021 at 21:09:32 +0000, Jonathan Cameron > <jic23@kernel.org> a écrit : > > From: Jonathan Cameron <Jonathan.Cameron@huawei.com> > > > > Letting the compiler remove these functions when the kernel is built > > without CONFIG_PM_SLEEP 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. > > > > The pm_ptr() macro only removes the reference if CONFIG_PM is not > > set. It is possible for CONFIG_PM=y without CONFIG_SLEEP, so this > > will not always remove the pm_ops structure. > > > > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > > No pm_ptr() for this one? > Gah. I changed my mind about this half way through doing this and decided to use it throughout rather than just in places that had defined the pm_ops out by hand. Missed this one in the update! Anyhow, easy fix :) Thanks, Jonathan > -Paul > > > --- > > drivers/iio/accel/da280.c | 6 ++---- > > 1 file changed, 2 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/iio/accel/da280.c b/drivers/iio/accel/da280.c > > index 9633bdae5fd4..91ac478891ce 100644 > > --- a/drivers/iio/accel/da280.c > > +++ b/drivers/iio/accel/da280.c > > @@ -153,17 +153,15 @@ static int da280_probe(struct i2c_client > > *client, > > return devm_iio_device_register(&client->dev, indio_dev); > > } > > > > -#ifdef CONFIG_PM_SLEEP > > -static int da280_suspend(struct device *dev) > > +static __maybe_unused int da280_suspend(struct device *dev) > > { > > return da280_enable(to_i2c_client(dev), false); > > } > > > > -static int da280_resume(struct device *dev) > > +static __maybe_unused int da280_resume(struct device *dev) > > { > > return da280_enable(to_i2c_client(dev), true); > > } > > -#endif > > > > static SIMPLE_DEV_PM_OPS(da280_pm_ops, da280_suspend, da280_resume); > > > > -- > > 2.34.0 > > > >
diff --git a/drivers/iio/accel/da280.c b/drivers/iio/accel/da280.c index 9633bdae5fd4..91ac478891ce 100644 --- a/drivers/iio/accel/da280.c +++ b/drivers/iio/accel/da280.c @@ -153,17 +153,15 @@ static int da280_probe(struct i2c_client *client, return devm_iio_device_register(&client->dev, indio_dev); } -#ifdef CONFIG_PM_SLEEP -static int da280_suspend(struct device *dev) +static __maybe_unused int da280_suspend(struct device *dev) { return da280_enable(to_i2c_client(dev), false); } -static int da280_resume(struct device *dev) +static __maybe_unused int da280_resume(struct device *dev) { return da280_enable(to_i2c_client(dev), true); } -#endif static SIMPLE_DEV_PM_OPS(da280_pm_ops, da280_suspend, da280_resume);