aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2009-11-11 20:52:45 -0500
committerLen Brown <len.brown@intel.com>2009-11-24 21:31:11 -0500
commitdc95a270c684e771b25dce0b60559cc80c033f22 (patch)
tree11c4b75117ab6e2f1b09d483422b7f42572d9c67 /drivers/acpi
parent502f7efa6ae7c3f6d93dac417af521af1f56bcc7 (diff)
ACPICA: Deploy new create integer interface where appropriate
Simplifies creation of simple integer objects. ACPICA BZ 823. http://www.acpica.org/bugzilla/show_bug.cgi?id=823 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>
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/acpica/dsmthdat.c4
-rw-r--r--drivers/acpi/acpica/evregion.c11
-rw-r--r--drivers/acpi/acpica/exconfig.c4
-rw-r--r--drivers/acpi/acpica/exconvrt.c3
-rw-r--r--drivers/acpi/acpica/exfield.c3
-rw-r--r--drivers/acpi/acpica/exoparg1.c38
-rw-r--r--drivers/acpi/acpica/exoparg6.c7
-rw-r--r--drivers/acpi/acpica/psparse.c8
-rw-r--r--drivers/acpi/acpica/psxface.c4
9 files changed, 30 insertions, 52 deletions
diff --git a/drivers/acpi/acpica/dsmthdat.c b/drivers/acpi/acpica/dsmthdat.c
index 7d077bb2f525..0ba19f84ad82 100644
--- a/drivers/acpi/acpica/dsmthdat.c
+++ b/drivers/acpi/acpica/dsmthdat.c
@@ -409,13 +409,11 @@ acpi_ds_method_data_get_value(u8 type,
409 /* If slack enabled, init the local_x/arg_x to an Integer of value zero */ 409 /* If slack enabled, init the local_x/arg_x to an Integer of value zero */
410 410
411 if (acpi_gbl_enable_interpreter_slack) { 411 if (acpi_gbl_enable_interpreter_slack) {
412 object = 412 object = acpi_ut_create_integer_object((u64) 0);
413 acpi_ut_create_internal_object(ACPI_TYPE_INTEGER);
414 if (!object) { 413 if (!object) {
415 return_ACPI_STATUS(AE_NO_MEMORY); 414 return_ACPI_STATUS(AE_NO_MEMORY);
416 } 415 }
417 416
418 object->integer.value = 0;
419 node->object = object; 417 node->object = object;
420 } 418 }
421 419
diff --git a/drivers/acpi/acpica/evregion.c b/drivers/acpi/acpica/evregion.c
index 582b0af01e99..0bc807c33a56 100644
--- a/drivers/acpi/acpica/evregion.c
+++ b/drivers/acpi/acpica/evregion.c
@@ -289,23 +289,20 @@ acpi_ev_execute_reg_method(union acpi_operand_object *region_obj, u32 function)
289 * connection status 1 for connecting the handler, 0 for disconnecting 289 * connection status 1 for connecting the handler, 0 for disconnecting
290 * the handler (Passed as a parameter) 290 * the handler (Passed as a parameter)
291 */ 291 */
292 args[0] = acpi_ut_create_internal_object(ACPI_TYPE_INTEGER); 292 args[0] =
293 acpi_ut_create_integer_object((u64) region_obj->region.space_id);
293 if (!args[0]) { 294 if (!args[0]) {
294 status = AE_NO_MEMORY; 295 status = AE_NO_MEMORY;
295 goto cleanup1; 296 goto cleanup1;
296 } 297 }
297 298
298 args[1] = acpi_ut_create_internal_object(ACPI_TYPE_INTEGER); 299 args[1] = acpi_ut_create_integer_object((u64) function);
299 if (!args[1]) { 300 if (!args[1]) {
300 status = AE_NO_MEMORY; 301 status = AE_NO_MEMORY;
301 goto cleanup2; 302 goto cleanup2;
302 } 303 }
303 304
304 /* Setup the parameter objects */ 305 args[2] = NULL; /* Terminate list */
305
306 args[0]->integer.value = region_obj->region.space_id;
307 args[1]->integer.value = function;
308 args[2] = NULL;
309 306
310 /* Execute the method, no return value */ 307 /* Execute the method, no return value */
311 308
diff --git a/drivers/acpi/acpica/exconfig.c b/drivers/acpi/acpica/exconfig.c
index 24afef81af39..46adfa541cbc 100644
--- a/drivers/acpi/acpica/exconfig.c
+++ b/drivers/acpi/acpica/exconfig.c
@@ -170,14 +170,12 @@ acpi_ex_load_table_op(struct acpi_walk_state *walk_state,
170 170
171 /* Table not found, return an Integer=0 and AE_OK */ 171 /* Table not found, return an Integer=0 and AE_OK */
172 172
173 ddb_handle = acpi_ut_create_internal_object(ACPI_TYPE_INTEGER); 173 ddb_handle = acpi_ut_create_integer_object((u64) 0);
174 if (!ddb_handle) { 174 if (!ddb_handle) {
175 return_ACPI_STATUS(AE_NO_MEMORY); 175 return_ACPI_STATUS(AE_NO_MEMORY);
176 } 176 }
177 177
178 ddb_handle->integer.value = 0;
179 *return_desc = ddb_handle; 178 *return_desc = ddb_handle;
180
181 return_ACPI_STATUS(AE_OK); 179 return_ACPI_STATUS(AE_OK);
182 } 180 }
183 181
diff --git a/drivers/acpi/acpica/exconvrt.c b/drivers/acpi/acpica/exconvrt.c
index 37d0d39e60a6..51d5f224f9fa 100644
--- a/drivers/acpi/acpica/exconvrt.c
+++ b/drivers/acpi/acpica/exconvrt.c
@@ -167,7 +167,7 @@ acpi_ex_convert_to_integer(union acpi_operand_object *obj_desc,
167 167
168 /* Create a new integer */ 168 /* Create a new integer */
169 169
170 return_desc = acpi_ut_create_internal_object(ACPI_TYPE_INTEGER); 170 return_desc = acpi_ut_create_integer_object(result);
171 if (!return_desc) { 171 if (!return_desc) {
172 return_ACPI_STATUS(AE_NO_MEMORY); 172 return_ACPI_STATUS(AE_NO_MEMORY);
173 } 173 }
@@ -177,7 +177,6 @@ acpi_ex_convert_to_integer(union acpi_operand_object *obj_desc,
177 177
178 /* Save the Result */ 178 /* Save the Result */
179 179
180 return_desc->integer.value = result;
181 acpi_ex_truncate_for32bit_table(return_desc); 180 acpi_ex_truncate_for32bit_table(return_desc);
182 *result_desc = return_desc; 181 *result_desc = return_desc;
183 return_ACPI_STATUS(AE_OK); 182 return_ACPI_STATUS(AE_OK);
diff --git a/drivers/acpi/acpica/exfield.c b/drivers/acpi/acpica/exfield.c
index 0b33d6c887b9..1588a2d660e7 100644
--- a/drivers/acpi/acpica/exfield.c
+++ b/drivers/acpi/acpica/exfield.c
@@ -162,13 +162,12 @@ acpi_ex_read_data_from_field(struct acpi_walk_state *walk_state,
162 } else { 162 } else {
163 /* Field will fit within an Integer (normal case) */ 163 /* Field will fit within an Integer (normal case) */
164 164
165 buffer_desc = acpi_ut_create_internal_object(ACPI_TYPE_INTEGER); 165 buffer_desc = acpi_ut_create_integer_object((u64) 0);
166 if (!buffer_desc) { 166 if (!buffer_desc) {
167 return_ACPI_STATUS(AE_NO_MEMORY); 167 return_ACPI_STATUS(AE_NO_MEMORY);
168 } 168 }
169 169
170 length = acpi_gbl_integer_byte_width; 170 length = acpi_gbl_integer_byte_width;
171 buffer_desc->integer.value = 0;
172 buffer = &buffer_desc->integer.value; 171 buffer = &buffer_desc->integer.value;
173 } 172 }
174 173
diff --git a/drivers/acpi/acpica/exoparg1.c b/drivers/acpi/acpica/exoparg1.c
index 9635d21e568d..752fe48b2d20 100644
--- a/drivers/acpi/acpica/exoparg1.c
+++ b/drivers/acpi/acpica/exoparg1.c
@@ -100,12 +100,12 @@ acpi_status acpi_ex_opcode_0A_0T_1R(struct acpi_walk_state *walk_state)
100 100
101 /* Create a return object of type Integer */ 101 /* Create a return object of type Integer */
102 102
103 return_desc = acpi_ut_create_internal_object(ACPI_TYPE_INTEGER); 103 return_desc =
104 acpi_ut_create_integer_object(acpi_os_get_timer());
104 if (!return_desc) { 105 if (!return_desc) {
105 status = AE_NO_MEMORY; 106 status = AE_NO_MEMORY;
106 goto cleanup; 107 goto cleanup;
107 } 108 }
108 return_desc->integer.value = acpi_os_get_timer();
109 break; 109 break;
110 110
111 default: /* Unknown opcode */ 111 default: /* Unknown opcode */
@@ -599,7 +599,7 @@ acpi_status acpi_ex_opcode_1A_0T_1R(struct acpi_walk_state *walk_state)
599 switch (walk_state->opcode) { 599 switch (walk_state->opcode) {
600 case AML_LNOT_OP: /* LNot (Operand) */ 600 case AML_LNOT_OP: /* LNot (Operand) */
601 601
602 return_desc = acpi_ut_create_internal_object(ACPI_TYPE_INTEGER); 602 return_desc = acpi_ut_create_integer_object((u64) 0);
603 if (!return_desc) { 603 if (!return_desc) {
604 status = AE_NO_MEMORY; 604 status = AE_NO_MEMORY;
605 goto cleanup; 605 goto cleanup;
@@ -702,13 +702,11 @@ acpi_status acpi_ex_opcode_1A_0T_1R(struct acpi_walk_state *walk_state)
702 702
703 /* Allocate a descriptor to hold the type. */ 703 /* Allocate a descriptor to hold the type. */
704 704
705 return_desc = acpi_ut_create_internal_object(ACPI_TYPE_INTEGER); 705 return_desc = acpi_ut_create_integer_object((u64) type);
706 if (!return_desc) { 706 if (!return_desc) {
707 status = AE_NO_MEMORY; 707 status = AE_NO_MEMORY;
708 goto cleanup; 708 goto cleanup;
709 } 709 }
710
711 return_desc->integer.value = type;
712 break; 710 break;
713 711
714 case AML_SIZE_OF_OP: /* size_of (source_object) */ 712 case AML_SIZE_OF_OP: /* size_of (source_object) */
@@ -777,13 +775,11 @@ acpi_status acpi_ex_opcode_1A_0T_1R(struct acpi_walk_state *walk_state)
777 * Now that we have the size of the object, create a result 775 * Now that we have the size of the object, create a result
778 * object to hold the value 776 * object to hold the value
779 */ 777 */
780 return_desc = acpi_ut_create_internal_object(ACPI_TYPE_INTEGER); 778 return_desc = acpi_ut_create_integer_object(value);
781 if (!return_desc) { 779 if (!return_desc) {
782 status = AE_NO_MEMORY; 780 status = AE_NO_MEMORY;
783 goto cleanup; 781 goto cleanup;
784 } 782 }
785
786 return_desc->integer.value = value;
787 break; 783 break;
788 784
789 case AML_REF_OF_OP: /* ref_of (source_object) */ 785 case AML_REF_OF_OP: /* ref_of (source_object) */
@@ -946,24 +942,24 @@ acpi_status acpi_ex_opcode_1A_0T_1R(struct acpi_walk_state *walk_state)
946 * NOTE: index into a buffer is NOT a pointer to a 942 * NOTE: index into a buffer is NOT a pointer to a
947 * sub-buffer of the main buffer, it is only a pointer to a 943 * sub-buffer of the main buffer, it is only a pointer to a
948 * single element (byte) of the buffer! 944 * single element (byte) of the buffer!
945 *
946 * Since we are returning the value of the buffer at the
947 * indexed location, we don't need to add an additional
948 * reference to the buffer itself.
949 */ 949 */
950 return_desc = 950 return_desc =
951 acpi_ut_create_internal_object 951 acpi_ut_create_integer_object((u64)
952 (ACPI_TYPE_INTEGER); 952 temp_desc->
953 buffer.
954 pointer
955 [operand
956 [0]->
957 reference.
958 value]);
953 if (!return_desc) { 959 if (!return_desc) {
954 status = AE_NO_MEMORY; 960 status = AE_NO_MEMORY;
955 goto cleanup; 961 goto cleanup;
956 } 962 }
957
958 /*
959 * Since we are returning the value of the buffer at the
960 * indexed location, we don't need to add an additional
961 * reference to the buffer itself.
962 */
963 return_desc->integer.value =
964 temp_desc->buffer.
965 pointer[operand[0]->reference.
966 value];
967 break; 963 break;
968 964
969 case ACPI_TYPE_PACKAGE: 965 case ACPI_TYPE_PACKAGE:
diff --git a/drivers/acpi/acpica/exoparg6.c b/drivers/acpi/acpica/exoparg6.c
index ae43f7670a6c..295542e6bd51 100644
--- a/drivers/acpi/acpica/exoparg6.c
+++ b/drivers/acpi/acpica/exoparg6.c
@@ -253,18 +253,15 @@ acpi_status acpi_ex_opcode_6A_0T_1R(struct acpi_walk_state * walk_state)
253 } 253 }
254 254
255 /* Create an integer for the return value */ 255 /* Create an integer for the return value */
256 /* Default return value is ACPI_INTEGER_MAX if no match found */
256 257
257 return_desc = acpi_ut_create_internal_object(ACPI_TYPE_INTEGER); 258 return_desc = acpi_ut_create_integer_object(ACPI_INTEGER_MAX);
258 if (!return_desc) { 259 if (!return_desc) {
259 status = AE_NO_MEMORY; 260 status = AE_NO_MEMORY;
260 goto cleanup; 261 goto cleanup;
261 262
262 } 263 }
263 264
264 /* Default return value if no match found */
265
266 return_desc->integer.value = ACPI_INTEGER_MAX;
267
268 /* 265 /*
269 * Examine each element until a match is found. Both match conditions 266 * Examine each element until a match is found. Both match conditions
270 * must be satisfied for a match to occur. Within the loop, 267 * must be satisfied for a match to occur. Within the loop,
diff --git a/drivers/acpi/acpica/psparse.c b/drivers/acpi/acpica/psparse.c
index 70838e9b608c..4df8f139026c 100644
--- a/drivers/acpi/acpica/psparse.c
+++ b/drivers/acpi/acpica/psparse.c
@@ -610,17 +610,13 @@ acpi_status acpi_ps_parse_aml(struct acpi_walk_state *walk_state)
610 implicit_return_obj) { 610 implicit_return_obj) {
611 previous_walk_state-> 611 previous_walk_state->
612 implicit_return_obj = 612 implicit_return_obj =
613 acpi_ut_create_internal_object 613 acpi_ut_create_integer_object
614 (ACPI_TYPE_INTEGER); 614 ((u64) 0);
615 if (!previous_walk_state-> 615 if (!previous_walk_state->
616 implicit_return_obj) { 616 implicit_return_obj) {
617 return_ACPI_STATUS 617 return_ACPI_STATUS
618 (AE_NO_MEMORY); 618 (AE_NO_MEMORY);
619 } 619 }
620
621 previous_walk_state->
622 implicit_return_obj->
623 integer.value = 0;
624 } 620 }
625 621
626 /* Restart the calling control method */ 622 /* Restart the calling control method */
diff --git a/drivers/acpi/acpica/psxface.c b/drivers/acpi/acpica/psxface.c
index dd9731c29a79..12934ad6da8e 100644
--- a/drivers/acpi/acpica/psxface.c
+++ b/drivers/acpi/acpica/psxface.c
@@ -306,14 +306,12 @@ acpi_status acpi_ps_execute_method(struct acpi_evaluate_info *info)
306 */ 306 */
307 if (acpi_gbl_enable_interpreter_slack) { 307 if (acpi_gbl_enable_interpreter_slack) {
308 walk_state->implicit_return_obj = 308 walk_state->implicit_return_obj =
309 acpi_ut_create_internal_object(ACPI_TYPE_INTEGER); 309 acpi_ut_create_integer_object((u64) 0);
310 if (!walk_state->implicit_return_obj) { 310 if (!walk_state->implicit_return_obj) {
311 status = AE_NO_MEMORY; 311 status = AE_NO_MEMORY;
312 acpi_ds_delete_walk_state(walk_state); 312 acpi_ds_delete_walk_state(walk_state);
313 goto cleanup; 313 goto cleanup;
314 } 314 }
315
316 walk_state->implicit_return_obj->integer.value = 0;
317 } 315 }
318 316
319 /* Parse the AML */ 317 /* Parse the AML */