aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi/aclocal.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/acpi/aclocal.h')
-rw-r--r--include/acpi/aclocal.h284
1 files changed, 152 insertions, 132 deletions
diff --git a/include/acpi/aclocal.h b/include/acpi/aclocal.h
index 8361820d2970..1eeca7adca95 100644
--- a/include/acpi/aclocal.h
+++ b/include/acpi/aclocal.h
@@ -44,7 +44,10 @@
44#ifndef __ACLOCAL_H__ 44#ifndef __ACLOCAL_H__
45#define __ACLOCAL_H__ 45#define __ACLOCAL_H__
46 46
47/* acpisrc:struct_defs -- for acpisrc conversion */
48
47#define ACPI_WAIT_FOREVER 0xFFFF /* u16, as per ACPI spec */ 49#define ACPI_WAIT_FOREVER 0xFFFF /* u16, as per ACPI spec */
50#define ACPI_INFINITE_CONCURRENCY 0xFF
48 51
49typedef void *acpi_mutex; 52typedef void *acpi_mutex;
50typedef u32 acpi_mutex_handle; 53typedef u32 acpi_mutex_handle;
@@ -69,52 +72,55 @@ union acpi_parse_object;
69 * Predefined handles for the mutex objects used within the subsystem 72 * Predefined handles for the mutex objects used within the subsystem
70 * All mutex objects are automatically created by acpi_ut_mutex_initialize. 73 * All mutex objects are automatically created by acpi_ut_mutex_initialize.
71 * 74 *
72 * The acquire/release ordering protocol is implied via this list. Mutexes 75 * The acquire/release ordering protocol is implied via this list. Mutexes
73 * with a lower value must be acquired before mutexes with a higher value. 76 * with a lower value must be acquired before mutexes with a higher value.
74 * 77 *
75 * NOTE: any changes here must be reflected in the acpi_gbl_mutex_names table also! 78 * NOTE: any changes here must be reflected in the acpi_gbl_mutex_names
79 * table below also!
76 */ 80 */
77#define ACPI_MTX_EXECUTE 0 81#define ACPI_MTX_INTERPRETER 0 /* AML Interpreter, main lock */
78#define ACPI_MTX_INTERPRETER 1 82#define ACPI_MTX_CONTROL_METHOD 1 /* Control method termination [TBD: may no longer be necessary] */
79#define ACPI_MTX_PARSER 2 83#define ACPI_MTX_TABLES 2 /* Data for ACPI tables */
80#define ACPI_MTX_DISPATCHER 3 84#define ACPI_MTX_NAMESPACE 3 /* ACPI Namespace */
81#define ACPI_MTX_TABLES 4 85#define ACPI_MTX_EVENTS 4 /* Data for ACPI events */
82#define ACPI_MTX_OP_REGIONS 5 86#define ACPI_MTX_CACHES 5 /* Internal caches, general purposes */
83#define ACPI_MTX_NAMESPACE 6 87#define ACPI_MTX_MEMORY 6 /* Debug memory tracking lists */
84#define ACPI_MTX_EVENTS 7 88#define ACPI_MTX_DEBUG_CMD_COMPLETE 7 /* AML debugger */
85#define ACPI_MTX_HARDWARE 8 89#define ACPI_MTX_DEBUG_CMD_READY 8 /* AML debugger */
86#define ACPI_MTX_CACHES 9 90
87#define ACPI_MTX_MEMORY 10 91#define ACPI_MAX_MUTEX 8
88#define ACPI_MTX_DEBUG_CMD_COMPLETE 11 92#define ACPI_NUM_MUTEX ACPI_MAX_MUTEX+1
89#define ACPI_MTX_DEBUG_CMD_READY 12
90
91#define MAX_MUTEX 12
92#define NUM_MUTEX MAX_MUTEX+1
93 93
94#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) 94#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER)
95#ifdef DEFINE_ACPI_GLOBALS 95#ifdef DEFINE_ACPI_GLOBALS
96 96
97/* Names for the mutexes used in the subsystem */ 97/* Debug names for the mutexes above */
98 98
99static char *acpi_gbl_mutex_names[] = { 99static char *acpi_gbl_mutex_names[ACPI_NUM_MUTEX] = {
100 "ACPI_MTX_Execute",
101 "ACPI_MTX_Interpreter", 100 "ACPI_MTX_Interpreter",
102 "ACPI_MTX_Parser", 101 "ACPI_MTX_Method",
103 "ACPI_MTX_Dispatcher",
104 "ACPI_MTX_Tables", 102 "ACPI_MTX_Tables",
105 "ACPI_MTX_op_regions",
106 "ACPI_MTX_Namespace", 103 "ACPI_MTX_Namespace",
107 "ACPI_MTX_Events", 104 "ACPI_MTX_Events",
108 "ACPI_MTX_Hardware",
109 "ACPI_MTX_Caches", 105 "ACPI_MTX_Caches",
110 "ACPI_MTX_Memory", 106 "ACPI_MTX_Memory",
111 "ACPI_MTX_debug_cmd_complete", 107 "ACPI_MTX_DebugCmdComplete",
112 "ACPI_MTX_debug_cmd_ready", 108 "ACPI_MTX_DebugCmdReady"
113}; 109};
114 110
115#endif 111#endif
116#endif 112#endif
117 113
114/*
115 * Predefined handles for spinlocks used within the subsystem.
116 * These spinlocks are created by acpi_ut_mutex_initialize
117 */
118#define ACPI_LOCK_GPES 0
119#define ACPI_LOCK_HARDWARE 1
120
121#define ACPI_MAX_LOCK 1
122#define ACPI_NUM_LOCK ACPI_MAX_LOCK+1
123
118/* Owner IDs are used to track namespace nodes for selective deletion */ 124/* Owner IDs are used to track namespace nodes for selective deletion */
119 125
120typedef u8 acpi_owner_id; 126typedef u8 acpi_owner_id;
@@ -129,7 +135,7 @@ typedef u8 acpi_owner_id;
129struct acpi_mutex_info { 135struct acpi_mutex_info {
130 acpi_mutex mutex; 136 acpi_mutex mutex;
131 u32 use_count; 137 u32 use_count;
132 u32 thread_id; 138 acpi_thread_id thread_id;
133}; 139};
134 140
135/* Lock flag parameter for various interfaces */ 141/* Lock flag parameter for various interfaces */
@@ -144,6 +150,8 @@ struct acpi_mutex_info {
144#define ACPI_FIELD_DWORD_GRANULARITY 4 150#define ACPI_FIELD_DWORD_GRANULARITY 4
145#define ACPI_FIELD_QWORD_GRANULARITY 8 151#define ACPI_FIELD_QWORD_GRANULARITY 8
146 152
153#define ACPI_ENTRY_NOT_FOUND NULL
154
147/***************************************************************************** 155/*****************************************************************************
148 * 156 *
149 * Namespace typedefs and structs 157 * Namespace typedefs and structs
@@ -158,49 +166,55 @@ typedef enum {
158 ACPI_IMODE_EXECUTE = 0x0E 166 ACPI_IMODE_EXECUTE = 0x0E
159} acpi_interpreter_mode; 167} acpi_interpreter_mode;
160 168
161/*
162 * The Node describes a named object that appears in the AML
163 * An acpi_node is used to store Nodes.
164 *
165 * data_type is used to differentiate between internal descriptors, and MUST
166 * be the first byte in this structure.
167 */
168union acpi_name_union { 169union acpi_name_union {
169 u32 integer; 170 u32 integer;
170 char ascii[4]; 171 char ascii[4];
171}; 172};
172 173
174/*
175 * The Namespace Node describes a named object that appears in the AML.
176 * descriptor_type is used to differentiate between internal descriptors.
177 *
178 * The node is optimized for both 32-bit and 64-bit platforms:
179 * 20 bytes for the 32-bit case, 32 bytes for the 64-bit case.
180 *
181 * Note: The descriptor_type and Type fields must appear in the identical
182 * position in both the struct acpi_namespace_node and union acpi_operand_object
183 * structures.
184 */
173struct acpi_namespace_node { 185struct acpi_namespace_node {
174 u8 descriptor; /* Used to differentiate object descriptor types */ 186 union acpi_operand_object *object; /* Interpreter object */
175 u8 type; /* Type associated with this name */ 187 u8 descriptor_type; /* Differentiate object descriptor types */
176 u16 reference_count; /* Current count of references and children */ 188 u8 type; /* ACPI Type associated with this name */
189 u8 flags; /* Miscellaneous flags */
190 acpi_owner_id owner_id; /* Node creator */
177 union acpi_name_union name; /* ACPI Name, always 4 chars per ACPI spec */ 191 union acpi_name_union name; /* ACPI Name, always 4 chars per ACPI spec */
178 union acpi_operand_object *object; /* Pointer to attached ACPI object (optional) */
179 struct acpi_namespace_node *child; /* First child */ 192 struct acpi_namespace_node *child; /* First child */
180 struct acpi_namespace_node *peer; /* Next peer */ 193 struct acpi_namespace_node *peer; /* Peer. Parent if ANOBJ_END_OF_PEER_LIST set */
181 u8 owner_id; /* Who created this node */
182 u8 flags;
183
184 /* Fields used by the ASL compiler only */
185 194
186#ifdef ACPI_ASL_COMPILER 195 /*
187 u32 value; 196 * The following fields are used by the ASL compiler and disassembler only
197 */
198#ifdef ACPI_LARGE_NAMESPACE_NODE
188 union acpi_parse_object *op; 199 union acpi_parse_object *op;
200 u32 value;
201 u32 length;
189#endif 202#endif
190}; 203};
191 204
192#define ACPI_ENTRY_NOT_FOUND NULL 205/* Namespace Node flags */
193 206
194/* Node flags */ 207#define ANOBJ_END_OF_PEER_LIST 0x01 /* End-of-list, Peer field points to parent */
208#define ANOBJ_DATA_WIDTH_32 0x02 /* Parent table uses 32-bit math */
209#define ANOBJ_METHOD_ARG 0x04 /* Node is a method argument */
210#define ANOBJ_METHOD_LOCAL 0x08 /* Node is a method local */
211#define ANOBJ_SUBTREE_HAS_INI 0x10 /* Used to optimize device initialization */
195 212
196#define ANOBJ_RESERVED 0x01 213#define ANOBJ_IS_EXTERNAL 0x08 /* i_aSL only: This object created via External() */
197#define ANOBJ_END_OF_PEER_LIST 0x02 214#define ANOBJ_METHOD_NO_RETVAL 0x10 /* i_aSL only: Method has no return value */
198#define ANOBJ_DATA_WIDTH_32 0x04 /* Parent table is 64-bits */ 215#define ANOBJ_METHOD_SOME_NO_RETVAL 0x20 /* i_aSL only: Method has at least one return value */
199#define ANOBJ_METHOD_ARG 0x08 216#define ANOBJ_IS_BIT_OFFSET 0x40 /* i_aSL only: Reference is a bit offset */
200#define ANOBJ_METHOD_LOCAL 0x10 217#define ANOBJ_IS_REFERENCED 0x80 /* i_aSL only: Object was referenced */
201#define ANOBJ_METHOD_NO_RETVAL 0x20
202#define ANOBJ_METHOD_SOME_NO_RETVAL 0x40
203#define ANOBJ_IS_BIT_OFFSET 0x80
204 218
205/* 219/*
206 * ACPI Table Descriptor. One per ACPI table 220 * ACPI Table Descriptor. One per ACPI table
@@ -212,8 +226,8 @@ struct acpi_table_desc {
212 struct acpi_table_header *pointer; 226 struct acpi_table_header *pointer;
213 u8 *aml_start; 227 u8 *aml_start;
214 u64 physical_address; 228 u64 physical_address;
215 u32 aml_length;
216 acpi_size length; 229 acpi_size length;
230 u32 aml_length;
217 acpi_owner_id owner_id; 231 acpi_owner_id owner_id;
218 u8 type; 232 u8 type;
219 u8 allocation; 233 u8 allocation;
@@ -276,6 +290,9 @@ struct acpi_create_field_info {
276 u8 field_type; 290 u8 field_type;
277}; 291};
278 292
293typedef
294acpi_status(*ACPI_INTERNAL_METHOD) (struct acpi_walk_state * walk_state);
295
279/* 296/*
280 * Bitmapped ACPI types. Used internally only 297 * Bitmapped ACPI types. Used internally only
281 */ 298 */
@@ -377,7 +394,7 @@ struct acpi_gpe_walk_info {
377 struct acpi_gpe_block_info *gpe_block; 394 struct acpi_gpe_block_info *gpe_block;
378}; 395};
379 396
380typedef acpi_status(*ACPI_GPE_CALLBACK) (struct acpi_gpe_xrupt_info * 397typedef acpi_status(*acpi_gpe_callback) (struct acpi_gpe_xrupt_info *
381 gpe_xrupt_info, 398 gpe_xrupt_info,
382 struct acpi_gpe_block_info * 399 struct acpi_gpe_block_info *
383 gpe_block); 400 gpe_block);
@@ -416,13 +433,14 @@ struct acpi_field_info {
416#define ACPI_CONTROL_PREDICATE_FALSE 0xC3 433#define ACPI_CONTROL_PREDICATE_FALSE 0xC3
417#define ACPI_CONTROL_PREDICATE_TRUE 0xC4 434#define ACPI_CONTROL_PREDICATE_TRUE 0xC4
418 435
419#define ACPI_STATE_COMMON /* Two 32-bit fields and a pointer */\ 436#define ACPI_STATE_COMMON \
420 u8 data_type; /* To differentiate various internal objs */\ 437 void *next; \
421 u8 flags; \ 438 u8 descriptor_type; /* To differentiate various internal objs */\
422 u16 value; \ 439 u8 flags; \
423 u16 state; \ 440 u16 value; \
424 u16 reserved; \ 441 u16 state;
425 void *next; 442
443 /* There are 2 bytes available here until the next natural alignment boundary */
426 444
427struct acpi_common_state { 445struct acpi_common_state {
428ACPI_STATE_COMMON}; 446ACPI_STATE_COMMON};
@@ -438,12 +456,12 @@ struct acpi_update_state {
438 * Pkg state - used to traverse nested package structures 456 * Pkg state - used to traverse nested package structures
439 */ 457 */
440struct acpi_pkg_state { 458struct acpi_pkg_state {
441 ACPI_STATE_COMMON union acpi_operand_object *source_object; 459 ACPI_STATE_COMMON u16 index;
460 union acpi_operand_object *source_object;
442 union acpi_operand_object *dest_object; 461 union acpi_operand_object *dest_object;
443 struct acpi_walk_state *walk_state; 462 struct acpi_walk_state *walk_state;
444 void *this_target_obj; 463 void *this_target_obj;
445 u32 num_packages; 464 u32 num_packages;
446 u16 index;
447}; 465};
448 466
449/* 467/*
@@ -451,10 +469,10 @@ struct acpi_pkg_state {
451 * Allows nesting of these constructs 469 * Allows nesting of these constructs
452 */ 470 */
453struct acpi_control_state { 471struct acpi_control_state {
454 ACPI_STATE_COMMON union acpi_parse_object *predicate_op; 472 ACPI_STATE_COMMON u16 opcode;
473 union acpi_parse_object *predicate_op;
455 u8 *aml_predicate_start; /* Start of if/while predicate */ 474 u8 *aml_predicate_start; /* Start of if/while predicate */
456 u8 *package_end; /* End of if/while block */ 475 u8 *package_end; /* End of if/while block */
457 u16 opcode;
458}; 476};
459 477
460/* 478/*
@@ -465,11 +483,11 @@ struct acpi_scope_state {
465}; 483};
466 484
467struct acpi_pscope_state { 485struct acpi_pscope_state {
468 ACPI_STATE_COMMON union acpi_parse_object *op; /* Current op being parsed */ 486 ACPI_STATE_COMMON u32 arg_count; /* Number of fixed arguments */
487 union acpi_parse_object *op; /* Current op being parsed */
469 u8 *arg_end; /* Current argument end */ 488 u8 *arg_end; /* Current argument end */
470 u8 *pkg_end; /* Current package end */ 489 u8 *pkg_end; /* Current package end */
471 u32 arg_list; /* Next argument to parse */ 490 u32 arg_list; /* Next argument to parse */
472 u32 arg_count; /* Number of fixed arguments */
473}; 491};
474 492
475/* 493/*
@@ -477,10 +495,10 @@ struct acpi_pscope_state {
477 * states are created when there are nested control methods executing. 495 * states are created when there are nested control methods executing.
478 */ 496 */
479struct acpi_thread_state { 497struct acpi_thread_state {
480 ACPI_STATE_COMMON struct acpi_walk_state *walk_state_list; /* Head of list of walk_states for this thread */ 498 ACPI_STATE_COMMON u8 current_sync_level; /* Mutex Sync (nested acquire) level */
499 struct acpi_walk_state *walk_state_list; /* Head of list of walk_states for this thread */
481 union acpi_operand_object *acquired_mutex_list; /* List of all currently acquired mutexes */ 500 union acpi_operand_object *acquired_mutex_list; /* List of all currently acquired mutexes */
482 u32 thread_id; /* Running thread ID */ 501 acpi_thread_id thread_id; /* Running thread ID */
483 u8 current_sync_level; /* Mutex Sync (nested acquire) level */
484}; 502};
485 503
486/* 504/*
@@ -488,10 +506,9 @@ struct acpi_thread_state {
488 * AML arguments 506 * AML arguments
489 */ 507 */
490struct acpi_result_values { 508struct acpi_result_values {
491 ACPI_STATE_COMMON 509 ACPI_STATE_COMMON u8 num_results;
492 union acpi_operand_object *obj_desc[ACPI_OBJ_NUM_OPERANDS];
493 u8 num_results;
494 u8 last_insert; 510 u8 last_insert;
511 union acpi_operand_object *obj_desc[ACPI_OBJ_NUM_OPERANDS];
495}; 512};
496 513
497typedef 514typedef
@@ -546,7 +563,7 @@ struct acpi_opcode_info {
546#endif 563#endif
547 u32 parse_args; /* Grammar/Parse time arguments */ 564 u32 parse_args; /* Grammar/Parse time arguments */
548 u32 runtime_args; /* Interpret time arguments */ 565 u32 runtime_args; /* Interpret time arguments */
549 u32 flags; /* Misc flags */ 566 u16 flags; /* Misc flags */
550 u8 object_type; /* Corresponding internal object type */ 567 u8 object_type; /* Corresponding internal object type */
551 u8 class; /* Opcode class */ 568 u8 class; /* Opcode class */
552 u8 type; /* Opcode type */ 569 u8 type; /* Opcode type */
@@ -563,29 +580,31 @@ union acpi_parse_value {
563}; 580};
564 581
565#define ACPI_PARSE_COMMON \ 582#define ACPI_PARSE_COMMON \
566 u8 data_type; /* To differentiate various internal objs */\ 583 union acpi_parse_object *parent; /* Parent op */\
567 u8 flags; /* Type of Op */\ 584 u8 descriptor_type; /* To differentiate various internal objs */\
568 u16 aml_opcode; /* AML opcode */\ 585 u8 flags; /* Type of Op */\
569 u32 aml_offset; /* Offset of declaration in AML */\ 586 u16 aml_opcode; /* AML opcode */\
570 union acpi_parse_object *parent; /* Parent op */\ 587 u32 aml_offset; /* Offset of declaration in AML */\
571 union acpi_parse_object *next; /* Next op */\ 588 union acpi_parse_object *next; /* Next op */\
589 struct acpi_namespace_node *node; /* For use by interpreter */\
590 union acpi_parse_value value; /* Value or args associated with the opcode */\
572 ACPI_DISASM_ONLY_MEMBERS (\ 591 ACPI_DISASM_ONLY_MEMBERS (\
573 u8 disasm_flags; /* Used during AML disassembly */\ 592 u8 disasm_flags; /* Used during AML disassembly */\
574 u8 disasm_opcode; /* Subtype used for disassembly */\ 593 u8 disasm_opcode; /* Subtype used for disassembly */\
575 char aml_op_name[16]) /* Op name (debug only) */\ 594 char aml_op_name[16]) /* Op name (debug only) */
576 /* NON-DEBUG members below: */\ 595
577 struct acpi_namespace_node *node; /* For use by interpreter */\ 596#define ACPI_DASM_BUFFER 0x00
578 union acpi_parse_value value; /* Value or args associated with the opcode */ 597#define ACPI_DASM_RESOURCE 0x01
579 598#define ACPI_DASM_STRING 0x02
580#define ACPI_DASM_BUFFER 0x00 599#define ACPI_DASM_UNICODE 0x03
581#define ACPI_DASM_RESOURCE 0x01 600#define ACPI_DASM_EISAID 0x04
582#define ACPI_DASM_STRING 0x02 601#define ACPI_DASM_MATCHOP 0x05
583#define ACPI_DASM_UNICODE 0x03 602#define ACPI_DASM_LNOT_PREFIX 0x06
584#define ACPI_DASM_EISAID 0x04 603#define ACPI_DASM_LNOT_SUFFIX 0x07
585#define ACPI_DASM_MATCHOP 0x05 604#define ACPI_DASM_IGNORE 0x08
586 605
587/* 606/*
588 * generic operation (for example: If, While, Store) 607 * Generic operation (for example: If, While, Store)
589 */ 608 */
590struct acpi_parse_obj_common { 609struct acpi_parse_obj_common {
591ACPI_PARSE_COMMON}; 610ACPI_PARSE_COMMON};
@@ -601,7 +620,7 @@ struct acpi_parse_obj_named {
601 u32 name; /* 4-byte name or zero if no name */ 620 u32 name; /* 4-byte name or zero if no name */
602}; 621};
603 622
604/* The parse node is the fundamental element of the parse tree */ 623/* This version is used by the i_aSL compiler only */
605 624
606#define ACPI_MAX_PARSEOP_NAME 20 625#define ACPI_MAX_PARSEOP_NAME 20
607 626
@@ -643,7 +662,6 @@ union acpi_parse_object {
643 * method. 662 * method.
644 */ 663 */
645struct acpi_parse_state { 664struct acpi_parse_state {
646 u32 aml_size;
647 u8 *aml_start; /* First AML byte */ 665 u8 *aml_start; /* First AML byte */
648 u8 *aml; /* Next AML byte */ 666 u8 *aml; /* Next AML byte */
649 u8 *aml_end; /* (last + 1) AML byte */ 667 u8 *aml_end; /* (last + 1) AML byte */
@@ -653,22 +671,23 @@ struct acpi_parse_state {
653 struct acpi_namespace_node *start_node; 671 struct acpi_namespace_node *start_node;
654 union acpi_generic_state *scope; /* Current scope */ 672 union acpi_generic_state *scope; /* Current scope */
655 union acpi_parse_object *start_scope; 673 union acpi_parse_object *start_scope;
674 u32 aml_size;
656}; 675};
657 676
658/* Parse object flags */ 677/* Parse object flags */
659 678
660#define ACPI_PARSEOP_GENERIC 0x01 679#define ACPI_PARSEOP_GENERIC 0x01
661#define ACPI_PARSEOP_NAMED 0x02 680#define ACPI_PARSEOP_NAMED 0x02
662#define ACPI_PARSEOP_DEFERRED 0x04 681#define ACPI_PARSEOP_DEFERRED 0x04
663#define ACPI_PARSEOP_BYTELIST 0x08 682#define ACPI_PARSEOP_BYTELIST 0x08
664#define ACPI_PARSEOP_IN_CACHE 0x80 683#define ACPI_PARSEOP_IN_CACHE 0x80
665 684
666/* Parse object disasm_flags */ 685/* Parse object disasm_flags */
667 686
668#define ACPI_PARSEOP_IGNORE 0x01 687#define ACPI_PARSEOP_IGNORE 0x01
669#define ACPI_PARSEOP_PARAMLIST 0x02 688#define ACPI_PARSEOP_PARAMLIST 0x02
670#define ACPI_PARSEOP_EMPTY_TERMLIST 0x04 689#define ACPI_PARSEOP_EMPTY_TERMLIST 0x04
671#define ACPI_PARSEOP_SPECIAL 0x10 690#define ACPI_PARSEOP_SPECIAL 0x10
672 691
673/***************************************************************************** 692/*****************************************************************************
674 * 693 *
@@ -676,8 +695,8 @@ struct acpi_parse_state {
676 * 695 *
677 ****************************************************************************/ 696 ****************************************************************************/
678 697
679#define PCI_ROOT_HID_STRING "PNP0A03" 698#define PCI_ROOT_HID_STRING "PNP0A03"
680#define PCI_EXPRESS_ROOT_HID_STRING "PNP0A08" 699#define PCI_EXPRESS_ROOT_HID_STRING "PNP0A08"
681 700
682struct acpi_bit_register_info { 701struct acpi_bit_register_info {
683 u8 parent_register; 702 u8 parent_register;
@@ -710,13 +729,14 @@ struct acpi_bit_register_info {
710#define ACPI_BITMASK_PCIEXP_WAKE_STATUS 0x4000 /* ACPI 3.0 */ 729#define ACPI_BITMASK_PCIEXP_WAKE_STATUS 0x4000 /* ACPI 3.0 */
711#define ACPI_BITMASK_WAKE_STATUS 0x8000 730#define ACPI_BITMASK_WAKE_STATUS 0x8000
712 731
713#define ACPI_BITMASK_ALL_FIXED_STATUS (ACPI_BITMASK_TIMER_STATUS | \ 732#define ACPI_BITMASK_ALL_FIXED_STATUS (\
714 ACPI_BITMASK_BUS_MASTER_STATUS | \ 733 ACPI_BITMASK_TIMER_STATUS | \
715 ACPI_BITMASK_GLOBAL_LOCK_STATUS | \ 734 ACPI_BITMASK_BUS_MASTER_STATUS | \
716 ACPI_BITMASK_POWER_BUTTON_STATUS | \ 735 ACPI_BITMASK_GLOBAL_LOCK_STATUS | \
717 ACPI_BITMASK_SLEEP_BUTTON_STATUS | \ 736 ACPI_BITMASK_POWER_BUTTON_STATUS | \
718 ACPI_BITMASK_RT_CLOCK_STATUS | \ 737 ACPI_BITMASK_SLEEP_BUTTON_STATUS | \
719 ACPI_BITMASK_WAKE_STATUS) 738 ACPI_BITMASK_RT_CLOCK_STATUS | \
739 ACPI_BITMASK_WAKE_STATUS)
720 740
721#define ACPI_BITMASK_TIMER_ENABLE 0x0001 741#define ACPI_BITMASK_TIMER_ENABLE 0x0001
722#define ACPI_BITMASK_GLOBAL_LOCK_ENABLE 0x0020 742#define ACPI_BITMASK_GLOBAL_LOCK_ENABLE 0x0020
@@ -820,7 +840,7 @@ struct acpi_bit_register_info {
820 * 840 *
821 ****************************************************************************/ 841 ****************************************************************************/
822 842
823#define ACPI_ASCII_ZERO 0x30 843#define ACPI_ASCII_ZERO 0x30
824 844
825/***************************************************************************** 845/*****************************************************************************
826 * 846 *
@@ -842,9 +862,9 @@ struct acpi_integrity_info {
842 u32 objects; 862 u32 objects;
843}; 863};
844 864
845#define ACPI_DB_REDIRECTABLE_OUTPUT 0x01 865#define ACPI_DB_REDIRECTABLE_OUTPUT 0x01
846#define ACPI_DB_CONSOLE_OUTPUT 0x02 866#define ACPI_DB_CONSOLE_OUTPUT 0x02
847#define ACPI_DB_DUPLICATE_OUTPUT 0x03 867#define ACPI_DB_DUPLICATE_OUTPUT 0x03
848 868
849/***************************************************************************** 869/*****************************************************************************
850 * 870 *
@@ -854,18 +874,18 @@ struct acpi_integrity_info {
854 874
855/* Entry for a memory allocation (debug only) */ 875/* Entry for a memory allocation (debug only) */
856 876
857#define ACPI_MEM_MALLOC 0 877#define ACPI_MEM_MALLOC 0
858#define ACPI_MEM_CALLOC 1 878#define ACPI_MEM_CALLOC 1
859#define ACPI_MAX_MODULE_NAME 16 879#define ACPI_MAX_MODULE_NAME 16
860 880
861#define ACPI_COMMON_DEBUG_MEM_HEADER \ 881#define ACPI_COMMON_DEBUG_MEM_HEADER \
862 struct acpi_debug_mem_block *previous; \ 882 struct acpi_debug_mem_block *previous; \
863 struct acpi_debug_mem_block *next; \ 883 struct acpi_debug_mem_block *next; \
864 u32 size; \ 884 u32 size; \
865 u32 component; \ 885 u32 component; \
866 u32 line; \ 886 u32 line; \
867 char module[ACPI_MAX_MODULE_NAME]; \ 887 char module[ACPI_MAX_MODULE_NAME]; \
868 u8 alloc_type; 888 u8 alloc_type;
869 889
870struct acpi_debug_mem_header { 890struct acpi_debug_mem_header {
871ACPI_COMMON_DEBUG_MEM_HEADER}; 891ACPI_COMMON_DEBUG_MEM_HEADER};