aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi/acstruct.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/acpi/acstruct.h')
-rw-r--r--include/acpi/acstruct.h90
1 files changed, 54 insertions, 36 deletions
diff --git a/include/acpi/acstruct.h b/include/acpi/acstruct.h
index b8a6d6110d57..5e8095f0f78f 100644
--- a/include/acpi/acstruct.h
+++ b/include/acpi/acstruct.h
@@ -53,17 +53,25 @@
53 ****************************************************************************/ 53 ****************************************************************************/
54 54
55/* 55/*
56 * Walk state - current state of a parse tree walk. Used for both a leisurely stroll through 56 * Walk state - current state of a parse tree walk. Used for both a leisurely
57 * the tree (for whatever reason), and for control method execution. 57 * stroll through the tree (for whatever reason), and for control method
58 * execution.
58 */ 59 */
59#define ACPI_NEXT_OP_DOWNWARD 1 60#define ACPI_NEXT_OP_DOWNWARD 1
60#define ACPI_NEXT_OP_UPWARD 2 61#define ACPI_NEXT_OP_UPWARD 2
61 62
63/*
64 * Groups of definitions for walk_type used for different implementations of
65 * walkers (never simultaneously) - flags for interpreter:
66 */
62#define ACPI_WALK_NON_METHOD 0 67#define ACPI_WALK_NON_METHOD 0
63#define ACPI_WALK_METHOD 1 68#define ACPI_WALK_METHOD 0x01
64#define ACPI_WALK_METHOD_RESTART 2 69#define ACPI_WALK_METHOD_RESTART 0x02
65#define ACPI_WALK_CONST_REQUIRED 3 70
66#define ACPI_WALK_CONST_OPTIONAL 4 71/* Flags for i_aSL compiler only */
72
73#define ACPI_WALK_CONST_REQUIRED 0x10
74#define ACPI_WALK_CONST_OPTIONAL 0x20
67 75
68struct acpi_walk_state { 76struct acpi_walk_state {
69 struct acpi_walk_state *next; /* Next walk_state in list */ 77 struct acpi_walk_state *next; /* Next walk_state in list */
@@ -134,32 +142,6 @@ struct acpi_init_walk_info {
134 struct acpi_table_desc *table_desc; 142 struct acpi_table_desc *table_desc;
135}; 143};
136 144
137/* Info used by acpi_ns_initialize_devices */
138
139struct acpi_device_walk_info {
140 u16 device_count;
141 u16 num_STA;
142 u16 num_INI;
143 struct acpi_table_desc *table_desc;
144};
145
146/* TBD: [Restructure] Merge with struct above */
147
148struct acpi_walk_info {
149 u32 debug_level;
150 u32 count;
151 acpi_owner_id owner_id;
152 u8 display_type;
153};
154
155/* Display Types */
156
157#define ACPI_DISPLAY_SUMMARY (u8) 0
158#define ACPI_DISPLAY_OBJECTS (u8) 1
159#define ACPI_DISPLAY_MASK (u8) 1
160
161#define ACPI_DISPLAY_SHORT (u8) 2
162
163struct acpi_get_devices_info { 145struct acpi_get_devices_info {
164 acpi_walk_callback user_function; 146 acpi_walk_callback user_function;
165 void *context; 147 void *context;
@@ -192,16 +174,21 @@ union acpi_aml_operands {
192 } mid; 174 } mid;
193}; 175};
194 176
195/* Internal method parameter list */ 177/*
196 178 * Structure used to pass object evaluation parameters.
197struct acpi_parameter_info { 179 * Purpose is to reduce CPU stack use.
198 struct acpi_namespace_node *node; 180 */
181struct acpi_evaluate_info {
182 struct acpi_namespace_node *prefix_node;
183 char *pathname;
199 union acpi_operand_object *obj_desc; 184 union acpi_operand_object *obj_desc;
200 union acpi_operand_object **parameters; 185 union acpi_operand_object **parameters;
186 struct acpi_namespace_node *resolved_node;
201 union acpi_operand_object *return_object; 187 union acpi_operand_object *return_object;
202 u8 pass_number; 188 u8 pass_number;
203 u8 parameter_type; 189 u8 parameter_type;
204 u8 return_object_type; 190 u8 return_object_type;
191 u8 flags;
205}; 192};
206 193
207/* Types for parameter_type above */ 194/* Types for parameter_type above */
@@ -209,4 +196,35 @@ struct acpi_parameter_info {
209#define ACPI_PARAM_ARGS 0 196#define ACPI_PARAM_ARGS 0
210#define ACPI_PARAM_GPE 1 197#define ACPI_PARAM_GPE 1
211 198
199/* Values for Flags above */
200
201#define ACPI_IGNORE_RETURN_VALUE 1
202
203/* Info used by acpi_ns_initialize_devices */
204
205struct acpi_device_walk_info {
206 u16 device_count;
207 u16 num_STA;
208 u16 num_INI;
209 struct acpi_table_desc *table_desc;
210 struct acpi_evaluate_info *evaluate_info;
211};
212
213/* TBD: [Restructure] Merge with struct above */
214
215struct acpi_walk_info {
216 u32 debug_level;
217 u32 count;
218 acpi_owner_id owner_id;
219 u8 display_type;
220};
221
222/* Display Types */
223
224#define ACPI_DISPLAY_SUMMARY (u8) 0
225#define ACPI_DISPLAY_OBJECTS (u8) 1
226#define ACPI_DISPLAY_MASK (u8) 1
227
228#define ACPI_DISPLAY_SHORT (u8) 2
229
212#endif 230#endif