diff options
Diffstat (limited to 'drivers/power')
-rw-r--r-- | drivers/power/charger-manager.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/drivers/power/charger-manager.c b/drivers/power/charger-manager.c index 526e5c931294..240de49934f1 100644 --- a/drivers/power/charger-manager.c +++ b/drivers/power/charger-manager.c @@ -271,9 +271,24 @@ static int try_charger_enable(struct charger_manager *cm, bool enable) if (enable) { if (cm->emergency_stop) return -EAGAIN; - for (i = 0 ; i < desc->num_charger_regulators ; i++) - regulator_enable(desc->charger_regulators[i].consumer); + for (i = 0 ; i < desc->num_charger_regulators ; i++) { + err = regulator_enable(desc->charger_regulators[i].consumer); + if (err < 0) { + dev_warn(cm->dev, + "Cannot enable %s regulator\n", + desc->charger_regulators[i].regulator_name); + } + } } else { + for (i = 0 ; i < desc->num_charger_regulators ; i++) { + err = regulator_disable(desc->charger_regulators[i].consumer); + if (err < 0) { + dev_warn(cm->dev, + "Cannot disable %s regulator\n", + desc->charger_regulators[i].regulator_name); + } + } + /* * Abnormal battery state - Stop charging forcibly, * even if charger was enabled at the other places |