summaryrefslogtreecommitdiffstats
path: root/include/acpi
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2018-03-14 16:13:03 -0700
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2018-03-18 18:52:00 +0100
commite7c2c3c909c0bda8ebebfc0a11c3d94745e9b043 (patch)
tree2b4e29777f475ec72ba92ee01c9cc58ff23de410 /include/acpi
parent816772412101bd41fdab01aa7ce575b3a6392cd4 (diff)
downloadop-kernel-dev-e7c2c3c909c0bda8ebebfc0a11c3d94745e9b043.zip
op-kernel-dev-e7c2c3c909c0bda8ebebfc0a11c3d94745e9b043.tar.gz
ACPICA: Remove calling of _STA from acpi_get_object_info()
As the documentatuon above its declaration indicates, acpi_get_object_info() is intended for early probe usage and as such should not call any methods which may rely on op_regions, before this commit it was also calling _STA, which on some systems does rely on op_regions. Calling _STA before things are ready leads to errors such as these (under Linux, on some hardware): [ 0.123579] ACPI Error: No handler for Region [ECRM] (00000000ba9edc4c) [generic_serial_bus] (20170831/evregion-166) [ 0.123601] ACPI Error: Region generic_serial_bus (ID=9) has no handler (20170831/exfldio-299) [ 0.123618] ACPI Error: Method parse/execution failed \_SB.I2C1.BAT1._STA, AE_NOT_EXIST (20170831/psparse-550) End 2015 support for the _SUB method was removed for exactly the same reason. Removing current_status from struct acpi_device_info only has a limited impact. Within ACPICA it is only used by 2 debug messages, both of which are modified to no longer print it with this commit. Outside of ACPICA, there was one user in Linux, which has been patched to no longer use current_status in Torvald's current master. I've not checked if free_BSD or others are using the current_status field. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Erik Schmauss <erik.schmauss@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r--include/acpi/actypes.h2
1 files changed, 0 insertions, 2 deletions
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h
index a894ea1..924e352 100644
--- a/include/acpi/actypes.h
+++ b/include/acpi/actypes.h
@@ -1194,7 +1194,6 @@ struct acpi_device_info {
u8 flags; /* Miscellaneous info */
u8 highest_dstates[4]; /* _sx_d values: 0xFF indicates not valid */
u8 lowest_dstates[5]; /* _sx_w values: 0xFF indicates not valid */
- u32 current_status; /* _STA value */
u64 address; /* _ADR value */
struct acpi_pnp_device_id hardware_id; /* _HID value */
struct acpi_pnp_device_id unique_id; /* _UID value */
@@ -1208,7 +1207,6 @@ struct acpi_device_info {
/* Flags for Valid field above (acpi_get_object_info) */
-#define ACPI_VALID_STA 0x0001
#define ACPI_VALID_ADR 0x0002
#define ACPI_VALID_HID 0x0004
#define ACPI_VALID_UID 0x0008
OpenPOWER on IntegriCloud