diff options
| author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-06-24 08:41:41 -0400 |
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-06-24 13:07:53 -0400 |
| commit | 816724e65c72a90a44fbad0ef0b59b186c85fa90 (patch) | |
| tree | 421fa29aedff988e392f92780637553e275d37a0 /drivers/acpi/executer/exresnte.c | |
| parent | 70ac4385a13f78bc478f26d317511893741b05bd (diff) | |
| parent | d384ea691fe4ea8c2dd5b9b8d9042eb181776f18 (diff) | |
Merge branch 'master' of /home/trondmy/kernel/linux-2.6/
Conflicts:
fs/nfs/inode.c
fs/super.c
Fix conflicts between patch 'NFS: Split fs/nfs/inode.c' and patch
'VFS: Permit filesystem to override root dentry on mount'
Diffstat (limited to 'drivers/acpi/executer/exresnte.c')
| -rw-r--r-- | drivers/acpi/executer/exresnte.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/acpi/executer/exresnte.c b/drivers/acpi/executer/exresnte.c index 01b26c80d22b..3089b05a1368 100644 --- a/drivers/acpi/executer/exresnte.c +++ b/drivers/acpi/executer/exresnte.c | |||
| @@ -87,7 +87,7 @@ acpi_ex_resolve_node_to_value(struct acpi_namespace_node **object_ptr, | |||
| 87 | struct acpi_namespace_node *node; | 87 | struct acpi_namespace_node *node; |
| 88 | acpi_object_type entry_type; | 88 | acpi_object_type entry_type; |
| 89 | 89 | ||
| 90 | ACPI_FUNCTION_TRACE("ex_resolve_node_to_value"); | 90 | ACPI_FUNCTION_TRACE(ex_resolve_node_to_value); |
| 91 | 91 | ||
| 92 | /* | 92 | /* |
| 93 | * The stack pointer points to a struct acpi_namespace_node (Node). Get the | 93 | * The stack pointer points to a struct acpi_namespace_node (Node). Get the |
| @@ -97,12 +97,13 @@ acpi_ex_resolve_node_to_value(struct acpi_namespace_node **object_ptr, | |||
| 97 | source_desc = acpi_ns_get_attached_object(node); | 97 | source_desc = acpi_ns_get_attached_object(node); |
| 98 | entry_type = acpi_ns_get_type((acpi_handle) node); | 98 | entry_type = acpi_ns_get_type((acpi_handle) node); |
| 99 | 99 | ||
| 100 | ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Entry=%p source_desc=%p [%s]\n", | 100 | ACPI_DEBUG_PRINT((ACPI_DB_EXEC, "Entry=%p SourceDesc=%p [%s]\n", |
| 101 | node, source_desc, | 101 | node, source_desc, |
| 102 | acpi_ut_get_type_name(entry_type))); | 102 | acpi_ut_get_type_name(entry_type))); |
| 103 | 103 | ||
| 104 | if ((entry_type == ACPI_TYPE_LOCAL_ALIAS) || | 104 | if ((entry_type == ACPI_TYPE_LOCAL_ALIAS) || |
| 105 | (entry_type == ACPI_TYPE_LOCAL_METHOD_ALIAS)) { | 105 | (entry_type == ACPI_TYPE_LOCAL_METHOD_ALIAS)) { |
| 106 | |||
| 106 | /* There is always exactly one level of indirection */ | 107 | /* There is always exactly one level of indirection */ |
| 107 | 108 | ||
| 108 | node = ACPI_CAST_PTR(struct acpi_namespace_node, node->object); | 109 | node = ACPI_CAST_PTR(struct acpi_namespace_node, node->object); |
| @@ -113,10 +114,11 @@ acpi_ex_resolve_node_to_value(struct acpi_namespace_node **object_ptr, | |||
| 113 | 114 | ||
| 114 | /* | 115 | /* |
| 115 | * Several object types require no further processing: | 116 | * Several object types require no further processing: |
| 116 | * 1) Devices rarely have an attached object, return the Node | 117 | * 1) Device/Thermal objects don't have a "real" subobject, return the Node |
| 117 | * 2) Method locals and arguments have a pseudo-Node | 118 | * 2) Method locals and arguments have a pseudo-Node |
| 118 | */ | 119 | */ |
| 119 | if (entry_type == ACPI_TYPE_DEVICE || | 120 | if ((entry_type == ACPI_TYPE_DEVICE) || |
| 121 | (entry_type == ACPI_TYPE_THERMAL) || | ||
| 120 | (node->flags & (ANOBJ_METHOD_ARG | ANOBJ_METHOD_LOCAL))) { | 122 | (node->flags & (ANOBJ_METHOD_ARG | ANOBJ_METHOD_LOCAL))) { |
| 121 | return_ACPI_STATUS(AE_OK); | 123 | return_ACPI_STATUS(AE_OK); |
| 122 | } | 124 | } |
| @@ -141,6 +143,7 @@ acpi_ex_resolve_node_to_value(struct acpi_namespace_node **object_ptr, | |||
| 141 | 143 | ||
| 142 | status = acpi_ds_get_package_arguments(source_desc); | 144 | status = acpi_ds_get_package_arguments(source_desc); |
| 143 | if (ACPI_SUCCESS(status)) { | 145 | if (ACPI_SUCCESS(status)) { |
| 146 | |||
| 144 | /* Return an additional reference to the object */ | 147 | /* Return an additional reference to the object */ |
| 145 | 148 | ||
| 146 | obj_desc = source_desc; | 149 | obj_desc = source_desc; |
| @@ -158,6 +161,7 @@ acpi_ex_resolve_node_to_value(struct acpi_namespace_node **object_ptr, | |||
| 158 | 161 | ||
| 159 | status = acpi_ds_get_buffer_arguments(source_desc); | 162 | status = acpi_ds_get_buffer_arguments(source_desc); |
| 160 | if (ACPI_SUCCESS(status)) { | 163 | if (ACPI_SUCCESS(status)) { |
| 164 | |||
| 161 | /* Return an additional reference to the object */ | 165 | /* Return an additional reference to the object */ |
| 162 | 166 | ||
| 163 | obj_desc = source_desc; | 167 | obj_desc = source_desc; |
| @@ -199,7 +203,7 @@ acpi_ex_resolve_node_to_value(struct acpi_namespace_node **object_ptr, | |||
| 199 | case ACPI_TYPE_LOCAL_INDEX_FIELD: | 203 | case ACPI_TYPE_LOCAL_INDEX_FIELD: |
| 200 | 204 | ||
| 201 | ACPI_DEBUG_PRINT((ACPI_DB_EXEC, | 205 | ACPI_DEBUG_PRINT((ACPI_DB_EXEC, |
| 202 | "field_read Node=%p source_desc=%p Type=%X\n", | 206 | "FieldRead Node=%p SourceDesc=%p Type=%X\n", |
| 203 | node, source_desc, entry_type)); | 207 | node, source_desc, entry_type)); |
| 204 | 208 | ||
| 205 | status = | 209 | status = |
| @@ -213,7 +217,6 @@ acpi_ex_resolve_node_to_value(struct acpi_namespace_node **object_ptr, | |||
| 213 | case ACPI_TYPE_METHOD: | 217 | case ACPI_TYPE_METHOD: |
| 214 | case ACPI_TYPE_POWER: | 218 | case ACPI_TYPE_POWER: |
| 215 | case ACPI_TYPE_PROCESSOR: | 219 | case ACPI_TYPE_PROCESSOR: |
| 216 | case ACPI_TYPE_THERMAL: | ||
| 217 | case ACPI_TYPE_EVENT: | 220 | case ACPI_TYPE_EVENT: |
| 218 | case ACPI_TYPE_REGION: | 221 | case ACPI_TYPE_REGION: |
| 219 | 222 | ||
| @@ -240,6 +243,8 @@ acpi_ex_resolve_node_to_value(struct acpi_namespace_node **object_ptr, | |||
| 240 | /* This is a ddb_handle */ | 243 | /* This is a ddb_handle */ |
| 241 | /* Return an additional reference to the object */ | 244 | /* Return an additional reference to the object */ |
| 242 | 245 | ||
| 246 | case AML_REF_OF_OP: | ||
| 247 | |||
| 243 | obj_desc = source_desc; | 248 | obj_desc = source_desc; |
| 244 | acpi_ut_add_reference(obj_desc); | 249 | acpi_ut_add_reference(obj_desc); |
| 245 | break; | 250 | break; |
