power: bq24257: Use managed power supply register
authorAndreas Dannenberg <dannenberg@ti.com>
Mon, 28 Sep 2015 22:33:51 +0000 (17:33 -0500)
committerSebastian Reichel <sre@kernel.org>
Tue, 29 Sep 2015 14:48:07 +0000 (16:48 +0200)
Use the devm_* managed version of the function to register the power
supply and remove the associated unregister function. This will simplify
error handling moving forward as it allows the unregister to happen
automatically. It also saves a few lines of code.

As this changes the order of putting the bq24257 into reset vs.
unregistering the power-supply during driver remove re-tested various
driver unload scenario to make sure that this doesn't cause any
unintended side effects such as erroneous interrupts.

Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
drivers/power/bq24257_charger.c

index d2d077cfdc2f9180eaf0e1bbf0026f2e0adda49e..6757b41809728704dca173b85b5bd8220be13b23 100644 (file)
@@ -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;
This page took 0.03417 seconds and 5 git commands to generate.