aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/acpi/acpica/acglobal.h2
-rw-r--r--drivers/acpi/acpica/aclocal.h25
-rw-r--r--drivers/acpi/acpica/dsmethod.c2
-rw-r--r--drivers/acpi/acpica/dswload.c5
-rw-r--r--drivers/acpi/acpica/nssearch.c5
-rw-r--r--drivers/acpi/acpica/utglobal.c4
-rw-r--r--include/acpi/acoutput.h1
-rw-r--r--include/acpi/platform/acenv.h45
8 files changed, 76 insertions, 13 deletions
diff --git a/drivers/acpi/acpica/acglobal.h b/drivers/acpi/acpica/acglobal.h
index 64472e4ec329..1ef7ca486a28 100644
--- a/drivers/acpi/acpica/acglobal.h
+++ b/drivers/acpi/acpica/acglobal.h
@@ -415,6 +415,8 @@ ACPI_EXTERN u8 acpi_gbl_db_output_flags;
415 415
416ACPI_EXTERN u8 acpi_gbl_db_opt_disasm; 416ACPI_EXTERN u8 acpi_gbl_db_opt_disasm;
417ACPI_EXTERN u8 acpi_gbl_db_opt_verbose; 417ACPI_EXTERN u8 acpi_gbl_db_opt_verbose;
418ACPI_EXTERN struct acpi_external_list *acpi_gbl_external_list;
419ACPI_EXTERN struct acpi_external_file *acpi_gbl_external_file_list;
418#endif 420#endif
419 421
420#ifdef ACPI_DEBUGGER 422#ifdef ACPI_DEBUGGER
diff --git a/drivers/acpi/acpica/aclocal.h b/drivers/acpi/acpica/aclocal.h
index 3453ea68a296..50f8b97e799b 100644
--- a/drivers/acpi/acpica/aclocal.h
+++ b/drivers/acpi/acpica/aclocal.h
@@ -1029,6 +1029,31 @@ struct acpi_port_info {
1029 1029
1030/***************************************************************************** 1030/*****************************************************************************
1031 * 1031 *
1032 * Disassembler
1033 *
1034 ****************************************************************************/
1035
1036struct acpi_external_list {
1037 char *path;
1038 char *internal_path;
1039 struct acpi_external_list *next;
1040 u32 value;
1041 u16 length;
1042 u8 type;
1043 u8 flags;
1044};
1045
1046/* Values for Flags field above */
1047
1048#define ACPI_IPATH_ALLOCATED 0x01
1049
1050struct acpi_external_file {
1051 char *path;
1052 struct acpi_external_file *next;
1053};
1054
1055/*****************************************************************************
1056 *
1032 * Debugger 1057 * Debugger
1033 * 1058 *
1034 ****************************************************************************/ 1059 ****************************************************************************/
diff --git a/drivers/acpi/acpica/dsmethod.c b/drivers/acpi/acpica/dsmethod.c
index 52eb4e01622a..735c05996ec6 100644
--- a/drivers/acpi/acpica/dsmethod.c
+++ b/drivers/acpi/acpica/dsmethod.c
@@ -47,7 +47,7 @@
47#include "acinterp.h" 47#include "acinterp.h"
48#include "acnamesp.h" 48#include "acnamesp.h"
49#ifdef ACPI_DISASSEMBLER 49#ifdef ACPI_DISASSEMBLER
50#include <acpi/acdisasm.h> 50#include "acdisasm.h"
51#endif 51#endif
52 52
53#define _COMPONENT ACPI_DISPATCHER 53#define _COMPONENT ACPI_DISPATCHER
diff --git a/drivers/acpi/acpica/dswload.c b/drivers/acpi/acpica/dswload.c
index 557510084c7a..d2907407a64b 100644
--- a/drivers/acpi/acpica/dswload.c
+++ b/drivers/acpi/acpica/dswload.c
@@ -50,7 +50,7 @@
50#include "acnamesp.h" 50#include "acnamesp.h"
51 51
52#ifdef ACPI_ASL_COMPILER 52#ifdef ACPI_ASL_COMPILER
53#include <acpi/acdisasm.h> 53#include "acdisasm.h"
54#endif 54#endif
55 55
56#define _COMPONENT ACPI_DISPATCHER 56#define _COMPONENT ACPI_DISPATCHER
@@ -178,7 +178,8 @@ acpi_ds_load1_begin_op(struct acpi_walk_state * walk_state,
178 * Target of Scope() not found. Generate an External for it, and 178 * Target of Scope() not found. Generate an External for it, and
179 * insert the name into the namespace. 179 * insert the name into the namespace.
180 */ 180 */
181 acpi_dm_add_to_external_list(path, ACPI_TYPE_DEVICE, 0); 181 acpi_dm_add_to_external_list(op, path, ACPI_TYPE_DEVICE,
182 0);
182 status = 183 status =
183 acpi_ns_lookup(walk_state->scope_info, path, 184 acpi_ns_lookup(walk_state->scope_info, path,
184 object_type, ACPI_IMODE_LOAD_PASS1, 185 object_type, ACPI_IMODE_LOAD_PASS1,
diff --git a/drivers/acpi/acpica/nssearch.c b/drivers/acpi/acpica/nssearch.c
index 1d2d8ffc1bc5..b7f426482e52 100644
--- a/drivers/acpi/acpica/nssearch.c
+++ b/drivers/acpi/acpica/nssearch.c
@@ -328,6 +328,11 @@ acpi_ns_search_and_enter(u32 target_name,
328 if ((status == AE_OK) && (flags & ACPI_NS_ERROR_IF_FOUND)) { 328 if ((status == AE_OK) && (flags & ACPI_NS_ERROR_IF_FOUND)) {
329 status = AE_ALREADY_EXISTS; 329 status = AE_ALREADY_EXISTS;
330 } 330 }
331#ifdef ACPI_ASL_COMPILER
332 if (*return_node && (*return_node)->type == ACPI_TYPE_ANY) {
333 (*return_node)->flags |= ANOBJ_IS_EXTERNAL;
334 }
335#endif
331 336
332 /* Either found it or there was an error: finished either way */ 337 /* Either found it or there was an error: finished either way */
333 338
diff --git a/drivers/acpi/acpica/utglobal.c b/drivers/acpi/acpica/utglobal.c
index d7919a321f4d..4080088f937c 100644
--- a/drivers/acpi/acpica/utglobal.c
+++ b/drivers/acpi/acpica/utglobal.c
@@ -357,6 +357,10 @@ acpi_status acpi_ut_init_globals(void)
357 acpi_gbl_root_node_struct.peer = NULL; 357 acpi_gbl_root_node_struct.peer = NULL;
358 acpi_gbl_root_node_struct.object = NULL; 358 acpi_gbl_root_node_struct.object = NULL;
359 359
360#ifdef ACPI_DISASSEMBLER
361 acpi_gbl_external_list = NULL;
362#endif
363
360#ifdef ACPI_DEBUG_OUTPUT 364#ifdef ACPI_DEBUG_OUTPUT
361 acpi_gbl_lowest_stack_pointer = ACPI_CAST_PTR(acpi_size, ACPI_SIZE_MAX); 365 acpi_gbl_lowest_stack_pointer = ACPI_CAST_PTR(acpi_size, ACPI_SIZE_MAX);
362#endif 366#endif
diff --git a/include/acpi/acoutput.h b/include/acpi/acoutput.h
index 2457ac849655..38e1be094655 100644
--- a/include/acpi/acoutput.h
+++ b/include/acpi/acoutput.h
@@ -72,6 +72,7 @@
72#define ACPI_EXAMPLE 0x00004000 72#define ACPI_EXAMPLE 0x00004000
73#define ACPI_DRIVER 0x00008000 73#define ACPI_DRIVER 0x00008000
74#define DT_COMPILER 0x00010000 74#define DT_COMPILER 0x00010000
75#define ASL_PREPROCESSOR 0x00020000
75 76
76#define ACPI_ALL_COMPONENTS 0x0001FFFF 77#define ACPI_ALL_COMPONENTS 0x0001FFFF
77#define ACPI_COMPONENT_DEFAULT (ACPI_ALL_COMPONENTS) 78#define ACPI_COMPONENT_DEFAULT (ACPI_ALL_COMPONENTS)
diff --git a/include/acpi/platform/acenv.h b/include/acpi/platform/acenv.h
index 68a58a163fe1..13ac538f7892 100644
--- a/include/acpi/platform/acenv.h
+++ b/include/acpi/platform/acenv.h
@@ -65,32 +65,57 @@
65 * 65 *
66 *****************************************************************************/ 66 *****************************************************************************/
67 67
68/* Linkable ACPICA library */
69#ifdef ACPI_LIBRARY
70#define ACPI_USE_LOCAL_CACHE
71#endif
72
73/* iASL configuration */ 68/* iASL configuration */
74#ifdef ACPI_ASL_COMPILER 69#ifdef ACPI_ASL_COMPILER
75#define ACPI_DEBUG_OUTPUT
76#define ACPI_APPLICATION 70#define ACPI_APPLICATION
77#define ACPI_DISASSEMBLER 71#define ACPI_DISASSEMBLER
72#define ACPI_DEBUG_OUTPUT
78#define ACPI_CONSTANT_EVAL_ONLY 73#define ACPI_CONSTANT_EVAL_ONLY
79#define ACPI_LARGE_NAMESPACE_NODE 74#define ACPI_LARGE_NAMESPACE_NODE
80#define ACPI_DATA_TABLE_DISASSEMBLY 75#define ACPI_DATA_TABLE_DISASSEMBLY
76#define ACPI_SINGLE_THREADED
81#endif 77#endif
82 78
83/* acpi_exec configuration. Multithreaded with full AML debugger */ 79/* acpi_exec configuration. Multithreaded with full AML debugger */
84#ifdef ACPI_EXEC_APP 80#ifdef ACPI_EXEC_APP
85#undef DEBUGGER_THREADING
86#define DEBUGGER_THREADING DEBUGGER_SINGLE_THREADED
87#define ACPI_FULL_DEBUG
88#define ACPI_APPLICATION 81#define ACPI_APPLICATION
89#define ACPI_DEBUGGER 82#define ACPI_FULL_DEBUG
90#define ACPI_MUTEX_DEBUG 83#define ACPI_MUTEX_DEBUG
91#define ACPI_DBG_TRACK_ALLOCATIONS 84#define ACPI_DBG_TRACK_ALLOCATIONS
92#endif 85#endif
93 86
87/* acpi_names configuration. Single threaded with debugger output enabled. */
88
89#ifdef ACPI_NAMES_APP
90#define ACPI_DEBUGGER
91#define ACPI_APPLICATION
92#define ACPI_SINGLE_THREADED
93#endif
94
95/*
96 * acpi_bin/acpi_help/acpi_src configuration. All single threaded, with
97 * no debug output.
98 */
99#if (defined ACPI_BIN_APP) || \
100 (defined ACPI_SRC_APP) || \
101 (defined ACPI_XTRACT_APP)
102#define ACPI_APPLICATION
103#define ACPI_SINGLE_THREADED
104#endif
105
106#ifdef ACPI_HELP_APP
107#define ACPI_APPLICATION
108#define ACPI_SINGLE_THREADED
109#define ACPI_NO_ERROR_MESSAGES
110#endif
111
112/* Linkable ACPICA library */
113
114#ifdef ACPI_LIBRARY
115#define ACPI_USE_LOCAL_CACHE
116#define ACPI_FUTURE_USAGE
117#endif
118
94/* Common for all ACPICA applications */ 119/* Common for all ACPICA applications */
95#ifdef ACPI_APPLICATION 120#ifdef ACPI_APPLICATION
96#define ACPI_USE_SYSTEM_CLIBRARY 121#define ACPI_USE_SYSTEM_CLIBRARY