mirror of
https://github.com/armbian/linux.git
synced 2026-01-06 10:13:00 -08:00
power: android-battery: Fix battery alarm timer not modified at suspend
- Alarm Timer driver is suspended before battery driver, so alarm
timer was not changed to slow poll speed at suspend. Use PM
notifiers instead.
- If charger is connected, keep 1 min alarm timer.
Signed-off-by: HongMin Son <hongmin.son@samsung.com>
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Change-Id: Id0f3bda5d0749fd90f1964073bc30c1a73fc317f
This commit is contained in:
committed by
Arve Hjønnevåg
parent
8873f5de28
commit
148984e00a
@@ -700,21 +700,24 @@ static int android_bat_suspend(struct device *dev)
|
||||
struct android_bat_data *battery = dev_get_drvdata(dev);
|
||||
|
||||
cancel_work_sync(&battery->monitor_work);
|
||||
android_bat_monitor_set_alarm(battery, SLOW_POLL);
|
||||
android_bat_monitor_set_alarm(
|
||||
battery,
|
||||
battery->charge_source == CHARGE_SOURCE_NONE ?
|
||||
SLOW_POLL : FAST_POLL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int android_bat_resume(struct device *dev)
|
||||
static void android_bat_resume(struct device *dev)
|
||||
{
|
||||
struct android_bat_data *battery = dev_get_drvdata(dev);
|
||||
|
||||
android_bat_monitor_set_alarm(battery, FAST_POLL);
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
static const struct dev_pm_ops android_bat_pm_ops = {
|
||||
.suspend = android_bat_suspend,
|
||||
.resume = android_bat_resume,
|
||||
.prepare = android_bat_suspend,
|
||||
.complete = android_bat_resume,
|
||||
};
|
||||
|
||||
static struct platform_driver android_bat_driver = {
|
||||
|
||||
Reference in New Issue
Block a user