[linux-next PATCH 0/7] PM / devfreq: allow governors to be modules and switch dynamically

From: Nishanth Menon
Date: Mon Oct 29 2012 - 16:02:35 EST


The following series is based on:
linux-next e083feb Merge branch 'acpi-next' into linux-next
from git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git
In addition, this series depends on the following to apply cleanly:
https://patchwork.kernel.org/patch/1649621/
https://patchwork.kernel.org/patch/1663331/

This series allows the devfreq governors to be built as modules and switched
on the fly using sysfs controls (inspired by cpufreq's ability to do the same).

Tested on BeagleBoard XM(3730) with dummy driver[1]:

/sys/devices/platform/iva.0/devfreq/iva.0 # ls
available_frequencies governor power
available_governors max_freq subsystem
cur_freq min_freq target_freq
device polling_interval uevent
/sys/devices/platform/iva.0/devfreq/iva.0 # cat available_governors
simple_ondemand
/sys/devices/platform/iva.0/devfreq/iva.0 # modprobe governor_userspace
/sys/devices/platform/iva.0/devfreq/iva.0 # cat available_governors
userspace simple_ondemand
/sys/devices/platform/iva.0/devfreq/iva.0 #
/sys/devices/platform/iva.0/devfreq/iva.0 # echo -n "userspace">governor
/sys/devices/platform/iva.0/devfreq/iva.0 # ls
available_frequencies max_freq target_freq
available_governors min_freq uevent
cur_freq polling_interval userspace
device power
governor subsystem
/sys/devices/platform/iva.0/devfreq/iva.0 # cat governor
userspace
/sys/devices/platform/iva.0/devfreq/iva.0 # echo -n "simple_ondemand">governor
/sys/devices/platform/iva.0/devfreq/iva.0 # cat governor
simple_ondemand
/sys/devices/platform/iva.0/devfreq/iva.0 # ls
available_frequencies governor power
available_governors max_freq subsystem
cur_freq min_freq target_freq
device polling_interval uevent

Nishanth Menon (7):
PM / devfreq: export update_devfreq
PM / devfreq: provide hooks for governors to be registered
PM / devfreq: register governors with devfreq framework
PM / devfreq: map devfreq drivers to governor using name
PM / devfreq: governors: add GPL module license and allow module
build
PM / devfreq: allow sysfs governor node to switch governor
PM / devfreq: Add sysfs node to expose available governors

Documentation/ABI/testing/sysfs-class-devfreq | 9 +-
drivers/devfreq/Kconfig | 8 +-
drivers/devfreq/devfreq.c | 249 ++++++++++++++++++++++++-
drivers/devfreq/exynos4_bus.c | 2 +-
drivers/devfreq/governor.h | 4 +
drivers/devfreq/governor_performance.c | 22 ++-
drivers/devfreq/governor_powersave.c | 22 ++-
drivers/devfreq/governor_simpleondemand.c | 22 ++-
drivers/devfreq/governor_userspace.c | 22 ++-
include/linux/devfreq.h | 24 +--
10 files changed, 348 insertions(+), 36 deletions(-)

Cc: Rajagopal Venkat <rajagopal.venkat@xxxxxxxxxx>
Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
Cc: "Rafael J. Wysocki" <rjw@xxxxxxx>
Cc: Kevin Hilman <khilman@xxxxxx>
Cc: linux-pm@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx

[1] http://pastebin.pandaboard.org/index.php/view/85100576

Regards,
Nishanth Menon
--
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/