RE: [PATCH] ACPICA: make acpi_load_table() return table index

From: Nikolaus Voss
Date: Fri Sep 13 2019 - 03:44:05 EST


Bob,

On Thu, 12 Sep 2019, Moore, Robert wrote:
The ability to unload an ACPI table (especially AML tables such as SSDTs) is in the process of being deprecated in ACPICA -- since it is also deprecated in the current ACPI specification. This is being done because of the difficulty of deleting the namespace entries for the table. FYI, Windows does not properly support this function either.

ok, I see it can be a problem to unload an AML table with all it's consequences e.g. with respect to driver unregistering in setups with complex dependencies. It will only work properly under certain conditions - nevertheless acpi_tb_unload_table() is still exported in ACPICA and we should get this working as it worked before.

The API change I request is not directly related to table unloading, it's just that the index of the loaded table is returned for future reference:

[...]

diff --git a/include/acpi/acpixf.h b/include/acpi/acpixf.h index 3845c8fcc94e5..c90bbdc4146a6 100644
--- a/include/acpi/acpixf.h
+++ b/include/acpi/acpixf.h
@@ -452,7 +452,8 @@ ACPI_EXTERNAL_RETURN_STATUS(acpi_status ACPI_INIT_FUNCTION
u8 physical))

ACPI_EXTERNAL_RETURN_STATUS(acpi_status
- acpi_load_table(struct acpi_table_header *table))
+ acpi_load_table(struct acpi_table_header *table,
+ u32 *table_idx))

ACPI_EXTERNAL_RETURN_STATUS(acpi_status
acpi_unload_parent_table(acpi_handle object))
--
2.17.1


This allows for a simple fix of the regression and doesn't imply future support for table unloading. Would this be acceptable?

Niko