On Tue, 23 Nov 2021 22:17:52 +0000 Paul Cercueil <paul@xxxxxxxxxxxxxxx> wrote: > Hi, > > Le mar., nov. 23 2021 at 21:09:32 +0000, Jonathan Cameron > <jic23@xxxxxxxxxx> a écrit : > > From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > > > 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@xxxxxxxxxx> > > 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 > > > >