PM: Do not use dynamically allocated objects in pm_wakeup_event()
authorRafael J. Wysocki <rjw@sisk.pl>
Wed, 7 Jul 2010 21:43:51 +0000 (23:43 +0200)
committerRafael J. Wysocki <rjw@sisk.pl>
Mon, 19 Jul 2010 00:00:35 +0000 (02:00 +0200)
commit4eb241e5691363c391aac8a5051d0d013188ec84
tree4692a93a29f4aa556a2a54173e5f6d7f4bdb7ae6
parentce4410116c5debfb0e049f5db4b5cd6211e05b80
PM: Do not use dynamically allocated objects in pm_wakeup_event()

Originally, pm_wakeup_event() uses struct delayed_work objects,
allocated with GFP_ATOMIC, to schedule the execution of pm_relax()
in future.  However, as noted by Alan Stern, it is not necessary to
do that, because all pm_wakeup_event() calls can use one static timer
that will always be set to expire at the latest time passed to
pm_wakeup_event().

The modifications are based on the example code posted by Alan.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
drivers/base/power/wakeup.c