Messages in this thread | | | Subject | Re: [PATCH] gpio_keys, twl4030-pwrbutton: stay awake for 1sec on resume | From | "Dr. H. Nikolaus Schaller" <> | Date | Sat, 28 Jun 2014 19:57:53 +0200 |
| |
Hi, Am 28.06.2014 um 19:08 schrieb Pavel Machek:
> Hi! > >> This gives the userspace (Replicant) a chance to fully handle the >> pm_wakeup_event, before autosleep suspends the system alltogether >> again. >> >> This fixes suspend/resume on the OpenPhoenux GTA04, in combination with >> the Replicant 4.2.2 userspace, which needs to execute this to stay >> awake: 'echo on > /sys/power/state' >> >> Signed-off-by: Lukas Märdian <lukas@goldelico.com> >> Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> > > I'm sorry, but we should not be doing this. > > You basically put a delay in driver to work around userspace bug.
Do you think it is a user-space bug if the kernel goes to sleep again before giving user space any chance to react to an event?
And the msec parameter is described as:
@msec: Anticipated event processing time (in milliseconds).
Isn't calling pm_wakeup_event() with a non-zero msec the standard method to handle this situation? And it is used in other drivers. E.g. in _mmc_detect_change() or hub_suspend().
And if I understand the code of __pm_wakeup_event() correctly it does *not* delay, but just modifies the wakeup_source timer to expire a little later. I.e. keep the system longer awake. So as long as the system is not suspended there is no difference to current driver.
> There must be better > solution....
I am not sure how it could look like.
-- hns-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |