• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/acpi/acpica/

Lines Matching refs:walk_state

65 static acpi_status acpi_ps_get_aml_opcode(struct acpi_walk_state *walk_state);
68 acpi_ps_build_named_op(struct acpi_walk_state *walk_state,
74 acpi_ps_create_op(struct acpi_walk_state *walk_state,
78 acpi_ps_get_arguments(struct acpi_walk_state *walk_state,
82 acpi_ps_complete_op(struct acpi_walk_state *walk_state,
86 acpi_ps_complete_final_op(struct acpi_walk_state *walk_state,
97 * PARAMETERS: walk_state - Current state
105 static acpi_status acpi_ps_get_aml_opcode(struct acpi_walk_state *walk_state)
108 ACPI_FUNCTION_TRACE_PTR(ps_get_aml_opcode, walk_state);
110 walk_state->aml_offset =
111 (u32) ACPI_PTR_DIFF(walk_state->parser_state.aml,
112 walk_state->parser_state.aml_start);
113 walk_state->opcode = acpi_ps_peek_opcode(&(walk_state->parser_state));
121 walk_state->op_info = acpi_ps_get_opcode_info(walk_state->opcode);
123 switch (walk_state->op_info->class) {
130 walk_state->opcode = AML_INT_NAMEPATH_OP;
131 walk_state->arg_types = ARGP_NAMESTRING;
140 walk_state->opcode, walk_state->parser_state.aml,
141 walk_state->aml_offset));
143 ACPI_DUMP_BUFFER(walk_state->parser_state.aml, 128);
147 walk_state->parser_state.aml++;
154 walk_state->parser_state.aml +=
155 acpi_ps_get_opcode_size(walk_state->opcode);
156 walk_state->arg_types = walk_state->op_info->parse_args;
167 * PARAMETERS: walk_state - Current state
179 acpi_ps_build_named_op(struct acpi_walk_state *walk_state,
187 ACPI_FUNCTION_TRACE_PTR(ps_build_named_op, walk_state);
191 unnamed_op->common.aml_opcode = walk_state->opcode;
197 while (GET_CURRENT_ARG_TYPE(walk_state->arg_types) &&
198 (GET_CURRENT_ARG_TYPE(walk_state->arg_types) != ARGP_NAME)) {
200 acpi_ps_get_next_arg(walk_state,
201 &(walk_state->parser_state),
202 GET_CURRENT_ARG_TYPE(walk_state->
209 INCREMENT_ARG_LIST(walk_state->arg_types);
215 if (!GET_CURRENT_ARG_TYPE(walk_state->arg_types)) {
221 INCREMENT_ARG_LIST(walk_state->arg_types);
227 walk_state->op = NULL;
229 status = walk_state->descending_callback(walk_state, op);
239 status = acpi_ps_next_parse_state(walk_state, *op, status);
273 * PARAMETERS: walk_state - Current state
284 acpi_ps_create_op(struct acpi_walk_state *walk_state,
294 ACPI_FUNCTION_TRACE_PTR(ps_create_op, walk_state);
296 status = acpi_ps_get_aml_opcode(walk_state);
303 walk_state->op_info = acpi_ps_get_opcode_info(walk_state->opcode);
304 op = acpi_ps_alloc_op(walk_state->opcode);
309 if (walk_state->op_info->flags & AML_NAMED) {
311 acpi_ps_build_named_op(walk_state, aml_op_start, op,
324 if (walk_state->op_info->flags & AML_CREATE) {
333 if (walk_state->opcode == AML_BANK_FIELD_OP) {
342 parent_scope = acpi_ps_get_parent_scope(&(walk_state->parser_state));
360 if (walk_state->descending_callback != NULL) {
365 walk_state->op = *new_op = op;
367 status = walk_state->descending_callback(walk_state, &op);
368 status = acpi_ps_next_parse_state(walk_state, op, status);
381 * PARAMETERS: walk_state - Current state
392 acpi_ps_get_arguments(struct acpi_walk_state *walk_state,
399 ACPI_FUNCTION_TRACE_PTR(ps_get_arguments, walk_state);
410 acpi_ps_get_next_simple_arg(&(walk_state->parser_state),
411 GET_CURRENT_ARG_TYPE(walk_state->
419 acpi_ps_get_next_namepath(walk_state,
420 &(walk_state->parser_state), op,
426 walk_state->arg_types = 0;
433 while (GET_CURRENT_ARG_TYPE(walk_state->arg_types)
434 && !walk_state->arg_count) {
435 walk_state->aml_offset =
436 (u32) ACPI_PTR_DIFF(walk_state->parser_state.aml,
437 walk_state->parser_state.
441 acpi_ps_get_next_arg(walk_state,
442 &(walk_state->parser_state),
444 (walk_state->arg_types), &arg);
450 arg->common.aml_offset = walk_state->aml_offset;
454 INCREMENT_ARG_LIST(walk_state->arg_types);
461 if ((walk_state->pass_number <= ACPI_IMODE_LOAD_PASS2) &&
462 ((walk_state->parse_flags & ACPI_PARSE_DISASSEMBLE) == 0)) {
481 if (walk_state->pass_number ==
487 (walk_state->
491 walk_state->
500 walk_state->parser_state.aml =
501 walk_state->parser_state.pkg_end;
502 walk_state->arg_count = 0;
512 if ((walk_state->pass_number ==
525 (u32)((aml_op_start - walk_state->parser_state.aml_start)
543 op->named.data = walk_state->parser_state.aml;
545 (walk_state->parser_state.pkg_end -
546 walk_state->parser_state.aml);
550 walk_state->parser_state.aml =
551 walk_state->parser_state.pkg_end;
552 walk_state->arg_count = 0;
562 && (walk_state->pass_number <=
570 (walk_state->parser_state.pkg_end -
575 walk_state->parser_state.aml =
576 walk_state->parser_state.pkg_end;
577 walk_state->arg_count = 0;
583 if (walk_state->control_state) {
584 walk_state->control_state->control.package_end =
585 walk_state->parser_state.pkg_end;
681 * PARAMETERS: walk_state - Current state
692 acpi_ps_complete_op(struct acpi_walk_state *walk_state,
697 ACPI_FUNCTION_TRACE_PTR(ps_complete_op, walk_state);
702 walk_state->parser_state.scope->parse_scope.arg_count--;
706 status2 = acpi_ps_complete_this_op(walk_state, *op);
721 walk_state->prev_op = NULL;
722 walk_state->prev_arg_types = walk_state->arg_types;
727 acpi_ps_pop_scope(&(walk_state->parser_state), op,
728 &walk_state->arg_types,
729 &walk_state->arg_count);
732 walk_state->op = *op;
733 walk_state->op_info =
735 walk_state->opcode = (*op)->common.aml_opcode;
737 status = walk_state->ascending_callback(walk_state);
739 acpi_ps_next_parse_state(walk_state, *op, status);
741 status2 = acpi_ps_complete_this_op(walk_state, *op);
756 acpi_ps_pop_scope(&(walk_state->parser_state), op,
757 &walk_state->arg_types,
758 &walk_state->arg_count);
763 walk_state->op = *op;
764 walk_state->op_info =
766 walk_state->opcode = (*op)->common.aml_opcode;
768 status = walk_state->ascending_callback(walk_state);
769 status = acpi_ps_next_parse_state(walk_state, *op, status);
771 status2 = acpi_ps_complete_this_op(walk_state, *op);
785 acpi_ps_complete_this_op(walk_state, *op);
792 (&walk_state->control_state));
795 acpi_ps_pop_scope(&(walk_state->parser_state), op,
796 &walk_state->arg_types,
797 &walk_state->arg_count);
808 acpi_ps_complete_this_op(walk_state, *op);
814 acpi_ps_pop_scope(&(walk_state->parser_state), op,
815 &walk_state->arg_types,
816 &walk_state->arg_count);
820 walk_state->prev_op = NULL;
821 walk_state->prev_arg_types = walk_state->arg_types;
827 if (acpi_ps_has_completed_scope(&(walk_state->parser_state))) {
828 acpi_ps_pop_scope(&(walk_state->parser_state), op,
829 &walk_state->arg_types,
830 &walk_state->arg_count);
845 * PARAMETERS: walk_state - Current state
857 acpi_ps_complete_final_op(struct acpi_walk_state *walk_state,
862 ACPI_FUNCTION_TRACE_PTR(ps_complete_final_op, walk_state);
874 if (walk_state->ascending_callback != NULL) {
875 walk_state->op = op;
876 walk_state->op_info =
879 walk_state->opcode = op->common.aml_opcode;
882 walk_state->ascending_callback(walk_state);
884 acpi_ps_next_parse_state(walk_state, op,
888 acpi_ps_complete_op(walk_state, &op,
903 (walk_state, op);
912 (walk_state->
915 &walk_state->
917 &walk_state->
930 acpi_ps_complete_this_op(walk_state,
936 status2 = acpi_ps_complete_this_op(walk_state, op);
942 acpi_ps_pop_scope(&(walk_state->parser_state), &op,
943 &walk_state->arg_types,
944 &walk_state->arg_count);
955 * PARAMETERS: walk_state - Current state
964 acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state)
971 ACPI_FUNCTION_TRACE_PTR(ps_parse_loop, walk_state);
973 if (walk_state->descending_callback == NULL) {
977 parser_state = &walk_state->parser_state;
978 walk_state->arg_types = 0;
982 if (walk_state->walk_type & ACPI_WALK_METHOD_RESTART) {
996 && (walk_state->control_state)
997 && (walk_state->control_state->common.state ==
1003 walk_state->op = NULL;
1005 acpi_ds_get_predicate_value(walk_state,
1022 acpi_ps_next_parse_state(walk_state, op,
1027 &walk_state->arg_types,
1028 &walk_state->arg_count);
1031 } else if (walk_state->prev_op) {
1035 op = walk_state->prev_op;
1036 walk_state->arg_types = walk_state->prev_arg_types;
1047 acpi_ps_create_op(walk_state, aml_op_start, &op);
1058 acpi_ps_complete_op(walk_state, &op,
1067 op->common.aml_offset = walk_state->aml_offset;
1069 if (walk_state->op_info) {
1073 walk_state->op_info->name, op,
1083 walk_state->arg_count = 0;
1087 if (walk_state->arg_types) {
1092 acpi_ps_get_arguments(walk_state, aml_op_start, op);
1095 acpi_ps_complete_op(walk_state, &op,
1107 if (walk_state->arg_count) {
1113 walk_state->arg_types,
1114 walk_state->arg_count);
1117 acpi_ps_complete_op(walk_state, &op,
1134 walk_state->op_info =
1136 if (walk_state->op_info->flags & AML_NAMED) {
1156 if (walk_state->op_info->flags & AML_CREATE) {
1179 if (walk_state->ascending_callback != NULL) {
1180 walk_state->op = op;
1181 walk_state->opcode = op->common.aml_opcode;
1183 status = walk_state->ascending_callback(walk_state);
1185 acpi_ps_next_parse_state(walk_state, op, status);
1191 status = acpi_ps_complete_op(walk_state, &op, status);
1198 status = acpi_ps_complete_final_op(walk_state, op, status);