diff --git a/drivers/power/bq24257_charger.c b/drivers/power/bq24257_charger.c index d2d077cfdc2f..6757b4180972 100644 --- a/drivers/power/bq24257_charger.c +++ b/drivers/power/bq24257_charger.c @@ -590,8 +590,10 @@ static int bq24257_power_supply_init(struct bq24257_device *bq) psy_cfg.supplied_to = bq24257_charger_supplied_to; psy_cfg.num_supplicants = ARRAY_SIZE(bq24257_charger_supplied_to); - bq->charger = power_supply_register(bq->dev, &bq24257_power_supply_desc, - &psy_cfg); + bq->charger = devm_power_supply_register(bq->dev, + &bq24257_power_supply_desc, + &psy_cfg); + if (IS_ERR(bq->charger)) return PTR_ERR(bq->charger); @@ -742,8 +744,6 @@ static int bq24257_remove(struct i2c_client *client) cancel_delayed_work_sync(&bq->iilimit_setup_work); - power_supply_unregister(bq->charger); - bq24257_field_write(bq, F_RESET, 1); /* reset to defaults */ return 0;