[haiku-development] Re: acpi_thinkpad: request for assistance

  • From: Michael Weirauch <dev@xxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 22 Nov 2009 23:54:59 +0100

2009/11/22 Fredrik Holmqvist <fredrik.holmqvist@xxxxxxxxx>:
> I've worked on the ACPI module and read its documentation quite a bit,
> but I don't know much of the EC controller or anything outside that
> module. I suspect that the embedded controller is a driver you are not
> supposed to be able to use. ACPI.h and the ACPI-module probably should
> provide what you need, but maybe lacking in the interface.

Yah, that's why I am really unsure if getting that driver reference is
actually "allowed". I am at least getting a pointer and can pass it on
for ACPI method evaluation... which then fails. Regarding integration
or lack thereof in the ACPI module, I can only tell of what I see
in the other drivers, that the EC handle (acpi_device) is used to
evaluate ACPI methods on. Can't tell much more ;)

> It might also be of interest that ACPI Embedded Controller still has
> some issues. It's a bit confused between acpi_status (ie AE_OK) and
> status_t (ie B_OK) types, and it seems to not fail gracefully when it
> can't acquire the lock, which can be seen by the bogus values in
> battery_status from time to time. Other OS's also seem to serialize
> the locked part by a mutex. (These are the only ACPI issues I know of
> though.)

I am at least still getting the "missing handler for region ECOR" at boot.
Not seen any global lock messages since a while, yet.

> I really don't know that much about this though. I'm not even sure why
> EC controller is not part of ACPI module, or if ACPI module can
> provide that functionality by default.

See end of first answer paragraph. Dunno if it could be "merged in" exposing
itself (it's handle) via the ACPI module.

Michael

Other related posts: