diff mbox series

iio: as3935: Use devm_delayed_work_autocancel()

Message ID 8d5c50f191bd8f751849d72127f83b14a7636d64.1644755396.git.christophe.jaillet@wanadoo.fr (mailing list archive)
State Accepted
Headers show
Series iio: as3935: Use devm_delayed_work_autocancel() | expand

Commit Message

Christophe JAILLET Feb. 13, 2022, 12:30 p.m. UTC
Use devm_delayed_work_autocancel() instead of hand writing it.
It saves a few lines of code.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 drivers/iio/proximity/as3935.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

Comments

Jonathan Cameron Feb. 13, 2022, 4:19 p.m. UTC | #1
On Sun, 13 Feb 2022 13:30:11 +0100
Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote:

> Use devm_delayed_work_autocancel() instead of hand writing it.
> It saves a few lines of code.
> 
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Nice.

+CC Matt as it's his driver. As this is an obvious like for like replacement
I'll apply it now.

Applied to the togreg branch of iio.git and pushed out as testing
to let the autobuilders see if we missed anything.

Thanks,

Jonathan

> ---
>  drivers/iio/proximity/as3935.c | 12 ++----------
>  1 file changed, 2 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/iio/proximity/as3935.c b/drivers/iio/proximity/as3935.c
> index bd7595db31d4..00e06491b188 100644
> --- a/drivers/iio/proximity/as3935.c
> +++ b/drivers/iio/proximity/as3935.c
> @@ -12,6 +12,7 @@
>  #include <linux/interrupt.h>
>  #include <linux/delay.h>
>  #include <linux/workqueue.h>
> +#include <linux/devm-helpers.h>
>  #include <linux/mutex.h>
>  #include <linux/err.h>
>  #include <linux/irq.h>
> @@ -344,14 +345,6 @@ static SIMPLE_DEV_PM_OPS(as3935_pm_ops, as3935_suspend, as3935_resume);
>  #define AS3935_PM_OPS NULL
>  #endif
>  
> -static void as3935_stop_work(void *data)
> -{
> -	struct iio_dev *indio_dev = data;
> -	struct as3935_state *st = iio_priv(indio_dev);
> -
> -	cancel_delayed_work_sync(&st->work);
> -}
> -
>  static int as3935_probe(struct spi_device *spi)
>  {
>  	struct device *dev = &spi->dev;
> @@ -432,8 +425,7 @@ static int as3935_probe(struct spi_device *spi)
>  
>  	calibrate_as3935(st);
>  
> -	INIT_DELAYED_WORK(&st->work, as3935_event_work);
> -	ret = devm_add_action(dev, as3935_stop_work, indio_dev);
> +	ret = devm_delayed_work_autocancel(dev, &st->work, as3935_event_work);
>  	if (ret)
>  		return ret;
>
diff mbox series

Patch

diff --git a/drivers/iio/proximity/as3935.c b/drivers/iio/proximity/as3935.c
index bd7595db31d4..00e06491b188 100644
--- a/drivers/iio/proximity/as3935.c
+++ b/drivers/iio/proximity/as3935.c
@@ -12,6 +12,7 @@ 
 #include <linux/interrupt.h>
 #include <linux/delay.h>
 #include <linux/workqueue.h>
+#include <linux/devm-helpers.h>
 #include <linux/mutex.h>
 #include <linux/err.h>
 #include <linux/irq.h>
@@ -344,14 +345,6 @@  static SIMPLE_DEV_PM_OPS(as3935_pm_ops, as3935_suspend, as3935_resume);
 #define AS3935_PM_OPS NULL
 #endif
 
-static void as3935_stop_work(void *data)
-{
-	struct iio_dev *indio_dev = data;
-	struct as3935_state *st = iio_priv(indio_dev);
-
-	cancel_delayed_work_sync(&st->work);
-}
-
 static int as3935_probe(struct spi_device *spi)
 {
 	struct device *dev = &spi->dev;
@@ -432,8 +425,7 @@  static int as3935_probe(struct spi_device *spi)
 
 	calibrate_as3935(st);
 
-	INIT_DELAYED_WORK(&st->work, as3935_event_work);
-	ret = devm_add_action(dev, as3935_stop_work, indio_dev);
+	ret = devm_delayed_work_autocancel(dev, &st->work, as3935_event_work);
 	if (ret)
 		return ret;