summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-laptop/tpacpi-bat/files/tpacpi-bat.initd.2')
-rw-r--r--app-laptop/tpacpi-bat/files/tpacpi-bat.initd.276
1 files changed, 76 insertions, 0 deletions
diff --git a/app-laptop/tpacpi-bat/files/tpacpi-bat.initd.2 b/app-laptop/tpacpi-bat/files/tpacpi-bat.initd.2
new file mode 100644
index 000000000000..796b94a8009f
--- /dev/null
+++ b/app-laptop/tpacpi-bat/files/tpacpi-bat.initd.2
@@ -0,0 +1,76 @@
+#!/sbin/openrc-run
+# Copyright (C) 2012-2013 Christoph Junghans <ottxor@gentoo.org>
+#
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+extra_started_commands="low high info"
+
+depend() {
+ after modules
+}
+
+start() {
+ local state1
+
+ ebegin "Making sure that module 'acpi_call' is loaded"
+ modprobe acpi_call
+ state1=$?
+ eend ${state1}
+
+ [ "${state1}" -ne "0" ] && return 1
+
+ ebegin "Starting ${SVCNAME}"
+ set_all ${TPACPI_BAT_THRESH_START} ${TPACPI_BAT_THRESH_STOP}
+ eend $?
+}
+
+stop() {
+ einfo "Nothing required to be done to stop ${SVCNAME}"
+}
+
+require_started() {
+ if ! service_started; then
+ "${RC_SERVICE}" start || return $?
+ fi
+}
+
+high() {
+ require_started
+
+ einfo "Switching ${SVCNAME} to high thesholds"
+ set_all ${TPACPI_BAT_HIGH_THRESH_START} ${TPACPI_BAT_HIGH_THRESH_STOP}
+}
+
+low() {
+ require_started
+
+ einfo "Switching ${SVCNAME} to low thesholds"
+ set_all ${TPACPI_BAT_LOW_THRESH_START} ${TPACPI_BAT_LOW_THRESH_STOP}
+}
+
+set_all() {
+ local tstart=$1
+ local tstop=$2
+ local bat
+
+ for bat in ${BATS}; do
+ ebegin " setting thresholds for ${bat}: $tstart $tstop"
+ /usr/bin/tpacpi-bat -s startThreshold ${bat} ${tstart}
+ /usr/bin/tpacpi-bat -s stopThreshold ${bat} ${tstop}
+ eend $?
+ done
+}
+
+info() {
+ local tstart
+ local tstop
+ local bat
+
+ require_started
+
+ for bat in ${BATS}; do
+ tstart=$(/usr/bin/tpacpi-bat -g startThreshold ${bat})
+ tstop=$(/usr/bin/tpacpi-bat -g stopThreshold ${bat})
+ einfo "Battery ${bat}: ${tstart} ${tstop}"
+ done
+}