aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpuidle
diff options
context:
space:
mode:
authorHanjun Guo <guohanjun@huawei.com>2020-05-19 14:25:22 +0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2020-05-19 17:41:17 +0200
commitb52e93e4e86c600492f977badad3c9e0f0303cb2 (patch)
tree4d3a996663bdc7e56ed6e48cdfb4d11dd52435f1 /drivers/cpuidle
parentcpuidle: sysfs: Accept governor name with 15 characters (diff)
downloadlinux-dev-b52e93e4e86c600492f977badad3c9e0f0303cb2.tar.xz
linux-dev-b52e93e4e86c600492f977badad3c9e0f0303cb2.zip
cpuidle: Make cpuidle governor switchable to be the default behaviour
For now cpuidle governor can be switched via sysfs only when the boot option "cpuidle_sysfs_switch" is passed, but it's important to switch the governor to adapt to different workloads, especially after TEO and haltpoll governor were introduced. Add available_governors and current_governor into the default attributes, but reserve the current_governor_ro for compatiblity. Signed-off-by: Hanjun Guo <guohanjun@huawei.com> Reviewed-by: Doug Smythies <dsmythies@telus.net> Tested-by: Doug Smythies <dsmythies@telus.net> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpuidle')
-rw-r--r--drivers/cpuidle/sysfs.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/cpuidle/sysfs.c b/drivers/cpuidle/sysfs.c
index a57ad10baccc..b51c470d3bdb 100644
--- a/drivers/cpuidle/sysfs.c
+++ b/drivers/cpuidle/sysfs.c
@@ -106,19 +106,20 @@ static ssize_t store_current_governor(struct device *dev,
return ret ? ret : count;
}
+static DEVICE_ATTR(available_governors, 0444, show_available_governors, NULL);
static DEVICE_ATTR(current_driver, 0444, show_current_driver, NULL);
+static DEVICE_ATTR(current_governor, 0644, show_current_governor,
+ store_current_governor);
static DEVICE_ATTR(current_governor_ro, 0444, show_current_governor, NULL);
static struct attribute *cpuidle_default_attrs[] = {
+ &dev_attr_available_governors.attr,
&dev_attr_current_driver.attr,
+ &dev_attr_current_governor.attr,
&dev_attr_current_governor_ro.attr,
NULL
};
-static DEVICE_ATTR(available_governors, 0444, show_available_governors, NULL);
-static DEVICE_ATTR(current_governor, 0644, show_current_governor,
- store_current_governor);
-
static struct attribute *cpuidle_switch_attrs[] = {
&dev_attr_available_governors.attr,
&dev_attr_current_driver.attr,