ACPI: Change acpi_device_always_present() into acpi_device_override_status()
[ Upstream commit 1a68b346a2c9969c05e80a3b99a9ab160b5655c0 ] Currently, acpi_bus_get_status() calls acpi_device_always_present() to allow platform quirks to override the _STA return to report that a device is present (status = ACPI_STA_DEFAULT) independent of the _STA return. In some cases it might also be useful to have the opposite functionality and have a platform quirk which marks a device as not present (status = 0) to work around ACPI table bugs. Change acpi_device_always_present() into a more generic acpi_device_override_status() function to allow this. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
b029625063
commit
cda755506d
@@ -98,8 +98,8 @@ int acpi_bus_get_status(struct acpi_device *device)
|
||||
acpi_status status;
|
||||
unsigned long long sta;
|
||||
|
||||
if (acpi_device_always_present(device)) {
|
||||
acpi_set_device_status(device, ACPI_STA_DEFAULT);
|
||||
if (acpi_device_override_status(device, &sta)) {
|
||||
acpi_set_device_status(device, sta);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user