Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 46345
b: refs/heads/master
c: 9c52657
h: refs/heads/master
i:
  46343: 642a9e1
v: v3
  • Loading branch information
Bob Moore authored and Len Brown committed Feb 3, 2007
1 parent 52ade22 commit 188fef1
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 6b366e2fe1b68bd9af55caf166eaaf0609ba18a9
refs/heads/master: 9c52657a2ac8aac5149e11049497b10918e1f58f
30 changes: 28 additions & 2 deletions trunk/drivers/acpi/dispatcher/dsfield.c
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,8 @@ acpi_ds_create_buffer_field(union acpi_parse_object *op,
}
}

/* We could put the returned object (Node) on the object stack for later,
/*
* We could put the returned object (Node) on the object stack for later,
* but for now, we will put it in the "op" object that the parser uses,
* so we can get it again at the end of this scope
*/
Expand Down Expand Up @@ -514,8 +515,33 @@ acpi_ds_create_bank_field(union acpi_parse_object *op,

/* Third arg is the bank_value */

/* TBD: This arg is a term_arg, not a constant, and must be evaluated */

arg = arg->common.next;
info.bank_value = (u32) arg->common.value.integer;

/* Currently, only the following constants are supported */

switch (arg->common.aml_opcode) {
case AML_ZERO_OP:
info.bank_value = 0;
break;

case AML_ONE_OP:
info.bank_value = 1;
break;

case AML_BYTE_OP:
case AML_WORD_OP:
case AML_DWORD_OP:
case AML_QWORD_OP:
info.bank_value = (u32) arg->common.value.integer;
break;

default:
info.bank_value = 0;
ACPI_ERROR((AE_INFO,
"Non-constant BankValue for BankField is not implemented"));
}

/* Fourth arg is the field flags */

Expand Down

0 comments on commit 188fef1

Please sign in to comment.