diff options
Diffstat (limited to 'drivers/acpi/dispatcher/dsinit.c')
-rw-r--r-- | drivers/acpi/dispatcher/dsinit.c | 123 |
1 files changed, 55 insertions, 68 deletions
diff --git a/drivers/acpi/dispatcher/dsinit.c b/drivers/acpi/dispatcher/dsinit.c index bcd1d472b90f..8693c704aea6 100644 --- a/drivers/acpi/dispatcher/dsinit.c +++ b/drivers/acpi/dispatcher/dsinit.c | |||
@@ -41,23 +41,17 @@ | |||
41 | * POSSIBILITY OF SUCH DAMAGES. | 41 | * POSSIBILITY OF SUCH DAMAGES. |
42 | */ | 42 | */ |
43 | 43 | ||
44 | |||
45 | #include <acpi/acpi.h> | 44 | #include <acpi/acpi.h> |
46 | #include <acpi/acdispat.h> | 45 | #include <acpi/acdispat.h> |
47 | #include <acpi/acnamesp.h> | 46 | #include <acpi/acnamesp.h> |
48 | 47 | ||
49 | #define _COMPONENT ACPI_DISPATCHER | 48 | #define _COMPONENT ACPI_DISPATCHER |
50 | ACPI_MODULE_NAME ("dsinit") | 49 | ACPI_MODULE_NAME("dsinit") |
51 | 50 | ||
52 | /* Local prototypes */ | 51 | /* Local prototypes */ |
53 | |||
54 | static acpi_status | 52 | static acpi_status |
55 | acpi_ds_init_one_object ( | 53 | acpi_ds_init_one_object(acpi_handle obj_handle, |
56 | acpi_handle obj_handle, | 54 | u32 level, void *context, void **return_value); |
57 | u32 level, | ||
58 | void *context, | ||
59 | void **return_value); | ||
60 | |||
61 | 55 | ||
62 | /******************************************************************************* | 56 | /******************************************************************************* |
63 | * | 57 | * |
@@ -80,20 +74,17 @@ acpi_ds_init_one_object ( | |||
80 | ******************************************************************************/ | 74 | ******************************************************************************/ |
81 | 75 | ||
82 | static acpi_status | 76 | static acpi_status |
83 | acpi_ds_init_one_object ( | 77 | acpi_ds_init_one_object(acpi_handle obj_handle, |
84 | acpi_handle obj_handle, | 78 | u32 level, void *context, void **return_value) |
85 | u32 level, | ||
86 | void *context, | ||
87 | void **return_value) | ||
88 | { | 79 | { |
89 | struct acpi_init_walk_info *info = (struct acpi_init_walk_info *) context; | 80 | struct acpi_init_walk_info *info = |
90 | struct acpi_namespace_node *node = (struct acpi_namespace_node *) obj_handle; | 81 | (struct acpi_init_walk_info *)context; |
91 | acpi_object_type type; | 82 | struct acpi_namespace_node *node = |
92 | acpi_status status; | 83 | (struct acpi_namespace_node *)obj_handle; |
93 | 84 | acpi_object_type type; | |
94 | 85 | acpi_status status; | |
95 | ACPI_FUNCTION_NAME ("ds_init_one_object"); | ||
96 | 86 | ||
87 | ACPI_FUNCTION_NAME("ds_init_one_object"); | ||
97 | 88 | ||
98 | /* | 89 | /* |
99 | * We are only interested in NS nodes owned by the table that | 90 | * We are only interested in NS nodes owned by the table that |
@@ -107,23 +98,23 @@ acpi_ds_init_one_object ( | |||
107 | 98 | ||
108 | /* And even then, we are only interested in a few object types */ | 99 | /* And even then, we are only interested in a few object types */ |
109 | 100 | ||
110 | type = acpi_ns_get_type (obj_handle); | 101 | type = acpi_ns_get_type(obj_handle); |
111 | 102 | ||
112 | switch (type) { | 103 | switch (type) { |
113 | case ACPI_TYPE_REGION: | 104 | case ACPI_TYPE_REGION: |
114 | 105 | ||
115 | status = acpi_ds_initialize_region (obj_handle); | 106 | status = acpi_ds_initialize_region(obj_handle); |
116 | if (ACPI_FAILURE (status)) { | 107 | if (ACPI_FAILURE(status)) { |
117 | ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, | 108 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, |
118 | "Region %p [%4.4s] - Init failure, %s\n", | 109 | "Region %p [%4.4s] - Init failure, %s\n", |
119 | obj_handle, acpi_ut_get_node_name (obj_handle), | 110 | obj_handle, |
120 | acpi_format_exception (status))); | 111 | acpi_ut_get_node_name(obj_handle), |
112 | acpi_format_exception(status))); | ||
121 | } | 113 | } |
122 | 114 | ||
123 | info->op_region_count++; | 115 | info->op_region_count++; |
124 | break; | 116 | break; |
125 | 117 | ||
126 | |||
127 | case ACPI_TYPE_METHOD: | 118 | case ACPI_TYPE_METHOD: |
128 | 119 | ||
129 | /* | 120 | /* |
@@ -131,7 +122,7 @@ acpi_ds_init_one_object ( | |||
131 | * the entire pathname | 122 | * the entire pathname |
132 | */ | 123 | */ |
133 | if (!(acpi_dbg_level & ACPI_LV_INIT_NAMES)) { | 124 | if (!(acpi_dbg_level & ACPI_LV_INIT_NAMES)) { |
134 | ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT, ".")); | 125 | ACPI_DEBUG_PRINT_RAW((ACPI_DB_INIT, ".")); |
135 | } | 126 | } |
136 | 127 | ||
137 | /* | 128 | /* |
@@ -148,12 +139,13 @@ acpi_ds_init_one_object ( | |||
148 | * Always parse methods to detect errors, we will delete | 139 | * Always parse methods to detect errors, we will delete |
149 | * the parse tree below | 140 | * the parse tree below |
150 | */ | 141 | */ |
151 | status = acpi_ds_parse_method (obj_handle); | 142 | status = acpi_ds_parse_method(obj_handle); |
152 | if (ACPI_FAILURE (status)) { | 143 | if (ACPI_FAILURE(status)) { |
153 | ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, | 144 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, |
154 | "\n+Method %p [%4.4s] - parse failure, %s\n", | 145 | "\n+Method %p [%4.4s] - parse failure, %s\n", |
155 | obj_handle, acpi_ut_get_node_name (obj_handle), | 146 | obj_handle, |
156 | acpi_format_exception (status))); | 147 | acpi_ut_get_node_name(obj_handle), |
148 | acpi_format_exception(status))); | ||
157 | 149 | ||
158 | /* This parse failed, but we will continue parsing more methods */ | 150 | /* This parse failed, but we will continue parsing more methods */ |
159 | } | 151 | } |
@@ -161,13 +153,11 @@ acpi_ds_init_one_object ( | |||
161 | info->method_count++; | 153 | info->method_count++; |
162 | break; | 154 | break; |
163 | 155 | ||
164 | |||
165 | case ACPI_TYPE_DEVICE: | 156 | case ACPI_TYPE_DEVICE: |
166 | 157 | ||
167 | info->device_count++; | 158 | info->device_count++; |
168 | break; | 159 | break; |
169 | 160 | ||
170 | |||
171 | default: | 161 | default: |
172 | break; | 162 | break; |
173 | } | 163 | } |
@@ -179,7 +169,6 @@ acpi_ds_init_one_object ( | |||
179 | return (AE_OK); | 169 | return (AE_OK); |
180 | } | 170 | } |
181 | 171 | ||
182 | |||
183 | /******************************************************************************* | 172 | /******************************************************************************* |
184 | * | 173 | * |
185 | * FUNCTION: acpi_ds_initialize_objects | 174 | * FUNCTION: acpi_ds_initialize_objects |
@@ -195,45 +184,43 @@ acpi_ds_init_one_object ( | |||
195 | ******************************************************************************/ | 184 | ******************************************************************************/ |
196 | 185 | ||
197 | acpi_status | 186 | acpi_status |
198 | acpi_ds_initialize_objects ( | 187 | acpi_ds_initialize_objects(struct acpi_table_desc * table_desc, |
199 | struct acpi_table_desc *table_desc, | 188 | struct acpi_namespace_node * start_node) |
200 | struct acpi_namespace_node *start_node) | ||
201 | { | 189 | { |
202 | acpi_status status; | 190 | acpi_status status; |
203 | struct acpi_init_walk_info info; | 191 | struct acpi_init_walk_info info; |
204 | |||
205 | 192 | ||
206 | ACPI_FUNCTION_TRACE ("ds_initialize_objects"); | 193 | ACPI_FUNCTION_TRACE("ds_initialize_objects"); |
207 | 194 | ||
195 | ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, | ||
196 | "**** Starting initialization of namespace objects ****\n")); | ||
197 | ACPI_DEBUG_PRINT_RAW((ACPI_DB_INIT, "Parsing all Control Methods:")); | ||
208 | 198 | ||
209 | ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH, | 199 | info.method_count = 0; |
210 | "**** Starting initialization of namespace objects ****\n")); | ||
211 | ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT, "Parsing all Control Methods:")); | ||
212 | |||
213 | info.method_count = 0; | ||
214 | info.op_region_count = 0; | 200 | info.op_region_count = 0; |
215 | info.object_count = 0; | 201 | info.object_count = 0; |
216 | info.device_count = 0; | 202 | info.device_count = 0; |
217 | info.table_desc = table_desc; | 203 | info.table_desc = table_desc; |
218 | 204 | ||
219 | /* Walk entire namespace from the supplied root */ | 205 | /* Walk entire namespace from the supplied root */ |
220 | 206 | ||
221 | status = acpi_walk_namespace (ACPI_TYPE_ANY, start_node, ACPI_UINT32_MAX, | 207 | status = acpi_walk_namespace(ACPI_TYPE_ANY, start_node, ACPI_UINT32_MAX, |
222 | acpi_ds_init_one_object, &info, NULL); | 208 | acpi_ds_init_one_object, &info, NULL); |
223 | if (ACPI_FAILURE (status)) { | 209 | if (ACPI_FAILURE(status)) { |
224 | ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "walk_namespace failed, %s\n", | 210 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "walk_namespace failed, %s\n", |
225 | acpi_format_exception (status))); | 211 | acpi_format_exception(status))); |
226 | } | 212 | } |
227 | 213 | ||
228 | ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INIT, | 214 | ACPI_DEBUG_PRINT_RAW((ACPI_DB_INIT, |
229 | "\nTable [%4.4s](id %4.4X) - %hd Objects with %hd Devices %hd Methods %hd Regions\n", | 215 | "\nTable [%4.4s](id %4.4X) - %hd Objects with %hd Devices %hd Methods %hd Regions\n", |
230 | table_desc->pointer->signature, table_desc->owner_id, info.object_count, | 216 | table_desc->pointer->signature, |
231 | info.device_count, info.method_count, info.op_region_count)); | 217 | table_desc->owner_id, info.object_count, |
218 | info.device_count, info.method_count, | ||
219 | info.op_region_count)); | ||
232 | 220 | ||
233 | ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH, | 221 | ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, |
234 | "%hd Methods, %hd Regions\n", info.method_count, info.op_region_count)); | 222 | "%hd Methods, %hd Regions\n", info.method_count, |
223 | info.op_region_count)); | ||
235 | 224 | ||
236 | return_ACPI_STATUS (AE_OK); | 225 | return_ACPI_STATUS(AE_OK); |
237 | } | 226 | } |
238 | |||
239 | |||