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

Dominik Brodowski
2006-01-05T22:27:05Z

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...

Dominik