summaryrefslogtreecommitdiff
blob: 01ef556bb71e42e8a3f06ae1726505b498a5d297 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/sbin/runscript
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-power/cpupower/files/init.d,v 1.1 2013/04/23 01:48:26 ssuominen Exp $

change() {
	local c ret=0 opts="$1"
	shift
	ebegin "Running cpupower -c all frequency-set ${opts}"
		cpupower -c all frequency-set ${opts} >/dev/null 2>&1
		: $(( ret += $? ))
	eend ${ret}

	if [ $# -gt 0 ] ; then
		c=1
		einfo "Setting extra options: $*"
		if cd /sys/devices/system/cpu/cpufreq ; then
			local o v
			for o in "$@" ; do
				v=${o#*=}
				o=${o%%=*}
				echo ${v} > ${o} || break
			done
			c=0
		fi
		eend ${c}
		: $(( ret += c ))
	fi

	return ${ret}
}

start() {
	change "${START_OPTS}"
}

stop() {
	change "${STOP_OPTS}"
}