rc.pandora-state: Now puts a "Yes" into /tmp/nocleanwarn if the system has not shutdo...
[openpandora.oe.git] / recipes / pandora-system / pandora-state / rc.pandora-state
index 5534d58..7fd1de4 100644 (file)
 DESC="OpenPandora Save and Restore LCD Settings"
 NAME="pandora-state"
 
+. /usr/pandora/scripts/op_paths.sh
+
 d_stop() {
        echo "Saving Pandora specific settings"
-       bright=$(cat /sys/devices/platform/twl4030-pwm0-bl/backlight/twl4030-pwm0-bl/brightness)
+       bright=$(cat $SYSFS_BACKLIGHT_BRIGHTNESS)
        if [ $bright != "0" ]; then
-           cat /sys/devices/platform/twl4030-pwm0-bl/backlight/twl4030-pwm0-bl/brightness > /etc/pandora/conf/brightness.state
+           echo $bright > /etc/pandora/conf/brightness.state
        fi
-       cat /sys/devices/platform/omap2_mcspi.1/spi1.1/gamma > /etc/pandora/conf/gamma.state
+       touch /etc/pandora/shutdown
+       cat $SYSFS_GAMMA > /etc/pandora/conf/gamma.state
         cat -v /proc/pandora/nub0/mode | sed -n '1p' > /etc/pandora/conf/nubs.state
        cat -v /proc/pandora/nub0/mouse_sensitivity | sed -n '1p' >> /etc/pandora/conf/nubs.state
        cat -v /proc/pandora/nub0/scrollx_sensitivity | sed -n '1p' >> /etc/pandora/conf/nubs.state
@@ -34,11 +37,27 @@ d_stop() {
 
 d_start() {
        echo "Restoring Pandora specific settings"
+       bright=$(cat /etc/pandora/conf/brightness.state)
+       if [ "$bright" -gt "0" ]; then
+               echo $bright > $SYSFS_BACKLIGHT_BRIGHTNESS
+       fi
        cat /etc/pandora/conf/dirty_expire_centisecs >  /proc/sys/vm/dirty_expire_centisecs
-       cat /etc/pandora/conf/brightness.state > /sys/devices/platform/twl4030-pwm0-bl/backlight/twl4030-pwm0-bl/brightness 
-       cat /etc/pandora/conf/gamma.state > /sys/devices/platform/omap2_mcspi.1/spi1.1/gamma
-       filter=$(cat /etc/pandora/conf/filter.state)
-       /usr/pandora/scripts/op_videofir.sh $filter 
+       cat /etc/pandora/conf/gamma.state > $SYSFS_GAMMA
+       if [ -f /etc/pandora/conf/filter.state ]; then
+               filter=$(cat /etc/pandora/conf/filter.state)
+               /usr/pandora/scripts/op_videofir.sh $filter 
+       fi
+       cpuspeed="$(cat /etc/pandora/conf/cpu.conf | grep default | awk -F\: '{print $2}')"
+       oppmax="$(cat /etc/pandora/conf/cpu.conf | grep opp | awk -F\: '{print $2}')"
+       echo $oppmax > /proc/pandora/cpu_opp_max
+       if [ -f /etc/pandora/shutdown ]; then
+             rm /etc/pandora/shutdown
+             sync
+             /usr/pandora/scripts/op_cpuspeed.sh -n $cpuspeed
+       else
+             echo "No clean shutdown - will not set CPU speed"
+             echo "Yes" > /tmp/nocleanwarn
+       fi
        sed -n '1p' /etc/pandora/conf/nubs.state > /proc/pandora/nub0/mode
        sed -n '2p' /etc/pandora/conf/nubs.state > /proc/pandora/nub0/mouse_sensitivity
        sed -n '3p' /etc/pandora/conf/nubs.state > /proc/pandora/nub0/scrollx_sensitivity
@@ -51,6 +70,14 @@ d_start() {
        sed -n '10p' /etc/pandora/conf/nubs.state > /proc/pandora/nub1/scrolly_sensitivity
        sed -n '11p' /etc/pandora/conf/nubs.state > /proc/pandora/nub1/scroll_rate
        sed -n '12p' /etc/pandora/conf/nubs.state > /proc/pandora/nub1/mbutton_threshold
+       echo "Enabling ZRAM Swap"
+       mkswap /dev/zram0
+       swapon -p 5 /dev/zram0
+
+       # set audio powerdown delay (ms)
+       if [ -e /sys/devices/platform/soc-audio/PCM1773/pmdown_time ]; then
+               echo 60000 > /sys/devices/platform/soc-audio/PCM1773/pmdown_time
+       fi
 }
 
 case "$1" in