Re: [PATCH v2 48/51] iio:dac:m62332: Switch from CONFIG_PM_SLEEP guards to pm_sleep_ptr() etc

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

 



On Sun,  2 Jan 2022 12:56:14 +0000
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_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.
> 
> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>

I missed that there were some CONFIG_PM guards around iio_priv()->save
that also need dropping.  Will do that in v3.

Jonathan

> ---
>  drivers/iio/dac/m62332.c | 9 ++-------
>  1 file changed, 2 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/iio/dac/m62332.c b/drivers/iio/dac/m62332.c
> index 225b1a374dc1..4a413936fabb 100644
> --- a/drivers/iio/dac/m62332.c
> +++ b/drivers/iio/dac/m62332.c
> @@ -124,7 +124,6 @@ static int m62332_write_raw(struct iio_dev *indio_dev,
>  	return -EINVAL;
>  }
>  
> -#ifdef CONFIG_PM_SLEEP
>  static int m62332_suspend(struct device *dev)
>  {
>  	struct i2c_client *client = to_i2c_client(dev);
> @@ -156,11 +155,7 @@ static int m62332_resume(struct device *dev)
>  	return m62332_set_value(indio_dev, data->save[1], 1);
>  }
>  
> -static SIMPLE_DEV_PM_OPS(m62332_pm_ops, m62332_suspend, m62332_resume);
> -#define M62332_PM_OPS (&m62332_pm_ops)
> -#else
> -#define M62332_PM_OPS NULL
> -#endif
> +DEFINE_SIMPLE_DEV_PM_OPS(m62332_pm_ops, m62332_suspend, m62332_resume);
>  
>  static const struct iio_info m62332_info = {
>  	.read_raw = m62332_read_raw,
> @@ -246,7 +241,7 @@ MODULE_DEVICE_TABLE(i2c, m62332_id);
>  static struct i2c_driver m62332_driver = {
>  	.driver = {
>  		.name	= "m62332",
> -		.pm	= M62332_PM_OPS,
> +		.pm	= pm_sleep_ptr(&m62332_pm_ops),
>  	},
>  	.probe		= m62332_probe,
>  	.remove		= m62332_remove,




[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