PCI: acpiphp_ibm: prepare for acpi_get_object_info() no longer returning status
acpi_get_object_info() is intended for early probe usage and as such should not call any methods which may rely on OpRegions, but it used to also call _STA to get the status, which on some systems does rely on OpRegions, this behavior and the acpi_device_info.current_status member are being removed. This commit prepares the acpiphp_ibm code for this by having it get the status itself using acpi_bus_get_status_handle(). Note no error handling is necessary on any errors acpi_bus_get_status_handle() leaves the value of the passed in current_status at its 0 initialization value. Acked-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
5a98231f55
commit
b0fd6772cf
@ -399,6 +399,7 @@ static acpi_status __init ibm_find_acpi_device(acpi_handle handle,
|
||||
u32 lvl, void *context, void **rv)
|
||||
{
|
||||
acpi_handle *phandle = (acpi_handle *)context;
|
||||
unsigned long long current_status = 0;
|
||||
acpi_status status;
|
||||
struct acpi_device_info *info;
|
||||
int retval = 0;
|
||||
@ -410,7 +411,9 @@ static acpi_status __init ibm_find_acpi_device(acpi_handle handle,
|
||||
return retval;
|
||||
}
|
||||
|
||||
if (info->current_status && (info->valid & ACPI_VALID_HID) &&
|
||||
acpi_bus_get_status_handle(handle, ¤t_status);
|
||||
|
||||
if (current_status && (info->valid & ACPI_VALID_HID) &&
|
||||
(!strcmp(info->hardware_id.string, IBM_HARDWARE_ID1) ||
|
||||
!strcmp(info->hardware_id.string, IBM_HARDWARE_ID2))) {
|
||||
pr_debug("found hardware: %s, handle: %p\n",
|
||||
|
Loading…
x
Reference in New Issue
Block a user