exresnte.c (cb5629b10d64a8006622ce3a52bc887d91057d69) exresnte.c (3371c19c294a4cb3649aa4e84606be8a1d999e61)
1
2/******************************************************************************
3 *
4 * Module Name: exresnte - AML Interpreter object resolution
5 *
6 *****************************************************************************/
7
8/*

--- 122 unchanged lines hidden (view full) ---

131
132 /*
133 * Action is based on the type of the Node, which indicates the type
134 * of the attached object or pointer
135 */
136 switch (entry_type) {
137 case ACPI_TYPE_PACKAGE:
138
1
2/******************************************************************************
3 *
4 * Module Name: exresnte - AML Interpreter object resolution
5 *
6 *****************************************************************************/
7
8/*

--- 122 unchanged lines hidden (view full) ---

131
132 /*
133 * Action is based on the type of the Node, which indicates the type
134 * of the attached object or pointer
135 */
136 switch (entry_type) {
137 case ACPI_TYPE_PACKAGE:
138
139 if (ACPI_GET_OBJECT_TYPE(source_desc) != ACPI_TYPE_PACKAGE) {
139 if (source_desc->common.type != ACPI_TYPE_PACKAGE) {
140 ACPI_ERROR((AE_INFO, "Object not a Package, type %s",
141 acpi_ut_get_object_type_name(source_desc)));
142 return_ACPI_STATUS(AE_AML_OPERAND_TYPE);
143 }
144
145 status = acpi_ds_get_package_arguments(source_desc);
146 if (ACPI_SUCCESS(status)) {
147
148 /* Return an additional reference to the object */
149
150 obj_desc = source_desc;
151 acpi_ut_add_reference(obj_desc);
152 }
153 break;
154
155 case ACPI_TYPE_BUFFER:
156
140 ACPI_ERROR((AE_INFO, "Object not a Package, type %s",
141 acpi_ut_get_object_type_name(source_desc)));
142 return_ACPI_STATUS(AE_AML_OPERAND_TYPE);
143 }
144
145 status = acpi_ds_get_package_arguments(source_desc);
146 if (ACPI_SUCCESS(status)) {
147
148 /* Return an additional reference to the object */
149
150 obj_desc = source_desc;
151 acpi_ut_add_reference(obj_desc);
152 }
153 break;
154
155 case ACPI_TYPE_BUFFER:
156
157 if (ACPI_GET_OBJECT_TYPE(source_desc) != ACPI_TYPE_BUFFER) {
157 if (source_desc->common.type != ACPI_TYPE_BUFFER) {
158 ACPI_ERROR((AE_INFO, "Object not a Buffer, type %s",
159 acpi_ut_get_object_type_name(source_desc)));
160 return_ACPI_STATUS(AE_AML_OPERAND_TYPE);
161 }
162
163 status = acpi_ds_get_buffer_arguments(source_desc);
164 if (ACPI_SUCCESS(status)) {
165
166 /* Return an additional reference to the object */
167
168 obj_desc = source_desc;
169 acpi_ut_add_reference(obj_desc);
170 }
171 break;
172
173 case ACPI_TYPE_STRING:
174
158 ACPI_ERROR((AE_INFO, "Object not a Buffer, type %s",
159 acpi_ut_get_object_type_name(source_desc)));
160 return_ACPI_STATUS(AE_AML_OPERAND_TYPE);
161 }
162
163 status = acpi_ds_get_buffer_arguments(source_desc);
164 if (ACPI_SUCCESS(status)) {
165
166 /* Return an additional reference to the object */
167
168 obj_desc = source_desc;
169 acpi_ut_add_reference(obj_desc);
170 }
171 break;
172
173 case ACPI_TYPE_STRING:
174
175 if (ACPI_GET_OBJECT_TYPE(source_desc) != ACPI_TYPE_STRING) {
175 if (source_desc->common.type != ACPI_TYPE_STRING) {
176 ACPI_ERROR((AE_INFO, "Object not a String, type %s",
177 acpi_ut_get_object_type_name(source_desc)));
178 return_ACPI_STATUS(AE_AML_OPERAND_TYPE);
179 }
180
181 /* Return an additional reference to the object */
182
183 obj_desc = source_desc;
184 acpi_ut_add_reference(obj_desc);
185 break;
186
187 case ACPI_TYPE_INTEGER:
188
176 ACPI_ERROR((AE_INFO, "Object not a String, type %s",
177 acpi_ut_get_object_type_name(source_desc)));
178 return_ACPI_STATUS(AE_AML_OPERAND_TYPE);
179 }
180
181 /* Return an additional reference to the object */
182
183 obj_desc = source_desc;
184 acpi_ut_add_reference(obj_desc);
185 break;
186
187 case ACPI_TYPE_INTEGER:
188
189 if (ACPI_GET_OBJECT_TYPE(source_desc) != ACPI_TYPE_INTEGER) {
189 if (source_desc->common.type != ACPI_TYPE_INTEGER) {
190 ACPI_ERROR((AE_INFO, "Object not a Integer, type %s",
191 acpi_ut_get_object_type_name(source_desc)));
192 return_ACPI_STATUS(AE_AML_OPERAND_TYPE);
193 }
194
195 /* Return an additional reference to the object */
196
197 obj_desc = source_desc;

--- 81 unchanged lines hidden ---
190 ACPI_ERROR((AE_INFO, "Object not a Integer, type %s",
191 acpi_ut_get_object_type_name(source_desc)));
192 return_ACPI_STATUS(AE_AML_OPERAND_TYPE);
193 }
194
195 /* Return an additional reference to the object */
196
197 obj_desc = source_desc;

--- 81 unchanged lines hidden ---