home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- export TUXONICE_LOC
- # TODO tuxonice supports all sorts of knobs to twiddle. Since this should be as
- # simple as possible, it does not provide a mechanism for twiddling those knobs.
- # If you need more customization than this file has, consider using a hook to
- # set the appropriate values.
-
- # more locations might be nice
- for loc in "/sys/power/tuxonice" "/sys/power/suspend2"; do
- [ -d "${loc}" ] && { TUXONICE_LOC="${loc}"; break; }
- done
-
- check_suspend()
- {
- grep -q mem /sys/power/state || [ -c /dev/pmu ]
- }
-
- do_suspend()
- {
- if grep -q mem /sys/power/state; then
- echo -n "mem" > /sys/power/state
- elif [ -c /dev/pmu ]; then
- check_suspend_pmu && do_suspend_pmu
- fi
- }
-
- check_hibernate()
- {
- [ -f "${TUXONICE_LOC}/do_hibernate" ]
- }
-
- do_hibernate()
- {
- echo 5 > "${TUXONICE_LOC}/powerdown_method"
- echo anything > "${TUXONICE_LOC}/do_hibernate"
- }
-
- check_suspend_hybrid()
- {
- grep -q mem /sys/power/state && \
- [ -f "${TUXONICE_LOC}/do_hibernate" ]
- }
- do_suspend_hybrid()
- {
- echo 3 >"${TUXONICE_LOC}/powerdown_method"
- echo anything >"${TUXONICE_LOC}/do_hibernate"
- }
-