* [PATCH 6/8] cpuidle: make cpuidle sysfs driver/governor switch off by default
@ 2007-06-06 20:54 Venki Pallipadi
0 siblings, 0 replies; only message in thread
From: Venki Pallipadi @ 2007-06-06 20:54 UTC (permalink / raw)
To: Len Brown
Cc: Adam Belay, Len Brown, Thomas Gleixner, linux-kernel,
Andrew Morton, Shaohua Li, linux-acpi
Make default cpuidle sysfs to show current_governor and current_driver in
read-only mode. More elaborate available_governors and available_drivers with
writeable current_governor and current_driver interface only appear with
"cpuidle_sysfs_switch" boot parameter.
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Index: linux-2.6.22-rc-mm/drivers/cpuidle/cpuidle.c
===================================================================
--- linux-2.6.22-rc-mm.orig/drivers/cpuidle/cpuidle.c 2007-06-05 17:52:32.000000000 -0700
+++ linux-2.6.22-rc-mm/drivers/cpuidle/cpuidle.c 2007-06-06 10:57:41.000000000 -0700
@@ -25,7 +25,6 @@
LIST_HEAD(cpuidle_detected_devices);
static void (*pm_idle_old)(void);
-
/**
* cpuidle_idle_call - the main idle loop
*
Index: linux-2.6.22-rc-mm/drivers/cpuidle/sysfs.c
===================================================================
--- linux-2.6.22-rc-mm.orig/drivers/cpuidle/sysfs.c 2007-06-05 17:52:56.000000000 -0700
+++ linux-2.6.22-rc-mm/drivers/cpuidle/sysfs.c 2007-06-06 11:29:50.000000000 -0700
@@ -13,6 +13,14 @@
#include "cpuidle.h"
+static unsigned int sysfs_switch;
+static int __init cpuidle_sysfs_setup(char *unused)
+{
+ sysfs_switch = 1;
+ return 1;
+}
+__setup("cpuidle_sysfs_switch", cpuidle_sysfs_setup);
+
static ssize_t show_available_drivers(struct sys_device *dev, char *buf)
{
ssize_t i = 0;
@@ -127,6 +135,15 @@
return count;
}
+static SYSDEV_ATTR(current_driver_ro, 0444, show_current_driver, NULL);
+static SYSDEV_ATTR(current_governor_ro, 0444, show_current_governor, NULL);
+
+static struct attribute *cpuclass_default_attrs[] = {
+ &attr_current_driver_ro.attr,
+ &attr_current_governor_ro.attr,
+ NULL
+};
+
static SYSDEV_ATTR(available_drivers, 0444, show_available_drivers, NULL);
static SYSDEV_ATTR(available_governors, 0444, show_available_governors, NULL);
static SYSDEV_ATTR(current_driver, 0644, show_current_driver,
@@ -134,7 +151,7 @@
static SYSDEV_ATTR(current_governor, 0644, show_current_governor,
store_current_governor);
-static struct attribute *cpuclass_default_attrs[] = {
+static struct attribute *cpuclass_switch_attrs[] = {
&attr_available_drivers.attr,
&attr_available_governors.attr,
&attr_current_driver.attr,
@@ -152,6 +169,9 @@
*/
int cpuidle_add_class_sysfs(struct sysdev_class *cls)
{
+ if (sysfs_switch)
+ cpuclass_attr_group.attrs = cpuclass_switch_attrs;
+
return sysfs_create_group(&cls->kset.kobj, &cpuclass_attr_group);
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2007-06-06 20:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-06 20:54 [PATCH 6/8] cpuidle: make cpuidle sysfs driver/governor switch off by default Venki Pallipadi
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.