The patch titled add-support-for-acpi_load_table-acpi_unload_table_id fix has been added to the -mm tree. Its filename is add-support-for-acpi_load_table-acpi_unload_table_id-fix.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: add-support-for-acpi_load_table-acpi_unload_table_id fix From: John Keller <jpk@xxxxxxx> Resend #2 Code has been improved to no longer use ACPI "internal" routines (such as acpi_ns_get_next_node()). To this end, a new public interface to obtain the owner_id for a handle was added (acpi_get_id()). It is very similar to existing routine acpi_get_type(). Resend #1 Original send of this patch was outdated and did not have acpi_ut_acquire_mutex() and acpi_ut_release_mutex() calls in acpi_unload_table_id(). Cc: Aaron Young <ayoung@xxxxxxx> Cc: "Brown, Len" <len.brown@xxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Cc: "Luck, Tony" <tony.luck@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/acpi/namespace/nsutils.c | 4 -- drivers/acpi/namespace/nswalk.c | 2 - drivers/acpi/namespace/nsxfobj.c | 44 +++++++++++++++++++++++++++++ include/acpi/acpixf.h | 2 + 4 files changed, 46 insertions(+), 6 deletions(-) diff -puN drivers/acpi/namespace/nsxfobj.c~add-support-for-acpi_load_table-acpi_unload_table_id-fix drivers/acpi/namespace/nsxfobj.c --- a/drivers/acpi/namespace/nsxfobj.c~add-support-for-acpi_load_table-acpi_unload_table_id-fix +++ a/drivers/acpi/namespace/nsxfobj.c @@ -50,6 +50,50 @@ ACPI_MODULE_NAME("nsxfobj") /******************************************************************************* * + * FUNCTION: acpi_get_id + * + * PARAMETERS: Handle - Handle of object whose id is desired + * ret_id - Where the id will be placed + * + * RETURN: Status + * + * DESCRIPTION: This routine returns the owner id associated with a handle + * + ******************************************************************************/ +acpi_status acpi_get_id(acpi_handle handle, acpi_owner_id * ret_id) +{ + struct acpi_namespace_node *node; + acpi_status status; + + /* Parameter Validation */ + + if (!ret_id) { + return (AE_BAD_PARAMETER); + } + + status = acpi_ut_acquire_mutex(ACPI_MTX_NAMESPACE); + if (ACPI_FAILURE(status)) { + return (status); + } + + /* Convert and validate the handle */ + + node = acpi_ns_map_handle_to_node(handle); + if (!node) { + (void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE); + return (AE_BAD_PARAMETER); + } + + *ret_id = node->owner_id; + + status = acpi_ut_release_mutex(ACPI_MTX_NAMESPACE); + return (status); +} + +ACPI_EXPORT_SYMBOL(acpi_get_id) + +/******************************************************************************* + * * FUNCTION: acpi_get_type * * PARAMETERS: Handle - Handle of object whose type is desired diff -puN drivers/acpi/tables/tbxface.c~add-support-for-acpi_load_table-acpi_unload_table_id-fix drivers/acpi/tables/tbxface.c diff -puN include/acpi/acpixf.h~add-support-for-acpi_load_table-acpi_unload_table_id-fix include/acpi/acpixf.h --- a/include/acpi/acpixf.h~add-support-for-acpi_load_table-acpi_unload_table_id-fix +++ a/include/acpi/acpixf.h @@ -181,6 +181,8 @@ acpi_get_next_object(acpi_object_type ty acpi_status acpi_get_type(acpi_handle object, acpi_object_type * out_type); +acpi_status acpi_get_id(acpi_handle object, acpi_owner_id * out_type); + acpi_status acpi_get_parent(acpi_handle object, acpi_handle * out_handle); /* diff -puN drivers/acpi/namespace/nsutils.c~add-support-for-acpi_load_table-acpi_unload_table_id-fix drivers/acpi/namespace/nsutils.c --- a/drivers/acpi/namespace/nsutils.c~add-support-for-acpi_load_table-acpi_unload_table_id-fix +++ a/drivers/acpi/namespace/nsutils.c @@ -701,8 +701,6 @@ struct acpi_namespace_node *acpi_ns_map_ return (ACPI_CAST_PTR(struct acpi_namespace_node, handle)); } -ACPI_EXPORT_SYMBOL(acpi_ns_map_handle_to_node) - /******************************************************************************* * * FUNCTION: acpi_ns_convert_entry_to_handle @@ -739,8 +737,6 @@ acpi_handle acpi_ns_convert_entry_to_han ------------------------------------------------------*/ } -ACPI_EXPORT_SYMBOL(acpi_ns_convert_entry_to_handle) - /******************************************************************************* * * FUNCTION: acpi_ns_terminate diff -puN drivers/acpi/namespace/nswalk.c~add-support-for-acpi_load_table-acpi_unload_table_id-fix drivers/acpi/namespace/nswalk.c --- a/drivers/acpi/namespace/nswalk.c~add-support-for-acpi_load_table-acpi_unload_table_id-fix +++ a/drivers/acpi/namespace/nswalk.c @@ -119,8 +119,6 @@ struct acpi_namespace_node *acpi_ns_get_ return (NULL); } -ACPI_EXPORT_SYMBOL(acpi_ns_get_next_node) - /******************************************************************************* * * FUNCTION: acpi_ns_walk_namespace _ Patches currently in -mm which might be from jpk@xxxxxxx are altix-acpi-ssdt-pci-device-support.patch altix-add-acpi-ssdt-pci-device-support-hotplug.patch altix-add-acpi-ssdt-pci-device-support-hotplug-fix.patch add-support-for-acpi_load_table-acpi_unload_table_id.patch add-support-for-acpi_load_table-acpi_unload_table_id-fix.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html