Re: [PATCH 08/69] Input: iqs269a - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr()

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

 



Hi Jonathan,

On Mon, Jan 02, 2023 at 06:17:41PM +0000, Jonathan Cameron wrote:
> From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> 
> SIMPLE_DEV_PM_OPS() is deprecated as it requires explicit protection
> against unused function warnings.  The new combination of pm_sleep_ptr()
> and DEFINE_SIMPLE_DEV_PM_OPS() allows the compiler to see the functions,
> thus suppressing the warning, but still allowing the unused code to be
> removed. Thus also drop the __maybe_unused markings.
> 
> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> Cc: Jeff LaBundy <jeff@xxxxxxxxxxx>

Reviewed-by: Jeff LaBundy <jeff@xxxxxxxxxxx>

Thank you for doing this!

Just a note to Dmitry that this would need to be applied after [1] so
as to avoid a tiny merge conflict.

[1] https://patchwork.kernel.org/patch/13087784/

> ---
>  drivers/input/misc/iqs269a.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/input/misc/iqs269a.c b/drivers/input/misc/iqs269a.c
> index a348247d3d38..8348d8c85e1d 100644
> --- a/drivers/input/misc/iqs269a.c
> +++ b/drivers/input/misc/iqs269a.c
> @@ -1697,7 +1697,7 @@ static int iqs269_probe(struct i2c_client *client)
>  	return error;
>  }
>  
> -static int __maybe_unused iqs269_suspend(struct device *dev)
> +static int iqs269_suspend(struct device *dev)
>  {
>  	struct iqs269_private *iqs269 = dev_get_drvdata(dev);
>  	struct i2c_client *client = iqs269->client;
> @@ -1756,7 +1756,7 @@ static int __maybe_unused iqs269_suspend(struct device *dev)
>  	return error;
>  }
>  
> -static int __maybe_unused iqs269_resume(struct device *dev)
> +static int iqs269_resume(struct device *dev)
>  {
>  	struct iqs269_private *iqs269 = dev_get_drvdata(dev);
>  	struct i2c_client *client = iqs269->client;
> @@ -1803,7 +1803,7 @@ static int __maybe_unused iqs269_resume(struct device *dev)
>  	return error;
>  }
>  
> -static SIMPLE_DEV_PM_OPS(iqs269_pm, iqs269_suspend, iqs269_resume);
> +static DEFINE_SIMPLE_DEV_PM_OPS(iqs269_pm, iqs269_suspend, iqs269_resume);
>  
>  static const struct of_device_id iqs269_of_match[] = {
>  	{ .compatible = "azoteq,iqs269a" },
> @@ -1815,7 +1815,7 @@ static struct i2c_driver iqs269_i2c_driver = {
>  	.driver = {
>  		.name = "iqs269a",
>  		.of_match_table = iqs269_of_match,
> -		.pm = &iqs269_pm,
> +		.pm = pm_sleep_ptr(&iqs269_pm),
>  	},
>  	.probe_new = iqs269_probe,
>  };
> -- 
> 2.39.0
> 

Kind regards,
Jeff LaBundy



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux