power: android-battery: Allow changing current in charging state

When a new charge source is set, enable charging and set the charging
current, unless we've paused charging due to battery full or battery
health problems.

Change-Id: I129e621c455a941e264dc431b4eb9db6a17c9f7b
Signed-off-by: Danke Xie <d.xie@sta.samsung.com>
Signed-off-by: Todd Poynor <toddpoynor@google.com>
This commit is contained in:
Danke Xie
2012-10-16 15:24:41 -07:00
committed by Arve Hjønnevåg
parent 90acaa4de6
commit 552584f55d

View File

@@ -412,15 +412,24 @@ static void android_bat_charger_work(struct work_struct *work)
case CHARGE_SOURCE_AC:
/*
* If charging status indicates a charger was already
* connected prior to this and a non-charging status is
* set, leave the status alone.
* connected prior to this and the status is something
* other than charging ("full" or "not-charging"), leave
* the status alone.
*/
if (battery->charging_status ==
POWER_SUPPLY_STATUS_DISCHARGING ||
battery->charging_status == POWER_SUPPLY_STATUS_UNKNOWN) {
battery->charging_status == POWER_SUPPLY_STATUS_UNKNOWN)
battery->charging_status = POWER_SUPPLY_STATUS_CHARGING;
/*
* Don't re-enable charging if the battery is full and we
* are not actively re-charging it, or if "not-charging"
* status is set.
*/
if (!((battery->charging_status == POWER_SUPPLY_STATUS_FULL
&& !battery->recharging) || battery->charging_status ==
POWER_SUPPLY_STATUS_NOT_CHARGING))
android_bat_enable_charging(battery, true);
}
break;
default: