• 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/drivers/acpi/acpica/

Lines Matching refs:walk_state

62  *              walk_state          - Current Walk state
72 struct acpi_walk_state *walk_state)
80 state = walk_state->results;
84 if (state && !walk_state->result_count) {
89 if (!state && walk_state->result_count) {
98 walk_state));
104 walk_state->result_count--;
105 index = (u32)walk_state->result_count % ACPI_RESULTS_FRAME_OBJ_NUM;
111 walk_state));
117 status = acpi_ds_result_stack_pop(walk_state);
126 index, walk_state, walk_state->result_count));
136 * walk_state - Current Walk state
146 struct acpi_walk_state * walk_state)
154 if (walk_state->result_count > walk_state->result_size) {
157 } else if (walk_state->result_count == walk_state->result_size) {
161 status = acpi_ds_result_stack_push(walk_state);
169 if (!(walk_state->result_count < walk_state->result_size)) {
174 state = walk_state->results;
183 object, walk_state, walk_state->result_count));
189 index = (u32)walk_state->result_count % ACPI_RESULTS_FRAME_OBJ_NUM;
191 walk_state->result_count++;
197 object), walk_state,
198 walk_state->result_count,
199 walk_state->current_result));
208 * PARAMETERS: walk_state - Current Walk state
212 * DESCRIPTION: Push an object onto the walk_state result stack
216 static acpi_status acpi_ds_result_stack_push(struct acpi_walk_state *walk_state)
224 if (((u32) walk_state->result_size + ACPI_RESULTS_FRAME_OBJ_NUM) >
227 walk_state, walk_state->result_size));
237 acpi_ut_push_generic_state(&walk_state->results, state);
241 walk_state->result_size += ACPI_RESULTS_FRAME_OBJ_NUM;
244 state, walk_state));
253 * PARAMETERS: walk_state - Current Walk state
257 * DESCRIPTION: Pop an object off of the walk_state result stack
261 static acpi_status acpi_ds_result_stack_pop(struct acpi_walk_state *walk_state)
269 if (walk_state->results == NULL) {
272 walk_state));
276 if (walk_state->result_size < ACPI_RESULTS_FRAME_OBJ_NUM) {
281 state = acpi_ut_pop_generic_state(&walk_state->results);
286 walk_state->result_size -= ACPI_RESULTS_FRAME_OBJ_NUM;
290 state, walk_state->result_count, walk_state));
300 * walk_state - Current Walk state
309 acpi_ds_obj_stack_push(void *object, struct acpi_walk_state * walk_state)
315 if (walk_state->num_operands >= ACPI_OBJ_NUM_OPERANDS) {
318 object, walk_state, walk_state->num_operands));
324 walk_state->operands[walk_state->operand_index] = object;
325 walk_state->num_operands++;
329 walk_state->operand_index++;
335 object), walk_state,
336 walk_state->num_operands));
346 * walk_state - Current Walk state
356 acpi_ds_obj_stack_pop(u32 pop_count, struct acpi_walk_state * walk_state)
366 if (walk_state->num_operands == 0) {
369 pop_count, walk_state,
370 walk_state->num_operands));
376 walk_state->num_operands--;
377 walk_state->operands[walk_state->num_operands] = NULL;
381 pop_count, walk_state, walk_state->num_operands));
391 * walk_state - Current Walk state
402 struct acpi_walk_state *walk_state)
414 if (walk_state->num_operands == 0) {
420 walk_state->num_operands--;
421 obj_desc = walk_state->operands[i];
423 acpi_ut_remove_reference(walk_state->operands[i]);
424 walk_state->operands[i] = NULL;
429 pop_count, walk_state, walk_state->num_operands));
464 * PARAMETERS: walk_state - State to push
474 acpi_ds_push_walk_state(struct acpi_walk_state *walk_state,
479 walk_state->next = thread->walk_state_list;
480 thread->walk_state_list = walk_state;
491 * RETURN: A walk_state object popped from the thread's stack
501 struct acpi_walk_state *walk_state;
505 walk_state = thread->walk_state_list;
507 if (walk_state) {
511 thread->walk_state_list = walk_state->next;
516 * Do Not: walk_state->Next = NULL;
520 return_PTR(walk_state);
544 struct acpi_walk_state *walk_state;
548 walk_state = ACPI_ALLOCATE_ZEROED(sizeof(struct acpi_walk_state));
549 if (!walk_state) {
553 walk_state->descriptor_type = ACPI_DESC_TYPE_WALK;
554 walk_state->method_desc = method_desc;
555 walk_state->owner_id = owner_id;
556 walk_state->origin = origin;
557 walk_state->thread = thread;
559 walk_state->parser_state.start_op = origin;
564 acpi_ds_method_data_init(walk_state);
570 acpi_ds_push_walk_state(walk_state, thread);
573 return_PTR(walk_state);
580 * PARAMETERS: walk_state - New state to be initialized
595 acpi_ds_init_aml_walk(struct acpi_walk_state *walk_state,
603 struct acpi_parse_state *parser_state = &walk_state->parser_state;
608 walk_state->parser_state.aml =
609 walk_state->parser_state.aml_start = aml_start;
610 walk_state->parser_state.aml_end =
611 walk_state->parser_state.pkg_end = aml_start + aml_length;
615 walk_state->next_op = NULL;
616 walk_state->pass_number = pass_number;
619 walk_state->params = info->parameters;
620 walk_state->caller_return_desc = &info->return_object;
623 status = acpi_ps_init_scope(&walk_state->parser_state, op);
629 walk_state->parser_state.start_node = method_node;
630 walk_state->walk_type = ACPI_WALK_METHOD;
631 walk_state->method_node = method_node;
632 walk_state->method_desc =
639 walk_state);
646 status = acpi_ds_method_data_init_args(walk_state->params,
648 walk_state);
677 type, walk_state);
684 status = acpi_ds_init_callbacks(walk_state, pass_number);
692 * PARAMETERS: walk_state - State to delete
700 void acpi_ds_delete_walk_state(struct acpi_walk_state *walk_state)
704 ACPI_FUNCTION_TRACE_PTR(ds_delete_walk_state, walk_state);
706 if (!walk_state) {
710 if (walk_state->descriptor_type != ACPI_DESC_TYPE_WALK) {
712 walk_state));
718 if (walk_state->parser_state.scope) {
720 walk_state));
721 acpi_ps_cleanup_scope(&walk_state->parser_state);
726 while (walk_state->control_state) {
727 state = walk_state->control_state;
728 walk_state->control_state = state->common.next;
735 while (walk_state->scope_info) {
736 state = walk_state->scope_info;
737 walk_state->scope_info = state->common.next;
744 while (walk_state->results) {
745 state = walk_state->results;
746 walk_state->results = state->common.next;
751 ACPI_FREE(walk_state);