aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2016-09-07 02:06:32 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-09-09 20:43:01 -0400
commitbdbe5df025b712220ba8d807662d4449b2092e54 (patch)
tree69aa1121a2bb4608fce4641f68cedb5730b686ba
parent6eecbc9b8a030cf9c0ed52dd19b5d122503b8c4c (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.c8
-rw-r--r--include/acpi/actypes.h4
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
304release_and_exit: 312release_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