Skip to content
Commit e4c78869 authored by James Morse's avatar James Morse
Browse files

ACPI: Only enumerate acpi_device_is_present_and_enabled() devices



Today the ACPI enumeration code 'visits' all devices that are present.

This is a problem for arm64, where CPUs are always present, but not
always enabled. When a device-check occurs because the firmware-policy
has changed and a CPU is now enabled, the following error occurs:
| acpi ACPI0007:48: Enumeration failure

This is ultimately because acpi_dev_ready_for_enumeration() returns
true for a device that is not enabled. The ACPI Processor driver
will not register such CPUs.

Add acpi_device_is_present_and_enabled(), and use this in the
enumeration code.

It may be necessary to make this behaviour only occur for CPUs.
Its possible there are platforms 'out there' with broken firmware
that only reports devices as present, as this was previously
sufficient.

Signed-off-by: James Morse's avatarJames Morse <james.morse@arm.com>
parent 41ed437a
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment