Thread (53 messages) 53 messages, 11 authors, 2006-01-13

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

From: Pavel Machek <hidden>
Date: 2006-01-05 23:00:10
Also in: lkml

On Čt 05-01-06 23:27:05, Dominik Brodowski wrote:
On Thu, Jan 05, 2006 at 11:23:38PM +0100, Pavel Machek wrote:
quoted
quoted
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...
Do you know how soon that day is?

I'd really like to change it into strings so that interface will not
have to change when/if someone will introduce multiple power states.

I could accept both "0" and "on" on input, but have to output single
value.
								Pavel 

-- 
Thanks, Sharp!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help