diff options
author | Cecil Hugh Watson <knoppmyth@gmail.com> | 2010-09-05 06:13:57 (GMT) |
---|---|---|
committer | Cecil Hugh Watson <knoppmyth@gmail.com> | 2010-09-05 06:13:57 (GMT) |
commit | b172f79fadb565ecfbcec9508f9377d8618a4f4c (patch) | |
tree | bf8823b07e3313c3afa000a9b31e4f9a735cb818 /abs/extra/cpufrequtils/cpufreq.rcd | |
parent | f9d54ab7c3853208484e304bc6cf40ab0f79d400 (diff) | |
parent | 5e7027c6194237ca1dc5fcbb3648483a970fb500 (diff) | |
download | linhes_pkgbuild-b172f79fadb565ecfbcec9508f9377d8618a4f4c.zip linhes_pkgbuild-b172f79fadb565ecfbcec9508f9377d8618a4f4c.tar.gz linhes_pkgbuild-b172f79fadb565ecfbcec9508f9377d8618a4f4c.tar.bz2 |
Merge branch 'HEAD' of ssh://cesman@knoppmyth.net/mount/repository/LinHES-PKGBUILD
Diffstat (limited to 'abs/extra/cpufrequtils/cpufreq.rcd')
-rw-r--r-- | abs/extra/cpufrequtils/cpufreq.rcd | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/abs/extra/cpufrequtils/cpufreq.rcd b/abs/extra/cpufrequtils/cpufreq.rcd new file mode 100644 index 0000000..9bc19b1 --- /dev/null +++ b/abs/extra/cpufrequtils/cpufreq.rcd @@ -0,0 +1,60 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +# source application-specific settings +[ -f /etc/conf.d/cpufreq ] && . /etc/conf.d/cpufreq + +case "$1" in + start) + stat_busy "Setting cpufreq governing rules" + + params="" + if [ -n "$governor" ]; then + mod="cpufreq_$governor" + params="-g $governor" + grep -qw "$governor" /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors || modprobe -q $mod + if [ $? -eq 0 ]; then + if [ "$min_freq" != "" ]; then + params="$params -d $min_freq" + fi + if [ "$max_freq" != "" ]; then + params="$params -u $max_freq" + fi + else + stat_busy " Cannot load governor module '$governor'" + stat_fail + exit + fi + fi + + if [ "$params" != "" ]; then + CPUS=$(sed -ne 's/^processor.* \([0-9]\+\)$/\1/p' /proc/cpuinfo) + stat_append ", cpu" + for cpu in $CPUS; do + stat_append " $cpu" + cpufreq-set -c $cpu $params + if [ "$freq" != "" ]; then + cpufreq-set -c $cpu -f $freq + fi + done + stat_done + else + stat_busy " Invalid configuration in /etc/conf.d/cpufreq" + stat_fail + fi + ;; + stop) + # nothing to do + ;; + restart) + $0 start + ;; + set) + # TODO: make callable... "cpufreq set 800MHz" + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 |