Power Management Tips: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (Reverted edits by 209.200.52.73 (Talk); changed back to last version by Xavi) |
||
Line 12: | Line 12: | ||
struct input_event ev; |
struct input_event ev; |
||
input_fd = open("/dev/input/event0", O_RDONLY); |
input_fd = open("/dev/input/event0", O_RDONLY); |
||
read(input_fd, |
read(input_fd, &event, sizeof(struct input_event)); |
||
if (ev.type == EV_SW && ev.code == SW_LID) { |
|||
if (ev.value == 1) |
|||
lid_down(); |
|||
else |
|||
lid_up(); |
|||
} |
|||
=== DCON sleep === |
|||
The [[DCON]] can be put to sleep (ie - blanked). This is useful for those times when the system should stay up, but the [[DCON]] is drawing too much power. To put it to sleep: |
|||
echo "1" > /sys/devices/platform/dcon/sleep |
|||
and to wake back up: |
|||
echo "0" > /sys/devices/platform/dcon/sleep |
|||
This is particularly useful when combined with the lid events (above). |
|||
[[Category:Software development]] |
|||
[[Category:Battery & Power]] |
Revision as of 19:15, 9 July 2007
Power Management Tips and Tricks
These are tips and tricks for saving power on the XO platform.
Lid events
Starting with the B2 platform, we now have the capability to get events when the lid is closed and opened. The events can be collected along with the power button event from the geode_pm input device. Here is a bit of pseudo code for doing that:
#include <linux/event.h> struct input_event ev; input_fd = open("/dev/input/event0", O_RDONLY); read(input_fd, &event, sizeof(struct input_event)); if (ev.type == EV_SW && ev.code == SW_LID) { if (ev.value == 1) lid_down(); else lid_up(); }
DCON sleep
The DCON can be put to sleep (ie - blanked). This is useful for those times when the system should stay up, but the DCON is drawing too much power. To put it to sleep:
echo "1" > /sys/devices/platform/dcon/sleep
and to wake back up:
echo "0" > /sys/devices/platform/dcon/sleep
This is particularly useful when combined with the lid events (above).