diff options
author | Lv Zheng <lv.zheng@intel.com> | 2017-08-17 04:21:12 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2017-08-18 15:12:10 +0200 |
commit | 69b957c26b32c3407d1b8cc0d2390b271728db8a (patch) | |
tree | 7099d3ece760d58cb19d65782fb0b6edccf3bfe9 /scripts/const_structs.checkpatch | |
parent | ACPI / scan: Enable GPEs before scanning the namespace (diff) | |
download | linux-69b957c26b32c3407d1b8cc0d2390b271728db8a.tar.xz linux-69b957c26b32c3407d1b8cc0d2390b271728db8a.zip |
ACPI: EC: Fix possible issues related to EC initialization order
Use the observation that the EC command/data register addresses are
sufficient to determine if two EC devices are equivelent to modify
acpi_is_boot_ec().
Then, for the removed comparison factors, EC ID and EC GPE, they need
to be synchronized for the boot_ec:
1. Before registering the BIOS-provided EC event handlers in
acpi_ec_register_query_methods(), the namespace node holding
_Qxx methods should be located. The real namespace PNP0C09
device location then is apparently more trustworthy than the
ECDT EC ID.
2. Because of the ASUS quirks, the ECDT EC GPE is more trustworthy
than the namespace PNP0C09 device's _GPE setting.
Use the above observations to synchronize the boot_ec settings in
acpi_ec_add().
Finally, change the order of acpi_ec_ecdt_start() and acpi_ec_add(),
called from acpi_bus_register_driver(), so as to follow the fast path
of determining the location of _Qxx.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
[ rjw : Changelog & comments ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'scripts/const_structs.checkpatch')
0 files changed, 0 insertions, 0 deletions