summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/linux-libre-tools/PKGBUILD8
-rw-r--r--libre/linux-libre-tools/cpupower.pmutils37
2 files changed, 43 insertions, 2 deletions
diff --git a/libre/linux-libre-tools/PKGBUILD b/libre/linux-libre-tools/PKGBUILD
index 9708d9b1a..dfcb95561 100644
--- a/libre/linux-libre-tools/PKGBUILD
+++ b/libre/linux-libre-tools/PKGBUILD
@@ -8,7 +8,7 @@ _basekernel=3.5
#_sublevel=1
#pkgver=${_basekernel}.${_sublevel}
pkgver=${_basekernel}
-pkgrel=3
+pkgrel=4
license=('GPL2')
arch=('i686' 'x86_64' 'mips64el')
url='http://linux-libre.fsfla.org/'
@@ -29,6 +29,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'cpupower.rc'
'cpupower.systemd'
'cpupower.service'
+ 'cpupower.pmutils'
'usbipd.conf'
'usbipd.rc'
'usbipd.service')
@@ -37,6 +38,7 @@ md5sums=('2407fc9563a74acaf38aa0c06516eb1c'
'1d9214637968b91706b6e616a100d44b'
'c0d17b5295fe964623c772a2dd981771'
'2450e8ff41b30eb58d43b5fffbfde1f4'
+ '1c2743ce57b56e16feec86a8b49f3391'
'e8fac9c45a628015644b4150b139278a'
'8a3831d962ff6a9968c0c20fd601cdec'
'ba7c1c513314dd21fb2334fb8417738f')
@@ -113,11 +115,13 @@ package_cpupower-libre() {
docdir='/usr/share/doc/cpupower' \
install install-man
popd
- # install daemon scripts
+ # install startup scripts
install -Dm 755 cpupower.rc "$pkgdir/etc/rc.d/cpupower"
install -Dm 644 cpupower.conf "$pkgdir/etc/conf.d/cpupower"
install -Dm 644 cpupower.service "$pkgdir/usr/lib/systemd/system/cpupower.service"
install -Dm 755 cpupower.systemd "$pkgdir/usr/lib/systemd/scripts/cpupower"
+ # install pm-utils hook
+ install -Dm 755 cpupower.pmutils "$pkgdir/usr/lib/pm-utils/power.d/cpupower"
}
package_x86_energy_perf_policy-libre() {
diff --git a/libre/linux-libre-tools/cpupower.pmutils b/libre/linux-libre-tools/cpupower.pmutils
new file mode 100644
index 000000000..fb93cd7c1
--- /dev/null
+++ b/libre/linux-libre-tools/cpupower.pmutils
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+[[ -x /usr/bin/cpupower ]] || exit $NA
+
+CPUPOWER_GOVERNOR_AC=${CPUPOWER_GOVERNOR_AC:-ondemand}
+CPUPOWER_GOVERNOR_BAT=${CPUPOWER_GOVERNOR_BAT:-conservative}
+
+help() {
+ cat <<EOF
+--------
+$0: Select cpupower frequency governor.
+
+Parameters:
+CPUPOWER_GOVERNOR_AC = Governor to use on AC.
+Defaults to ondemand.
+
+CPUPOWER_GOVERNOR_BAT = Governor to use on battery.
+Defaults to conservative.
+
+EOF
+}
+
+cpupow() {
+ printf 'Setting cpupower frequency governor to %s...' "$1"
+ cpupower -c all frequency-set -g "$1"
+}
+
+case $1 in
+ true) cpupow "$CPUPOWER_GOVERNOR_BAT" ;;
+ false) cpupow "$CPUPOWER_GOVERNOR_AC" ;;
+ help) help;;
+ *) exit $NA ;;
+esac
+
+exit 0
+
+# vim:set ts=2 sw=2 ft=sh et: