diff options
author | Lv Zheng <lv.zheng@intel.com> | 2016-09-07 02:06:32 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2016-09-09 20:43:01 -0400 |
commit | bdbe5df025b712220ba8d807662d4449b2092e54 (patch) | |
tree | 69aa1121a2bb4608fce4641f68cedb5730b686ba | |
parent | 6eecbc9b8a030cf9c0ed52dd19b5d122503b8c4c (diff) |
ACPICA: Tables: Add new table events indicating table installation/uninstallation
ACPICA commit ed6a5fbc694f3a27d93014391aa9a6f6fe490461
This patch adds 2 new table events to indicate table
installation/uninstallation.
Currently, as ACPICA never uninstalls tables, this patch thus only adds
table handler invocation for the table installation event. Lv Zheng.
The 2 events are to be used to fix a sysfs table handling issue related to
LoadTable opcode (see Link # [1] below). The actual sysfs fixing code is
not included, the sysfs fixes will be sent as separate patches.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=150841 # [1]
Link: https://github.com/acpica/acpica/commit/ed6a5fbc
Reported-by: Jason Voelz <jason.voelz@intel.com>
Reported-by: Francisco Leoner <francisco.j.lenoer.soto@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | drivers/acpi/acpica/tbinstal.c | 8 | ||||
-rw-r--r-- | include/acpi/actypes.h | 4 |
2 files changed, 11 insertions, 1 deletions
diff --git a/drivers/acpi/acpica/tbinstal.c b/drivers/acpi/acpica/tbinstal.c index d4618648ea13..5fdf251a9f97 100644 --- a/drivers/acpi/acpica/tbinstal.c +++ b/drivers/acpi/acpica/tbinstal.c | |||
@@ -301,6 +301,14 @@ acpi_tb_install_standard_table(acpi_physical_address address, | |||
301 | acpi_tb_install_table_with_override(&new_table_desc, override, | 301 | acpi_tb_install_table_with_override(&new_table_desc, override, |
302 | table_index); | 302 | table_index); |
303 | 303 | ||
304 | /* Invoke table handler if present */ | ||
305 | |||
306 | if (acpi_gbl_table_handler) { | ||
307 | (void)acpi_gbl_table_handler(ACPI_TABLE_EVENT_INSTALL, | ||
308 | new_table_desc.pointer, | ||
309 | acpi_gbl_table_handler_context); | ||
310 | } | ||
311 | |||
304 | release_and_exit: | 312 | release_and_exit: |
305 | 313 | ||
306 | /* Release the temporary table descriptor */ | 314 | /* Release the temporary table descriptor */ |
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h index 892595ffca57..1d798abae710 100644 --- a/include/acpi/actypes.h +++ b/include/acpi/actypes.h | |||
@@ -1089,7 +1089,9 @@ acpi_status (*acpi_table_handler) (u32 event, void *table, void *context); | |||
1089 | 1089 | ||
1090 | #define ACPI_TABLE_EVENT_LOAD 0x0 | 1090 | #define ACPI_TABLE_EVENT_LOAD 0x0 |
1091 | #define ACPI_TABLE_EVENT_UNLOAD 0x1 | 1091 | #define ACPI_TABLE_EVENT_UNLOAD 0x1 |
1092 | #define ACPI_NUM_TABLE_EVENTS 2 | 1092 | #define ACPI_TABLE_EVENT_INSTALL 0x2 |
1093 | #define ACPI_TABLE_EVENT_UNINSTALL 0x3 | ||
1094 | #define ACPI_NUM_TABLE_EVENTS 4 | ||
1093 | 1095 | ||
1094 | /* Address Spaces (For Operation Regions) */ | 1096 | /* Address Spaces (For Operation Regions) */ |
1095 | 1097 | ||