[linux-pm] What woke system up?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

> Next in our series of wakeup patches: a consumer electronics maker asked
> for a userspace interface to inquire what woke the system up, in order
> to present different behaviors depending on the wakeup source.  This is
> to be encouraged, as it places these kinds of policy decisions into the
> power policy application and out of the kernel.
> 
> So here's a quick try at adding a /sys/power/waker attribute and a
> pm_add_waker() kernel function that either drivers or board PM code can
> use to add (so far format-free) strings useful for telling what woke the
> system up.  The idea is that a buffer of these strings is cleared at
> each suspend and added to by the platform's resume path and/or driver
> resume methods.
> 
> I'll send a patch or two for embedded boards showing how
> this could be used for SoC-specific wakeup sources.
> 
> Any interest in this or something like it for Linux in general, or any
> other suggestions?  Thanks -- Todd

Well, idea may be okay but patch is ugly.

> Index: linux-2.6.15-rc4/kernel/power/main.c
> ===================================================================
> --- linux-2.6.15-rc4.orig/kernel/power/main.c
> +++ linux-2.6.15-rc4/kernel/power/main.c
> @@ -103,11 +103,18 @@ static int suspend_prepare(suspend_state
>  }
>  
>  
> +#define WAKERINFO_LEN 1024
> +
> +static char *wakerinfo;

Can you just allocate it statically? And use some reasonable length.

> +void pm_add_waker(char * buf)

char *buf

> +{
> +	if (! wakerinfo) {

Please don't use space between "!" and variable.

								Pavel
-- 
Thanks, Sharp!

[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux