RE: gpe-handler / acpi on ASUSL2400D

Grover, Andrew
2003-03-26T18:57:29Z

> From: Sebastian Thias [mailto:post-OXl1b/uZKHizQB+pC5nmwQ@public.gmane.org]
> i'm a newbie on both acpi- and kernel-programming.
> I've got an ASUSL2400D-laptop and kenel 2.5.65.

Sounds like you're a quick learner. :)

> Upon pressing one of my laptops hotkeys, I receive an error
> message about
> a missing gpe-handler.
> After fiddling a bit, I wrote a module that installs a
> gpe-handler for 0x1D
> (the one triggered by my hotkeys). The handler calls
> "\_GPE._L1D" (using
> acpi_evaluate_object ...). Only then can I receive notify-events for
> "\_SB_.HOTK" and only then buttons like switching
> LCD-Backlights off or
> changing the brightness work.
>
> My question: Why do I have to install a gpe-handler by myself
> if there is
> a mehod "\_GPE._L1D" in dsdt. Is that the usual way to do such things?

Is the button driver installed?

The usual way is that you have a driver (e.g. for the lid button) that
registers for notifications on the lid device. When the lid button is
pressed, it generates a GPE, which the lid driver finds out about
because the core calls the GPE method associated with the GPE (e.g.
_L1D) and that method does a Notify() on the lid device. The lid device
gets the notification and tells power policy via /proc/acpi/event.

I'm not quite clear what is happening in your case. Can you elaborate
further?

Regards -- Andy