Added extra/cpufrequtils

This commit is contained in:
Kevin Mihelich 2011-05-28 18:26:29 -04:00
parent 06010aa627
commit ade57e1369
3 changed files with 111 additions and 0 deletions

View file

@ -0,0 +1,37 @@
# $Id: PKGBUILD 85780 2010-07-19 14:39:52Z kevin $
# Maintainer: kevin <kevin@archlinux.org>
# Contributor: phrakture <aaronmgriffin+gmail+com>
# Contributor: SpepS <dreamspepser at yahoo dot it>
# ALARM: Kevin Mihelich <kevin@plugapps.com>
# - no changes, this older version works with ARM though
plugrel=1
pkgname=cpufrequtils
pkgver=007
pkgrel=1
pkgdesc="Userspace tools for the kernel cpufreq subsystem"
arch=('i686' 'x86_64')
url="http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils.html"
license=('GPL')
depends=('sysfsutils')
backup=('etc/conf.d/cpufreq')
source=(http://www.kernel.org/pub/linux/utils/kernel/cpufreq/${pkgname}-${pkgver}.tar.bz2
cpufreq.rcd
cpufreq.confd)
options=(!libtool !distcc)
md5sums=('c59b71c044d463896f3247e8dd83dd7e'
'7f2b5085df44d2df3e7c2d0b9f6dab08'
'baae1f2abffc6bef2bd32a8dd8263c09')
build()
{
cd "${srcdir}/${pkgname}-${pkgver}"
make -j1 || return 1
make INSTALL="/bin/install -c" mandir=/usr/share/man DESTDIR="${pkgdir}" install || return 1
install -D -m755 ${srcdir}/cpufreq.rcd "${pkgdir}/etc/rc.d/cpufreq" || return 1
install -D -m644 ${srcdir}/cpufreq.confd "${pkgdir}/etc/conf.d/cpufreq" || return 1
}

View file

@ -0,0 +1,14 @@
#configuration for cpufreq control
# valid governors:
# ondemand, performance, powersave,
# conservative, userspace
#governor="ondemand"
# limit frequency range (optional)
# valid suffixes: Hz, kHz (default), MHz, GHz, THz
#min_freq="2.25GHz"
#max_freq="3GHz"
# use freq to set up the exact cpu frequency using it with userspace governor
#freq=

View file

@ -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