mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 19:26:25 +00:00
ACPICA: Update internal namespace node/handle interfaces
This change deletes the unnecessary acpi_ns_convert_entry_to_handle interface and renames the acpi_ns_map_handle_to_node interface to acpi_ns_validate_handle. ACPICA BZ 798. http://www.acpica.org/bugzilla/show_bug.cgi?id=798 Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Lin Ming <ming.m.lin@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
34c39c7553
commit
f24b664dc4
12 changed files with 40 additions and 77 deletions
|
@ -354,9 +354,7 @@ acpi_ns_externalize_name(u32 internal_name_length,
|
|||
const char *internal_name,
|
||||
u32 * converted_name_length, char **converted_name);
|
||||
|
||||
struct acpi_namespace_node *acpi_ns_map_handle_to_node(acpi_handle handle);
|
||||
|
||||
acpi_handle acpi_ns_convert_entry_to_handle(struct acpi_namespace_node *node);
|
||||
struct acpi_namespace_node *acpi_ns_validate_handle(acpi_handle handle);
|
||||
|
||||
void acpi_ns_terminate(void);
|
||||
|
||||
|
|
|
@ -718,7 +718,7 @@ acpi_ev_install_handler(acpi_handle obj_handle,
|
|||
|
||||
/* Convert and validate the device handle */
|
||||
|
||||
node = acpi_ns_map_handle_to_node(obj_handle);
|
||||
node = acpi_ns_validate_handle(obj_handle);
|
||||
if (!node) {
|
||||
return (AE_BAD_PARAMETER);
|
||||
}
|
||||
|
@ -1087,7 +1087,7 @@ acpi_ev_reg_run(acpi_handle obj_handle,
|
|||
|
||||
/* Convert and validate the device handle */
|
||||
|
||||
node = acpi_ns_map_handle_to_node(obj_handle);
|
||||
node = acpi_ns_validate_handle(obj_handle);
|
||||
if (!node) {
|
||||
return (AE_BAD_PARAMETER);
|
||||
}
|
||||
|
|
|
@ -259,7 +259,7 @@ acpi_install_notify_handler(acpi_handle device,
|
|||
|
||||
/* Convert and validate the device handle */
|
||||
|
||||
node = acpi_ns_map_handle_to_node(device);
|
||||
node = acpi_ns_validate_handle(device);
|
||||
if (!node) {
|
||||
status = AE_BAD_PARAMETER;
|
||||
goto unlock_and_exit;
|
||||
|
@ -425,7 +425,7 @@ acpi_remove_notify_handler(acpi_handle device,
|
|||
|
||||
/* Convert and validate the device handle */
|
||||
|
||||
node = acpi_ns_map_handle_to_node(device);
|
||||
node = acpi_ns_validate_handle(device);
|
||||
if (!node) {
|
||||
status = AE_BAD_PARAMETER;
|
||||
goto unlock_and_exit;
|
||||
|
|
|
@ -610,7 +610,7 @@ acpi_install_gpe_block(acpi_handle gpe_device,
|
|||
return (status);
|
||||
}
|
||||
|
||||
node = acpi_ns_map_handle_to_node(gpe_device);
|
||||
node = acpi_ns_validate_handle(gpe_device);
|
||||
if (!node) {
|
||||
status = AE_BAD_PARAMETER;
|
||||
goto unlock_and_exit;
|
||||
|
@ -698,7 +698,7 @@ acpi_status acpi_remove_gpe_block(acpi_handle gpe_device)
|
|||
return (status);
|
||||
}
|
||||
|
||||
node = acpi_ns_map_handle_to_node(gpe_device);
|
||||
node = acpi_ns_validate_handle(gpe_device);
|
||||
if (!node) {
|
||||
status = AE_BAD_PARAMETER;
|
||||
goto unlock_and_exit;
|
||||
|
|
|
@ -89,7 +89,7 @@ acpi_install_address_space_handler(acpi_handle device,
|
|||
|
||||
/* Convert and validate the device handle */
|
||||
|
||||
node = acpi_ns_map_handle_to_node(device);
|
||||
node = acpi_ns_validate_handle(device);
|
||||
if (!node) {
|
||||
status = AE_BAD_PARAMETER;
|
||||
goto unlock_and_exit;
|
||||
|
@ -155,7 +155,7 @@ acpi_remove_address_space_handler(acpi_handle device,
|
|||
|
||||
/* Convert and validate the device handle */
|
||||
|
||||
node = acpi_ns_map_handle_to_node(device);
|
||||
node = acpi_ns_validate_handle(device);
|
||||
if (!node ||
|
||||
((node->type != ACPI_TYPE_DEVICE) &&
|
||||
(node->type != ACPI_TYPE_PROCESSOR) &&
|
||||
|
|
|
@ -180,7 +180,7 @@ acpi_ns_dump_one_object(acpi_handle obj_handle,
|
|||
return (AE_OK);
|
||||
}
|
||||
|
||||
this_node = acpi_ns_map_handle_to_node(obj_handle);
|
||||
this_node = acpi_ns_validate_handle(obj_handle);
|
||||
if (!this_node) {
|
||||
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Invalid object handle %p\n",
|
||||
obj_handle));
|
||||
|
|
|
@ -232,7 +232,7 @@ acpi_ns_handle_to_pathname(acpi_handle target_handle,
|
|||
|
||||
ACPI_FUNCTION_TRACE_PTR(ns_handle_to_pathname, target_handle);
|
||||
|
||||
node = acpi_ns_map_handle_to_node(target_handle);
|
||||
node = acpi_ns_validate_handle(target_handle);
|
||||
if (!node) {
|
||||
return_ACPI_STATUS(AE_BAD_PARAMETER);
|
||||
}
|
||||
|
|
|
@ -671,24 +671,25 @@ acpi_ns_externalize_name(u32 internal_name_length,
|
|||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* FUNCTION: acpi_ns_map_handle_to_node
|
||||
* FUNCTION: acpi_ns_validate_handle
|
||||
*
|
||||
* PARAMETERS: Handle - Handle to be converted to an Node
|
||||
* PARAMETERS: Handle - Handle to be validated and typecast to a
|
||||
* namespace node.
|
||||
*
|
||||
* RETURN: A Name table entry pointer
|
||||
* RETURN: A pointer to a namespace node
|
||||
*
|
||||
* DESCRIPTION: Convert a namespace handle to a real Node
|
||||
* DESCRIPTION: Convert a namespace handle to a namespace node. Handles special
|
||||
* cases for the root node.
|
||||
*
|
||||
* Note: Real integer handles would allow for more verification
|
||||
* NOTE: Real integer handles would allow for more verification
|
||||
* and keep all pointers within this subsystem - however this introduces
|
||||
* more (and perhaps unnecessary) overhead.
|
||||
*
|
||||
* The current implemenation is basically a placeholder until such time comes
|
||||
* that it is needed.
|
||||
* more overhead and has not been necessary to this point. Drivers
|
||||
* holding handles are typically notified before a node becomes invalid
|
||||
* due to a table unload.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
struct acpi_namespace_node *acpi_ns_map_handle_to_node(acpi_handle handle)
|
||||
struct acpi_namespace_node *acpi_ns_validate_handle(acpi_handle handle)
|
||||
{
|
||||
|
||||
ACPI_FUNCTION_ENTRY();
|
||||
|
@ -708,42 +709,6 @@ struct acpi_namespace_node *acpi_ns_map_handle_to_node(acpi_handle handle)
|
|||
return (ACPI_CAST_PTR(struct acpi_namespace_node, handle));
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* FUNCTION: acpi_ns_convert_entry_to_handle
|
||||
*
|
||||
* PARAMETERS: Node - Node to be converted to a Handle
|
||||
*
|
||||
* RETURN: A user handle
|
||||
*
|
||||
* DESCRIPTION: Convert a real Node to a namespace handle
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
acpi_handle acpi_ns_convert_entry_to_handle(struct acpi_namespace_node *node)
|
||||
{
|
||||
|
||||
/*
|
||||
* Simple implementation for now;
|
||||
*/
|
||||
return ((acpi_handle) node);
|
||||
|
||||
/* Example future implementation ---------------------
|
||||
|
||||
if (!Node)
|
||||
{
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
if (Node == acpi_gbl_root_node)
|
||||
{
|
||||
return (ACPI_ROOT_OBJECT);
|
||||
}
|
||||
|
||||
return ((acpi_handle) Node);
|
||||
------------------------------------------------------*/
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* FUNCTION: acpi_ns_terminate
|
||||
|
|
|
@ -190,7 +190,7 @@ acpi_evaluate_object(acpi_handle handle,
|
|||
|
||||
/* Convert and validate the device handle */
|
||||
|
||||
info->prefix_node = acpi_ns_map_handle_to_node(handle);
|
||||
info->prefix_node = acpi_ns_validate_handle(handle);
|
||||
if (!info->prefix_node) {
|
||||
status = AE_BAD_PARAMETER;
|
||||
goto cleanup;
|
||||
|
@ -552,7 +552,7 @@ acpi_ns_get_device_callback(acpi_handle obj_handle,
|
|||
return (status);
|
||||
}
|
||||
|
||||
node = acpi_ns_map_handle_to_node(obj_handle);
|
||||
node = acpi_ns_validate_handle(obj_handle);
|
||||
status = acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
|
||||
if (ACPI_FAILURE(status)) {
|
||||
return (status);
|
||||
|
@ -729,7 +729,7 @@ acpi_attach_data(acpi_handle obj_handle,
|
|||
|
||||
/* Convert and validate the handle */
|
||||
|
||||
node = acpi_ns_map_handle_to_node(obj_handle);
|
||||
node = acpi_ns_validate_handle(obj_handle);
|
||||
if (!node) {
|
||||
status = AE_BAD_PARAMETER;
|
||||
goto unlock_and_exit;
|
||||
|
@ -775,7 +775,7 @@ acpi_detach_data(acpi_handle obj_handle, acpi_object_handler handler)
|
|||
|
||||
/* Convert and validate the handle */
|
||||
|
||||
node = acpi_ns_map_handle_to_node(obj_handle);
|
||||
node = acpi_ns_validate_handle(obj_handle);
|
||||
if (!node) {
|
||||
status = AE_BAD_PARAMETER;
|
||||
goto unlock_and_exit;
|
||||
|
@ -822,7 +822,7 @@ acpi_get_data(acpi_handle obj_handle, acpi_object_handler handler, void **data)
|
|||
|
||||
/* Convert and validate the handle */
|
||||
|
||||
node = acpi_ns_map_handle_to_node(obj_handle);
|
||||
node = acpi_ns_validate_handle(obj_handle);
|
||||
if (!node) {
|
||||
status = AE_BAD_PARAMETER;
|
||||
goto unlock_and_exit;
|
||||
|
|
|
@ -93,7 +93,7 @@ acpi_get_handle(acpi_handle parent,
|
|||
/* Convert a parent handle to a prefix node */
|
||||
|
||||
if (parent) {
|
||||
prefix_node = acpi_ns_map_handle_to_node(parent);
|
||||
prefix_node = acpi_ns_validate_handle(parent);
|
||||
if (!prefix_node) {
|
||||
return (AE_BAD_PARAMETER);
|
||||
}
|
||||
|
@ -114,7 +114,7 @@ acpi_get_handle(acpi_handle parent,
|
|||
|
||||
if (!ACPI_STRCMP(pathname, ACPI_NS_ROOT_PATH)) {
|
||||
*ret_handle =
|
||||
acpi_ns_convert_entry_to_handle(acpi_gbl_root_node);
|
||||
ACPI_CAST_PTR(acpi_handle, acpi_gbl_root_node);
|
||||
return (AE_OK);
|
||||
}
|
||||
} else if (!prefix_node) {
|
||||
|
@ -129,7 +129,7 @@ acpi_get_handle(acpi_handle parent,
|
|||
status =
|
||||
acpi_ns_get_node(prefix_node, pathname, ACPI_NS_NO_UPSEARCH, &node);
|
||||
if (ACPI_SUCCESS(status)) {
|
||||
*ret_handle = acpi_ns_convert_entry_to_handle(node);
|
||||
*ret_handle = ACPI_CAST_PTR(acpi_handle, node);
|
||||
}
|
||||
|
||||
return (status);
|
||||
|
@ -186,7 +186,7 @@ acpi_get_name(acpi_handle handle, u32 name_type, struct acpi_buffer * buffer)
|
|||
return (status);
|
||||
}
|
||||
|
||||
node = acpi_ns_map_handle_to_node(handle);
|
||||
node = acpi_ns_validate_handle(handle);
|
||||
if (!node) {
|
||||
status = AE_BAD_PARAMETER;
|
||||
goto unlock_and_exit;
|
||||
|
@ -291,7 +291,7 @@ acpi_get_object_info(acpi_handle handle,
|
|||
goto cleanup;
|
||||
}
|
||||
|
||||
node = acpi_ns_map_handle_to_node(handle);
|
||||
node = acpi_ns_validate_handle(handle);
|
||||
if (!node) {
|
||||
(void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
|
||||
return (AE_BAD_PARAMETER);
|
||||
|
|
|
@ -79,7 +79,7 @@ acpi_status acpi_get_id(acpi_handle handle, acpi_owner_id * ret_id)
|
|||
|
||||
/* Convert and validate the handle */
|
||||
|
||||
node = acpi_ns_map_handle_to_node(handle);
|
||||
node = acpi_ns_validate_handle(handle);
|
||||
if (!node) {
|
||||
(void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
|
||||
return (AE_BAD_PARAMETER);
|
||||
|
@ -132,7 +132,7 @@ acpi_status acpi_get_type(acpi_handle handle, acpi_object_type * ret_type)
|
|||
|
||||
/* Convert and validate the handle */
|
||||
|
||||
node = acpi_ns_map_handle_to_node(handle);
|
||||
node = acpi_ns_validate_handle(handle);
|
||||
if (!node) {
|
||||
(void)acpi_ut_release_mutex(ACPI_MTX_NAMESPACE);
|
||||
return (AE_BAD_PARAMETER);
|
||||
|
@ -182,7 +182,7 @@ acpi_status acpi_get_parent(acpi_handle handle, acpi_handle * ret_handle)
|
|||
|
||||
/* Convert and validate the handle */
|
||||
|
||||
node = acpi_ns_map_handle_to_node(handle);
|
||||
node = acpi_ns_validate_handle(handle);
|
||||
if (!node) {
|
||||
status = AE_BAD_PARAMETER;
|
||||
goto unlock_and_exit;
|
||||
|
@ -191,7 +191,7 @@ acpi_status acpi_get_parent(acpi_handle handle, acpi_handle * ret_handle)
|
|||
/* Get the parent entry */
|
||||
|
||||
parent_node = acpi_ns_get_parent_node(node);
|
||||
*ret_handle = acpi_ns_convert_entry_to_handle(parent_node);
|
||||
*ret_handle = ACPI_CAST_PTR(acpi_handle, parent_node);
|
||||
|
||||
/* Return exception if parent is null */
|
||||
|
||||
|
@ -251,7 +251,7 @@ acpi_get_next_object(acpi_object_type type,
|
|||
|
||||
/* Start search at the beginning of the specified scope */
|
||||
|
||||
parent_node = acpi_ns_map_handle_to_node(parent);
|
||||
parent_node = acpi_ns_validate_handle(parent);
|
||||
if (!parent_node) {
|
||||
status = AE_BAD_PARAMETER;
|
||||
goto unlock_and_exit;
|
||||
|
@ -260,7 +260,7 @@ acpi_get_next_object(acpi_object_type type,
|
|||
/* Non-null handle, ignore the parent */
|
||||
/* Convert and validate the handle */
|
||||
|
||||
child_node = acpi_ns_map_handle_to_node(child);
|
||||
child_node = acpi_ns_validate_handle(child);
|
||||
if (!child_node) {
|
||||
status = AE_BAD_PARAMETER;
|
||||
goto unlock_and_exit;
|
||||
|
@ -276,7 +276,7 @@ acpi_get_next_object(acpi_object_type type,
|
|||
}
|
||||
|
||||
if (ret_handle) {
|
||||
*ret_handle = acpi_ns_convert_entry_to_handle(node);
|
||||
*ret_handle = ACPI_CAST_PTR(acpi_handle, node);
|
||||
}
|
||||
|
||||
unlock_and_exit:
|
||||
|
|
|
@ -104,7 +104,7 @@ acpi_rs_validate_parameters(acpi_handle device_handle,
|
|||
return_ACPI_STATUS(AE_BAD_PARAMETER);
|
||||
}
|
||||
|
||||
node = acpi_ns_map_handle_to_node(device_handle);
|
||||
node = acpi_ns_validate_handle(device_handle);
|
||||
if (!node) {
|
||||
return_ACPI_STATUS(AE_BAD_PARAMETER);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue