summaryrefslogtreecommitdiffstats
path: root/etc/rc.suspend
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2003-12-30 17:28:06 +0000
committernjl <njl@FreeBSD.org>2003-12-30 17:28:06 +0000
commitdc92f60c73455d47a4f12fcc4033cda71d5e3010 (patch)
tree7df2978487882efbbd26988ce7aa085b9147d6fc /etc/rc.suspend
parentaf0a8468003fa6f8023d5ca404fc9a2b2a276057 (diff)
downloadFreeBSD-src-dc92f60c73455d47a4f12fcc4033cda71d5e3010.zip
FreeBSD-src-dc92f60c73455d47a4f12fcc4033cda71d5e3010.tar.gz
Add support for /etc/rc.suspend and /etc/rc.resume for ACPI. They are
called directly from acpiconf(8). Change both scripts to take a subsystem (apm|acpi) and sleep level (suspend,standby|1-5) argument.
Diffstat (limited to 'etc/rc.suspend')
-rwxr-xr-xetc/rc.suspend18
1 files changed, 15 insertions, 3 deletions
diff --git a/etc/rc.suspend b/etc/rc.suspend
index 8b3e4fa..8b02a0f 100755
--- a/etc/rc.suspend
+++ b/etc/rc.suspend
@@ -29,6 +29,14 @@
# sample run command file for APM Suspend Event
+if [ $# -ne 2 ]; then
+ echo "Usage: $0 [apm|acpi] [standby,suspend|1-5]"
+ exit 1
+fi
+
+subsystem=$1
+state=$2
+
if [ -r /var/run/rc.suspend.pid ]; then
exit 1
fi
@@ -40,11 +48,15 @@ echo $$ > /var/run/rc.suspend.pid
# pccardq | awk -F '~' '$5 == "filled" && $4 ~ /sio/ \
# { printf("pccardc power %d 0", $1); }' | sh
-logger -t apmd suspend at `date +'%Y%m%d %H:%M:%S'`
+# UHCI has trouble resuming so we just load/unload it. You
+# should add any other kernel modules you want unloaded here.
+# kldunload usb
+
+logger -t $subsystem suspend at `date +'%Y%m%d %H:%M:%S'`
sync && sync && sync
-sleep 3
+[ $subsystem = "apm" ] && sleep 3
rm -f /var/run/rc.suspend.pid
-zzz
+[ $subsystem = "apm" ] && zzz
exit 0
OpenPOWER on IntegriCloud