diff mbox

[2/5] power: supply: bq27xxx: Register power supply with devm

Message ID 20170430182727.24412-2-contact@paulk.fr (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Paul Kocialkowski April 30, 2017, 6:27 p.m. UTC
This uses the managed devices resources version of the
power_supply_register_no_ws function to register the power supply.

Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
---
 drivers/power/supply/bq27xxx_battery.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Sebastian Reichel May 1, 2017, 10:55 a.m. UTC | #1
Hi,

On Sun, Apr 30, 2017 at 08:27:24PM +0200, Paul Kocialkowski wrote:
> This uses the managed devices resources version of the
> power_supply_register_no_ws function to register the power supply.
> 
> Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
> ---
>  drivers/power/supply/bq27xxx_battery.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/power/supply/bq27xxx_battery.c b/drivers/power/supply/bq27xxx_battery.c
> index 6ef95442a918..be476e0bc85d 100644
> --- a/drivers/power/supply/bq27xxx_battery.c
> +++ b/drivers/power/supply/bq27xxx_battery.c
> @@ -1371,7 +1371,7 @@ int bq27xxx_battery_setup(struct bq27xxx_device_info *di)
>  	psy_desc->get_property = bq27xxx_battery_get_property;
>  	psy_desc->external_power_changed = bq27xxx_external_power_changed;
>  
> -	di->bat = power_supply_register_no_ws(di->dev, psy_desc, &psy_cfg);
> +	di->bat = devm_power_supply_register_no_ws(di->dev, psy_desc, &psy_cfg);
>  	if (IS_ERR(di->bat)) {
>  		dev_err(di->dev, "failed to register battery\n");
>  		return PTR_ERR(di->bat);

That does not make sense if bq27xxx_battery_teardown() still calls
power_supply_unregister().

-- Sebastian
Paul Kocialkowski May 7, 2017, 5:43 p.m. UTC | #2
Le lundi 01 mai 2017 à 12:55 +0200, Sebastian Reichel a écrit :
> Hi,
> 
> On Sun, Apr 30, 2017 at 08:27:24PM +0200, Paul Kocialkowski wrote:
> > This uses the managed devices resources version of the
> > power_supply_register_no_ws function to register the power supply.
> > 
> > Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
> > ---
> >  drivers/power/supply/bq27xxx_battery.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/power/supply/bq27xxx_battery.c
> > b/drivers/power/supply/bq27xxx_battery.c
> > index 6ef95442a918..be476e0bc85d 100644
> > --- a/drivers/power/supply/bq27xxx_battery.c
> > +++ b/drivers/power/supply/bq27xxx_battery.c
> > @@ -1371,7 +1371,7 @@ int bq27xxx_battery_setup(struct bq27xxx_device_info
> > *di)
> >  	psy_desc->get_property = bq27xxx_battery_get_property;
> >  	psy_desc->external_power_changed = bq27xxx_external_power_changed;
> >  
> > -	di->bat = power_supply_register_no_ws(di->dev, psy_desc, &psy_cfg);
> > +	di->bat = devm_power_supply_register_no_ws(di->dev, psy_desc,
> > &psy_cfg);
> >  	if (IS_ERR(di->bat)) {
> >  		dev_err(di->dev, "failed to register battery\n");
> >  		return PTR_ERR(di->bat);
> 
> That does not make sense if bq27xxx_battery_teardown() still calls
> power_supply_unregister().

That's a very good point, thanks! Will fix in v2.
diff mbox

Patch

diff --git a/drivers/power/supply/bq27xxx_battery.c b/drivers/power/supply/bq27xxx_battery.c
index 6ef95442a918..be476e0bc85d 100644
--- a/drivers/power/supply/bq27xxx_battery.c
+++ b/drivers/power/supply/bq27xxx_battery.c
@@ -1371,7 +1371,7 @@  int bq27xxx_battery_setup(struct bq27xxx_device_info *di)
 	psy_desc->get_property = bq27xxx_battery_get_property;
 	psy_desc->external_power_changed = bq27xxx_external_power_changed;
 
-	di->bat = power_supply_register_no_ws(di->dev, psy_desc, &psy_cfg);
+	di->bat = devm_power_supply_register_no_ws(di->dev, psy_desc, &psy_cfg);
 	if (IS_ERR(di->bat)) {
 		dev_err(di->dev, "failed to register battery\n");
 		return PTR_ERR(di->bat);