From: Dax Kelson <dax@gurulabs.com>



 Documentation/laptop-mode.txt |   47 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 47 insertions(+)

diff -puN Documentation/laptop-mode.txt~laptop-mode-doc-update Documentation/laptop-mode.txt
--- 25/Documentation/laptop-mode.txt~laptop-mode-doc-update	2004-01-05 11:11:31.000000000 -0800
+++ 25-akpm/Documentation/laptop-mode.txt	2004-01-05 11:11:31.000000000 -0800
@@ -126,8 +126,11 @@ Please note that this control script wor
 # start or stop laptop_mode, best run by a power management daemon when
 # ac gets connected/disconnected from a laptop
 #
+# install as /sbin/laptop_mode
+#
 # Contributors to this script:   Kiko Piris
 #				 Bart Samwel
+#				 Dax Kelson
 # Original Linux 2.4 version by: Jens Axboe
 
 parse_mount_opts () {
@@ -203,6 +206,7 @@ case "$1" in
 					"ext3")		mount $DEV -t $FST $MP -o remount,$PARSEDOPTS,commit=$MAX_AGE ;;
 					"reiserfs")	mount $DEV -t $FST $MP -o remount,$PARSEDOPTS,commit=$MAX_AGE ;;
 					"xfs")		mount $DEV -t $FST $MP -o remount,$PARSEDOPTS,commit=$MAX_AGE ;;
+				esac
 			done
 		fi
 		echo "."
@@ -246,7 +250,50 @@ exit 0
 
 --------------------CONTROL SCRIPT END--------------------------------------------
 
+Dax Kelson submitted this so that the ACPI acpid daemon will
+kick off the laptop_mode script and run hdparm.
 
+---------------------------/etc/acpi/events/ac_adapter BEGIN-------------------------------------------
+event=ac_adapter
+action=/etc/acpi/actions/battery.sh
+---------------------------/etc/acpi/events/ac_adapter END-------------------------------------------
+
+---------------------------/etc/acpi/actions/battery.sh BEGIN-------------------------------------------
+#!/bin/sh
+
+# cpu throttling
+# cat /proc/acpi/processor/CPU0/throttling for more info
+ACAD_THR=0
+BATT_THR=2
+
+# spindown time for HD (man hdparm for valid values)
+# I prefer 2 hours for acad and 20 seconds for batt
+ACAD_HD=244
+BATT_HD=4
+
+# ac/battery event handler
+
+status=`awk '/^state: / { print $2 }' /proc/acpi/ac_adapter/AC/state`
+
+case $status in
+        "on-line")
+                echo "Setting HD spindown to 2 hours"
+                /sbin/laptop-mode stop
+                /sbin/hdparm -S $ACAD_HD /dev/hda > /dev/null 2>&1
+                /sbin/hdparm -B 255 /dev/hda > /dev/null 2>&1
+                #echo -n $ACAD_CPU:$ACAD_THR > /proc/acpi/processor/CPU0/limit
+                exit 0
+        ;;
+        "off-line")
+                echo "Setting HD spindown to 20 seconds"
+                /sbin/laptop-mode start
+                /sbin/hdparm -S $BATT_HD /dev/hda > /dev/null 2>&1
+                /sbin/hdparm -B 1 /dev/hda > /dev/null 2>&1
+                #echo -n $BATT_CPU:$BATT_THR > /proc/acpi/processor/CPU0/limit
+                exit 0
+        ;;
+esac
+---------------------------/etc/acpi/actions/battery.sh END-------------------------------------------
 
 Monitoring tool
 ---------------

_