Re: [patch] pm: fix runtime powermanagement's /sys interface

Greg KH
2006-01-06T00:38:06Z

[-- Attachment #1: Type: text/plain, Size: 1635 bytes --]

On Thu, Jan 05, 2006 at 11:27:05PM +0100, Dominik Brodowski wrote:
> On Thu, Jan 05, 2006 at 11:23:38PM +0100, Pavel Machek wrote:
> > > In addition, your patch breaks pcmcia / pcmciautils which already uses
> > > numbers (which I already had to change from "3" to "2" before...).
> >
> > pcmcia actually uses this? Ouch. Do you just read the power file, or
> > do you write to it, too?
>
> Reading and writing. Replacement for "cardctl suspend" and "cardctl resume".
>
>
> static int pccardctl_power_one(unsigned long socket_no, unsigned int device,
> unsigned int power)
> {
> int ret;
> char file[SYSFS_PATH_MAX];
> struct sysfs_attribute *attr;
>
> snprintf(file, SYSFS_PATH_MAX,
> "/sys/bus/pcmcia/devices/%lu.%u/power/state",
> socket_no, device);
>
> attr = sysfs_open_attribute(file);
> if (!attr)
> return -ENODEV;
>
> ret = sysfs_write_attribute(attr, power ? "2" : "0", 1);
>
> sysfs_close_attribute(attr);
>
> return (ret);
> }
>
>
> NB: it will break one day, one way or another, when gregkh makes the
> /sys/class -> /sys/devices conversion. However, I'd want to try not to break
> the new pcmciautils userspace too often...

Why would the conversion that I'm working on break this userspace code?
You are only using the device directory, which will not change at all.

And my goal in the rework is to not break userspace code, although
libsysfs does need a one line change to handle this, hopefully they have
intregrated that already...

thanks,

greg k-h

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]