mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-18 22:54:00 +00:00
60 lines
1.2 KiB
Bash
60 lines
1.2 KiB
Bash
#!/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
|