ACPI: EC: Use fast path in acpi_ec_add() for DSDT boot EC
If the boot EC comes from the DSDT, its ACPI handle is equal to the handle of a device object with the PNP0C09 device ID. If that device object is passed to acpi_ec_add(), it is not necessary to allocate a new EC structure for it and parse it, because that has been done already, so change the function to use the fast path in that case. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
e3cfabcd73
commit
3d9b8dd832
|
@ -1611,7 +1611,8 @@ static int acpi_ec_add(struct acpi_device *device)
|
||||||
strcpy(acpi_device_name(device), ACPI_EC_DEVICE_NAME);
|
strcpy(acpi_device_name(device), ACPI_EC_DEVICE_NAME);
|
||||||
strcpy(acpi_device_class(device), ACPI_EC_CLASS);
|
strcpy(acpi_device_class(device), ACPI_EC_CLASS);
|
||||||
|
|
||||||
if (!strcmp(acpi_device_hid(device), ACPI_ECDT_HID)) {
|
if ((boot_ec && boot_ec->handle == device->handle) ||
|
||||||
|
!strcmp(acpi_device_hid(device), ACPI_ECDT_HID)) {
|
||||||
/* Fast path: this device corresponds to the boot EC. */
|
/* Fast path: this device corresponds to the boot EC. */
|
||||||
ec = boot_ec;
|
ec = boot_ec;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue