[linux-pm] Runtime device power management in userspace

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

 



On Tue, 27 Dec 2005, Pavel Machek wrote:

> On Po 26-12-05 17:47:23, Alan Stern wrote:
> > On Mon, 26 Dec 2005, Patrick Mochel wrote:
>
> > > To that effect, the per-device power file and its semantics should go away
> > > completely and replaced with something that supports this new API.
> >
> > Allow me to direct your attention to this posting:
> >
> > http://lists.osdl.org/pipermail/linux-pm/2005-September/001421.html
> >
> > and the follow-on messages.  They implement exactly the type of API you're
> > talking about.  When I have some time available I will rework the patches,
> > with improvements as suggested by the discussions on the mailing list, and
> > submit them.
>
> Ok, what about this as a first step? It unbreaks the interface between
> kernel and user, and allows something like patches above to be taken
> in future, without userland changes.
> 								Pavel
>
> diff --git a/drivers/base/power/sysfs.c b/drivers/base/power/sysfs.c
> --- a/drivers/base/power/sysfs.c
> +++ b/drivers/base/power/sysfs.c
> @@ -33,15 +33,12 @@ static ssize_t state_show(struct device
>  static ssize_t state_store(struct device * dev, struct device_attribute *attr, const char * buf, size_t n)
>  {
>  	pm_message_t state;
> -	char * rest;
> -	int error = 0;
> +	int error = -EINVAL;
>
> -	state.event = simple_strtoul(buf, &rest, 10);
> -	if (*rest)
> -		return -EINVAL;
> -	if (state.event)
> +	state.event = PM_EVENT_SUSPEND;
> +	if ((n == 2) && !strncmp(buf, "on", min(n, 2)))
>  		error = dpm_runtime_suspend(dev, state);
> -	else
> +	if ((n == 7) && !strncmp(buf, "suspend", min(n, 7)))
>  		dpm_runtime_resume(dev);
>  	return error ? error : n;
>  }

You can drop the min(n, 2 or 7) since n == 2 or 7.

-- 
~Randy

[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