#31 BLOC Trial-2: OHM Power Manager for OLPC laptops
Zarro Boogs per Child
bugtracker at laptop.org
Wed Jul 11 10:55:43 EDT 2007
#31: OHM Power Manager for OLPC laptops
-----------------------------+----------------------------------------------
Reporter: jg | Owner: hughsient at gmail.com
Type: task | Status: new
Priority: blocker | Milestone: Trial-2
Component: infrastructure | Version:
Resolution: | Keywords: power
Verified: 0 |
-----------------------------+----------------------------------------------
Comment (by cjb):
Hi Richard,
Replying to [comment:23 hughsient at gmail.com]:
> > * power button support -- we should suspend whenever the power button
is pressed
>
> I'll do this today. I guess it's exposed in HAL as a button of type
power.
(See below about us probably needing a kernel change here.)
> > * lid event -- we should suspend *and* set the dcon to "sleep" mode
via sysfs on lid close
>
> How to set dcon to sleep and suspend? What's the _exact_ commands on a
B3?
DCON sleep is:
{{{
echo 1 > /sys/devices/platform/dcon # sleep
echo 0 > /sys/devices/platform/dcon # wake
}}}
And, CPU suspend is the usual:
{{{
echo mem > /sys/power/state
}}}
> > * ebook event -- we should `xrandr -o left` on ebook=1, `xrandr -o
normal` on ebook=0
>
> What is the ebook event - a HAL button press or dbus api?
Lid and ebook are already being broadcast by HAL as the appropriate
signals: if you install the latest build and close/open lid and
flip/unflip into ebook, lshal --monitor gives:
{{{
-bash-3.2# lshal --monitor
Start monitoring devicelist:
-------------------------------------------------
14:56:51.815: computer_logicaldev_input_0 property button.state.value =
true
14:56:51.822: computer_logicaldev_input_0 condition ButtonPressed = lid
14:56:52.389: computer_logicaldev_input_0 property button.state.value =
false
14:56:52.397: computer_logicaldev_input_0 condition ButtonPressed = lid
14:56:56.328: computer_logicaldev_input_1 property button.state.value =
true
14:56:56.429: computer_logicaldev_input_1 condition ButtonPressed =
tablet_mode
14:56:57.370: computer_logicaldev_input_1 property button.state.value =
false
14:56:57.377: computer_logicaldev_input_1 condition ButtonPressed =
tablet_mode
}}}
> Can we do the xranr stuff in c bindings rather than run a command - it
would be much faster.
That sounds fine, though I don't have sample code for doing it with the
bindings, and would be happy with getting the exec going now and
optimizing it later given our time constraints. Whichever you prefer.
> > HAL doesn't currently see/broadcast the power button -- maybe that's
because X uses the grab ioctl on the pm_inputdev device, which would mean
we need to split out the power button into its own (correctly labeled)
device like we did with lid and ebook. That's a simple kernel patch; if
we need to do that, I can get it done quickly.
>
> Yup, it needs to be a separate device, ala ACPI.
Yeah, makes sense. I'll get a kernel RPM with the extra device for the
lid switch ready for when you get in tomorrow.
> I'll make this stuff priority one this morning.
You rock. :) Thanks so much!
--
Ticket URL: <http://dev.laptop.org/ticket/31#comment:24>
One Laptop Per Child <http://laptop.org/>
More information about the Bugs
mailing list