Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23246712 authored by HongMin Son's avatar HongMin Son Committed by Ruchi Kandoi
Browse files

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: default avatarHongMin Son <hongmin.son@samsung.com>
Signed-off-by: default avatarTodd Poynor <toddpoynor@google.com>
Change-Id: Id0f3bda5d0749fd90f1964073bc30c1a73fc317f
parent 1a5e756a
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -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 = {