The so-called "wakedev" code might be broken for a short while. The reasons are listed below.
- Jukka. On Thu, Feb 17, 2011 at 10:49:30AM +0000, Jukka Ruohonen wrote: > Module Name: src > Committed By: jruoho > Date: Thu Feb 17 10:49:30 UTC 2011 > > Modified Files: > src/sys/dev/acpi: acpi_ec.c acpi_wakedev.c > > Log Message: > ACPICA 20101209: > > Completed the major overhaul of the GPE support code that was begun in July > 2010. Major features include: removal of _PRW execution in ACPICA (host > executes _PRWs anyway), cleanup of "wake" GPE interfaces and processing, > changes to existing interfaces, simplification of GPE handler operation, and > a handful of new interfaces: > > AcpiUpdateAllGpes > AcpiFinishGpe > AcpiSetupGpeForWake > AcpiSetGpeWakeMask > > ACPICA 20100331: > > Completed a major update for the GPE support in order to improve support for > shared GPEs and to simplify both host OS and ACPICA code. Added a reference > count mechanism to support shared GPEs that require multiple device drivers. > Several external interfaces have changed. One external interface has been > removed. One new external interface was added. Most of the GPE external > interfaces now use the GPE spinlock instead of the events mutex (and the > Flags parameter for many GPE interfaces has been removed.) See the updated > ACPICA Programmer Reference for details. Matthew Garrett, Bob Moore, Rafael > Wysocki. ACPICA BZ 831. > > Changed: > AcpiEnableGpe, AcpiDisableGpe, AcpiClearGpe, AcpiGetGpeStatus > Removed: > AcpiSetGpeType > New: > AcpiSetGpe > > ACPICA 20100702: > > Implemented several updates to the recently added GPE reference count > support. The model for "wake" GPEs is changing to give the host OS complete > control of these GPEs. Eventually, the ACPICA core will not execute any _PRW > methods, since the host already must execute them. Also, additional changes > were made to help ensure that the reference counts are kept in proper > synchronization with reality. Rafael J. Wysocki. > > 1) Ensure that GPEs are not enabled twice during initialization. > 2) Ensure that GPE enable masks stay in sync with the reference count. > 3) Do not inadvertently enable GPEs when writing GPE registers. > 4) Remove the internal wake reference counter and add new AcpiGpeWakeup > interface. This interface will set or clear individual GPEs for wakeup. > 5) Remove GpeType argument from AcpiEnable and AcpiDisable. These interfaces > are now used for "runtime" GPEs only. > > > To generate a diff of this commit: > cvs rdiff -u -r1.68 -r1.69 src/sys/dev/acpi/acpi_ec.c > cvs rdiff -u -r1.20 -r1.21 src/sys/dev/acpi/acpi_wakedev.c > > Please note that diffs are not public domain; they are subject to the > copyright notices on the relevant files. >