Skip to content

Commit

Permalink
cpuidle: make sysfs attributes sysdev class attributes
Browse files Browse the repository at this point in the history
These attributes are really sysdev class attributes.  The incorrect
definition leads to an oops because of recent changes which make sysdev
attributes use a different prototype.

Based on Andi's f718cd4 ("sched: make
scheduler sysfs attributes sysdev class devices")

Reported-by: Eric Sesterhenn <[email protected]>
Signed-off-by: Rabin Vincent <[email protected]>
Acked-by: Andi Kleen <[email protected]>
Cc: "Li, Shaohua" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
vitkyrka authored and torvalds committed Aug 12, 2008
1 parent 001e979 commit 66198f3
Showing 1 changed file with 15 additions and 14 deletions.
29 changes: 15 additions & 14 deletions drivers/cpuidle/sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ static int __init cpuidle_sysfs_setup(char *unused)
}
__setup("cpuidle_sysfs_switch", cpuidle_sysfs_setup);

static ssize_t show_available_governors(struct sys_device *dev,
struct sysdev_attribute *attr, char *buf)
static ssize_t show_available_governors(struct sysdev_class *class,
char *buf)
{
ssize_t i = 0;
struct cpuidle_governor *tmp;
Expand All @@ -40,8 +40,8 @@ static ssize_t show_available_governors(struct sys_device *dev,
return i;
}

static ssize_t show_current_driver(struct sys_device *dev,
struct sysdev_attribute *attr, char *buf)
static ssize_t show_current_driver(struct sysdev_class *class,
char *buf)
{
ssize_t ret;

Expand All @@ -55,8 +55,8 @@ static ssize_t show_current_driver(struct sys_device *dev,
return ret;
}

static ssize_t show_current_governor(struct sys_device *dev,
struct sysdev_attribute *attr, char *buf)
static ssize_t show_current_governor(struct sysdev_class *class,
char *buf)
{
ssize_t ret;

Expand All @@ -70,9 +70,8 @@ static ssize_t show_current_governor(struct sys_device *dev,
return ret;
}

static ssize_t store_current_governor(struct sys_device *dev,
struct sysdev_attribute *attr,
const char *buf, size_t count)
static ssize_t store_current_governor(struct sysdev_class *class,
const char *buf, size_t count)
{
char gov_name[CPUIDLE_NAME_LEN];
int ret = -EINVAL;
Expand Down Expand Up @@ -104,18 +103,20 @@ static ssize_t store_current_governor(struct sys_device *dev,
return count;
}

static SYSDEV_ATTR(current_driver, 0444, show_current_driver, NULL);
static SYSDEV_ATTR(current_governor_ro, 0444, show_current_governor, NULL);
static SYSDEV_CLASS_ATTR(current_driver, 0444, show_current_driver, NULL);
static SYSDEV_CLASS_ATTR(current_governor_ro, 0444, show_current_governor,
NULL);

static struct attribute *cpuclass_default_attrs[] = {
&attr_current_driver.attr,
&attr_current_governor_ro.attr,
NULL
};

static SYSDEV_ATTR(available_governors, 0444, show_available_governors, NULL);
static SYSDEV_ATTR(current_governor, 0644, show_current_governor,
store_current_governor);
static SYSDEV_CLASS_ATTR(available_governors, 0444, show_available_governors,
NULL);
static SYSDEV_CLASS_ATTR(current_governor, 0644, show_current_governor,
store_current_governor);

static struct attribute *cpuclass_switch_attrs[] = {
&attr_available_governors.attr,
Expand Down

0 comments on commit 66198f3

Please sign in to comment.