diff mbox series

power: supply: max17042_battery: Use devm_delayed_work_autocancel()

Message ID 670ef51366f96035f49852cd17325af10ffa07ea.1645205558.git.christophe.jaillet@wanadoo.fr
State Accepted
Commit e5372503d82b780ebc3fea3b893f04ca6f52fe42
Headers show
Series power: supply: max17042_battery: Use devm_delayed_work_autocancel() | expand

Commit Message

Christophe JAILLET Feb. 18, 2022, 5:33 p.m. UTC
Use devm_delayed_work_autocancel() instead of hand-writing it.
This saves a few lines of code.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 drivers/power/supply/max17042_battery.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

Comments

Christophe JAILLET Feb. 18, 2022, 5:37 p.m. UTC | #1
Le 18/02/2022 à 18:33, Christophe JAILLET a écrit :
> Use devm_delayed_work_autocancel() instead of hand-writing it.
> This saves a few lines of code.

NACK.
Copy Paste error.


I'll send a v2 with s/devm_delayed_work_autocancel/devm_work_autocancel/

> 
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
>   drivers/power/supply/max17042_battery.c | 12 +++---------
>   1 file changed, 3 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
> index 87128cf0d577..ab031bbfbe78 100644
> --- a/drivers/power/supply/max17042_battery.c
> +++ b/drivers/power/supply/max17042_battery.c
> @@ -9,6 +9,7 @@
>   // This driver is based on max17040_battery.c
>   
>   #include <linux/acpi.h>
> +#include <linux/devm-helpers.h>
>   #include <linux/init.h>
>   #include <linux/module.h>
>   #include <linux/slab.h>
> @@ -1030,13 +1031,6 @@ static const struct power_supply_desc max17042_no_current_sense_psy_desc = {
>   	.num_properties	= ARRAY_SIZE(max17042_battery_props) - 2,
>   };
>   
> -static void max17042_stop_work(void *data)
> -{
> -	struct max17042_chip *chip = data;
> -
> -	cancel_work_sync(&chip->work);
> -}
> -
>   static int max17042_probe(struct i2c_client *client,
>   			const struct i2c_device_id *id)
>   {
> @@ -1142,8 +1136,8 @@ static int max17042_probe(struct i2c_client *client,
>   
>   	regmap_read(chip->regmap, MAX17042_STATUS, &val);
>   	if (val & STATUS_POR_BIT) {
> -		INIT_WORK(&chip->work, max17042_init_worker);
> -		ret = devm_add_action(&client->dev, max17042_stop_work, chip);
> +		ret = devm_work_autocancel(&client->dev, &chip->work,
> +					   max17042_init_worker);
>   		if (ret)
>   			return ret;
>   		schedule_work(&chip->work);
diff mbox series

Patch

diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
index 87128cf0d577..ab031bbfbe78 100644
--- a/drivers/power/supply/max17042_battery.c
+++ b/drivers/power/supply/max17042_battery.c
@@ -9,6 +9,7 @@ 
 // This driver is based on max17040_battery.c
 
 #include <linux/acpi.h>
+#include <linux/devm-helpers.h>
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/slab.h>
@@ -1030,13 +1031,6 @@  static const struct power_supply_desc max17042_no_current_sense_psy_desc = {
 	.num_properties	= ARRAY_SIZE(max17042_battery_props) - 2,
 };
 
-static void max17042_stop_work(void *data)
-{
-	struct max17042_chip *chip = data;
-
-	cancel_work_sync(&chip->work);
-}
-
 static int max17042_probe(struct i2c_client *client,
 			const struct i2c_device_id *id)
 {
@@ -1142,8 +1136,8 @@  static int max17042_probe(struct i2c_client *client,
 
 	regmap_read(chip->regmap, MAX17042_STATUS, &val);
 	if (val & STATUS_POR_BIT) {
-		INIT_WORK(&chip->work, max17042_init_worker);
-		ret = devm_add_action(&client->dev, max17042_stop_work, chip);
+		ret = devm_work_autocancel(&client->dev, &chip->work,
+					   max17042_init_worker);
 		if (ret)
 			return ret;
 		schedule_work(&chip->work);