From 76fc7c3b0d4b26e6387cfc75361124e87789e28d Mon Sep 17 00:00:00 2001 From: Jonghwa Lee Date: Wed, 15 Oct 2014 18:54:21 +0900 Subject: power: charger-manager: Hold wakeup event until userspace notice. This is workaround to let userspace notice about battery's status chaiging during suspend and resume. It holds wakeup event to prevent system goes into sleep. Holding wakeup event time is heuristic value and it could be varied. To make this works, it needs CONFIG_PM_AUTOSLEEP kernel option. Change-Id: I22a818e69632574a2d684cd957f62b3329d57c8f Signed-off-by: Jonghwa Lee --- drivers/power/charger-manager.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/power/charger-manager.c b/drivers/power/charger-manager.c index 0a258ee22b0..04b170d984c 100644 --- a/drivers/power/charger-manager.c +++ b/drivers/power/charger-manager.c @@ -1632,7 +1632,13 @@ static void cm_suspend_complete(struct device *dev) schedule_work(&setup_polling); } - _cm_monitor(cm); + if (_cm_monitor(cm)) { + /* FIXME: + * To notify charger manager's uevent to userspace, + * it holds wakeup event for few seconds. + */ + pm_wakeup_event(cm->dev, 3 * HZ); + } device_set_wakeup_capable(cm->dev, false); } -- cgit v1.2.3