diff options
author | njl <njl@FreeBSD.org> | 2003-07-20 00:48:38 +0000 |
---|---|---|
committer | njl <njl@FreeBSD.org> | 2003-07-20 00:48:38 +0000 |
commit | deb4e4e45d423e7f9261bf8c8bb4d0bc72f6bd3f (patch) | |
tree | ad0d19ed61297cf7c839124550ebdce86fb87353 /sys/dev/acpica/acpi.c | |
parent | 19915e4c5eac3b5d4c390f00c7464db33eca0865 (diff) | |
download | FreeBSD-src-deb4e4e45d423e7f9261bf8c8bb4d0bc72f6bd3f.zip FreeBSD-src-deb4e4e45d423e7f9261bf8c8bb4d0bc72f6bd3f.tar.gz |
Add ECDT (ACPI 2.0) support. This allows the EC to be enabled before the
namespace has been evaluated. Machines with ACPI 2.0 expect this behavior
and have AML which calls EC functions early in the boot process. If the
ECDT is not available, fall back to original probe behavior.
Other minor changes:
* Add GPE bit and GLK usage to the device announcement
* Always use the global lock in the ECDT case, but potentially downgrade to
not using it if _GLK is 0 once the namespace is available. This is
announced with "Changing GLK from 1 to 0"
* Remove the acpi_object_list definitions which were earlier deprecated
Ideas from: takawata
Diffstat (limited to 'sys/dev/acpica/acpi.c')
-rw-r--r-- | sys/dev/acpica/acpi.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c index 2b890d9..ca361de 100644 --- a/sys/dev/acpica/acpi.c +++ b/sys/dev/acpica/acpi.c @@ -383,6 +383,12 @@ acpi_attach(device_t dev) goto out; } + /* + * Call the ECDT probe function to provide EC functionality before + * the namespace has been evaluated. + */ + acpi_ec_ecdt_probe(dev); + if (ACPI_FAILURE(status = AcpiInitializeObjects(flags))) { device_printf(dev, "could not initialize ACPI objects: %s\n", AcpiFormatException(status)); goto out; |