diff options
author | koneu | 2016-09-10 14:06:18 +0200 |
---|---|---|
committer | koneu | 2016-09-10 14:17:32 +0200 |
commit | b040a6bd95d6d29cfe0d18bf8603114cce9df849 (patch) | |
tree | b8c7b7a5b436d616e691f2e9b1763783773a8f4b | |
download | aur-b040a6bd95d6d29cfe0d18bf8603114cce9df849.tar.gz |
init
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | PKGBUILD | 21 | ||||
-rwxr-xr-x | power.sh | 19 | ||||
-rw-r--r-- | power.sh.rules | 3 | ||||
-rw-r--r-- | power.sh.service | 4 | ||||
-rw-r--r-- | power.sh.sleep.service | 10 |
6 files changed, 76 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..754a0a0d9958 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,19 @@ +pkgbase = power.sh + pkgdesc = tiny automated power settings + pkgver = 1 + pkgrel = 1 + arch = any + license = CC0 + depends = systemd + depends = sh + source = power.sh + source = power.sh.rules + source = power.sh.service + source = power.sh.sleep.service + md5sums = 33a7b13b276192125f5f3ec64cac759a + md5sums = e75bf13f0d7bc46dd03db58905013cd0 + md5sums = 5f814dc5093bef00dfc3c96f70f90e26 + md5sums = 07a8380291782b467d60bc6b78769120 + +pkgname = power.sh + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..99c42d743c7a --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,21 @@ +# Maintainer: koneu <koneu93 at googlemail dot com> + +pkgname='power.sh' +pkgver='1' +pkgrel=1 +pkgdesc='tiny automated power settings' +license=('CC0') +source=('power.sh' 'power.sh.rules' 'power.sh.service' 'power.sh.sleep.service') +depends=('systemd' 'sh') +arch=('any') +md5sums=('33a7b13b276192125f5f3ec64cac759a' + 'e75bf13f0d7bc46dd03db58905013cd0' + '5f814dc5093bef00dfc3c96f70f90e26' + '07a8380291782b467d60bc6b78769120') + +package() { + install -Dm755 "${srcdir}/power.sh" "${pkgdir}/usr/share/power.sh" + install -Dm644 "${srcdir}/power.sh.rules" "${pkgdir}/usr/lib/udev/rules.d/power.sh.rules" + install -Dm644 "${srcdir}/power.sh.service" "${pkgdir}/usr/lib/systemd/system/power.sh.service" + install -Dm644 "${srcdir}/power.sh.sleep.service" "${pkgdir}/usr/lib/systemd/system/sleep.target.wants/power.sh.sleep.service" +} diff --git a/power.sh b/power.sh new file mode 100755 index 000000000000..1385f3ee0633 --- /dev/null +++ b/power.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +case "$1" in + 1) + echo 'min_power' | tee /sys/class/scsi_host/*/link_power_management_policy + echo '1' | tee /sys/module/snd_hda_intel/parameters/power_save_controller \ + /sys/module/*/parameters/power_save 2>/dev/null + echo 'auto' | tee /sys/bus/*/devices/*/power/control \ + /sys/bus/*/devices/*/device/power/control + ;; + + 0) + echo 'max_performance' | tee /sys/class/scsi_host/*/link_power_management_policy + echo '0' | tee /sys/module/snd_hda_intel/parameters/power_save_controller \ + /sys/module/*/parameters/power_save 2>/dev/null + echo 'on' | tee /sys/bus/*/devices/*/power/control \ + /sys/bus/*/devices/*/device/power/control + ;; +esac >/dev/null diff --git a/power.sh.rules b/power.sh.rules new file mode 100644 index 000000000000..c36bc0b03f61 --- /dev/null +++ b/power.sh.rules @@ -0,0 +1,3 @@ +SUBSYSTEM=="usb", ACTION=="add", ATTR{power/wakeup}=="disabled", ATTR{power/wakeup}="enabled" +SUBSYSTEM=="power_supply", ATTR{online}=="0", RUN+="/usr/bin/systemctl start power.sh.service" +SUBSYSTEM=="power_supply", ATTR{online}=="1", RUN+="/usr/bin/systemctl stop power.sh.service" diff --git a/power.sh.service b/power.sh.service new file mode 100644 index 000000000000..ae3adeef3a28 --- /dev/null +++ b/power.sh.service @@ -0,0 +1,4 @@ +[Service] +ExecStart=/usr/bin/sh -c '/usr/bin/udevadm settle; /usr/share/power.sh 1' +ExecStop=/usr/share/power.sh 0 +RemainAfterExit=yes diff --git a/power.sh.sleep.service b/power.sh.sleep.service new file mode 100644 index 000000000000..2a778e6d5ef1 --- /dev/null +++ b/power.sh.sleep.service @@ -0,0 +1,10 @@ +[Unit] +Requisite=power.sh.service +After=power.sh.service +Before=sleep.target +StopWhenUnneeded=yes +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/share/power.sh 0 +ExecStop=/usr/share/power.sh 1 |