aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/tables
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/tables')
-rw-r--r--drivers/acpi/tables/tbfadt.c23
-rw-r--r--drivers/acpi/tables/tbfind.c5
-rw-r--r--drivers/acpi/tables/tbinstal.c30
-rw-r--r--drivers/acpi/tables/tbutils.c15
-rw-r--r--drivers/acpi/tables/tbxface.c28
-rw-r--r--drivers/acpi/tables/tbxfroot.c4
6 files changed, 52 insertions, 53 deletions
diff --git a/drivers/acpi/tables/tbfadt.c b/drivers/acpi/tables/tbfadt.c
index 949d4114eb9f..ccb5b64bbef3 100644
--- a/drivers/acpi/tables/tbfadt.c
+++ b/drivers/acpi/tables/tbfadt.c
@@ -124,7 +124,7 @@ static struct acpi_fadt_info fadt_info_table[] = {
124 124
125static void inline 125static void inline
126acpi_tb_init_generic_address(struct acpi_generic_address *generic_address, 126acpi_tb_init_generic_address(struct acpi_generic_address *generic_address,
127 u8 bit_width, u64 address) 127 u8 byte_width, u64 address)
128{ 128{
129 129
130 /* 130 /*
@@ -136,7 +136,7 @@ acpi_tb_init_generic_address(struct acpi_generic_address *generic_address,
136 /* All other fields are byte-wide */ 136 /* All other fields are byte-wide */
137 137
138 generic_address->space_id = ACPI_ADR_SPACE_SYSTEM_IO; 138 generic_address->space_id = ACPI_ADR_SPACE_SYSTEM_IO;
139 generic_address->bit_width = bit_width; 139 generic_address->bit_width = byte_width << 3;
140 generic_address->bit_offset = 0; 140 generic_address->bit_offset = 0;
141 generic_address->access_width = 0; 141 generic_address->access_width = 0;
142} 142}
@@ -155,7 +155,7 @@ acpi_tb_init_generic_address(struct acpi_generic_address *generic_address,
155 * 155 *
156 ******************************************************************************/ 156 ******************************************************************************/
157 157
158void acpi_tb_parse_fadt(acpi_native_uint table_index, u8 flags) 158void acpi_tb_parse_fadt(u32 table_index, u8 flags)
159{ 159{
160 u32 length; 160 u32 length;
161 struct acpi_table_header *table; 161 struct acpi_table_header *table;
@@ -280,7 +280,7 @@ static void acpi_tb_convert_fadt(void)
280{ 280{
281 u8 pm1_register_length; 281 u8 pm1_register_length;
282 struct acpi_generic_address *target; 282 struct acpi_generic_address *target;
283 acpi_native_uint i; 283 u32 i;
284 284
285 /* Update the local FADT table header length */ 285 /* Update the local FADT table header length */
286 286
@@ -343,9 +343,11 @@ static void acpi_tb_convert_fadt(void)
343 * 343 *
344 * The PM event blocks are split into two register blocks, first is the 344 * The PM event blocks are split into two register blocks, first is the
345 * PM Status Register block, followed immediately by the PM Enable Register 345 * PM Status Register block, followed immediately by the PM Enable Register
346 * block. Each is of length (pm1_event_length/2) 346 * block. Each is of length (xpm1x_event_block.bit_width/2)
347 */ 347 */
348 pm1_register_length = (u8) ACPI_DIV_2(acpi_gbl_FADT.pm1_event_length); 348 WARN_ON(ACPI_MOD_16(acpi_gbl_FADT.xpm1a_event_block.bit_width));
349 pm1_register_length = (u8) ACPI_DIV_16(acpi_gbl_FADT
350 .xpm1a_event_block.bit_width);
349 351
350 /* The PM1A register block is required */ 352 /* The PM1A register block is required */
351 353
@@ -360,14 +362,17 @@ static void acpi_tb_convert_fadt(void)
360 /* The PM1B register block is optional, ignore if not present */ 362 /* The PM1B register block is optional, ignore if not present */
361 363
362 if (acpi_gbl_FADT.xpm1b_event_block.address) { 364 if (acpi_gbl_FADT.xpm1b_event_block.address) {
365 WARN_ON(ACPI_MOD_16(acpi_gbl_FADT.xpm1b_event_block.bit_width));
366 pm1_register_length = (u8) ACPI_DIV_16(acpi_gbl_FADT
367 .xpm1b_event_block
368 .bit_width);
363 acpi_tb_init_generic_address(&acpi_gbl_xpm1b_enable, 369 acpi_tb_init_generic_address(&acpi_gbl_xpm1b_enable,
364 pm1_register_length, 370 pm1_register_length,
365 (acpi_gbl_FADT.xpm1b_event_block. 371 (acpi_gbl_FADT.xpm1b_event_block.
366 address + pm1_register_length)); 372 address + pm1_register_length));
367 /* Don't forget to copy space_id of the GAS */ 373 /* Don't forget to copy space_id of the GAS */
368 acpi_gbl_xpm1b_enable.space_id = 374 acpi_gbl_xpm1b_enable.space_id =
369 acpi_gbl_FADT.xpm1a_event_block.space_id; 375 acpi_gbl_FADT.xpm1b_event_block.space_id;
370
371 } 376 }
372} 377}
373 378
@@ -396,7 +401,7 @@ static void acpi_tb_validate_fadt(void)
396 u32 *address32; 401 u32 *address32;
397 struct acpi_generic_address *address64; 402 struct acpi_generic_address *address64;
398 u8 length; 403 u8 length;
399 acpi_native_uint i; 404 u32 i;
400 405
401 /* Examine all of the 64-bit extended address fields (X fields) */ 406 /* Examine all of the 64-bit extended address fields (X fields) */
402 407
diff --git a/drivers/acpi/tables/tbfind.c b/drivers/acpi/tables/tbfind.c
index 9ca3afc98c80..531584defbb8 100644
--- a/drivers/acpi/tables/tbfind.c
+++ b/drivers/acpi/tables/tbfind.c
@@ -65,10 +65,9 @@ ACPI_MODULE_NAME("tbfind")
65 ******************************************************************************/ 65 ******************************************************************************/
66acpi_status 66acpi_status
67acpi_tb_find_table(char *signature, 67acpi_tb_find_table(char *signature,
68 char *oem_id, 68 char *oem_id, char *oem_table_id, u32 *table_index)
69 char *oem_table_id, acpi_native_uint * table_index)
70{ 69{
71 acpi_native_uint i; 70 u32 i;
72 acpi_status status; 71 acpi_status status;
73 struct acpi_table_header header; 72 struct acpi_table_header header;
74 73
diff --git a/drivers/acpi/tables/tbinstal.c b/drivers/acpi/tables/tbinstal.c
index 5336ce88f89f..b22185f55a16 100644
--- a/drivers/acpi/tables/tbinstal.c
+++ b/drivers/acpi/tables/tbinstal.c
@@ -107,11 +107,10 @@ acpi_status acpi_tb_verify_table(struct acpi_table_desc *table_desc)
107 ******************************************************************************/ 107 ******************************************************************************/
108 108
109acpi_status 109acpi_status
110acpi_tb_add_table(struct acpi_table_desc *table_desc, 110acpi_tb_add_table(struct acpi_table_desc *table_desc, u32 *table_index)
111 acpi_native_uint * table_index)
112{ 111{
113 acpi_native_uint i; 112 u32 i;
114 acpi_native_uint length; 113 u32 length;
115 acpi_status status = AE_OK; 114 acpi_status status = AE_OK;
116 115
117 ACPI_FUNCTION_TRACE(tb_add_table); 116 ACPI_FUNCTION_TRACE(tb_add_table);
@@ -207,8 +206,8 @@ acpi_status acpi_tb_resize_root_table_list(void)
207 206
208 /* Increase the Table Array size */ 207 /* Increase the Table Array size */
209 208
210 tables = ACPI_ALLOCATE_ZEROED((acpi_gbl_root_table_list.size + 209 tables = ACPI_ALLOCATE_ZEROED(((acpi_size) acpi_gbl_root_table_list.
211 ACPI_ROOT_TABLE_SIZE_INCREMENT) 210 size + ACPI_ROOT_TABLE_SIZE_INCREMENT)
212 * sizeof(struct acpi_table_desc)); 211 * sizeof(struct acpi_table_desc));
213 if (!tables) { 212 if (!tables) {
214 ACPI_ERROR((AE_INFO, 213 ACPI_ERROR((AE_INFO,
@@ -220,7 +219,7 @@ acpi_status acpi_tb_resize_root_table_list(void)
220 219
221 if (acpi_gbl_root_table_list.tables) { 220 if (acpi_gbl_root_table_list.tables) {
222 ACPI_MEMCPY(tables, acpi_gbl_root_table_list.tables, 221 ACPI_MEMCPY(tables, acpi_gbl_root_table_list.tables,
223 acpi_gbl_root_table_list.size * 222 (acpi_size) acpi_gbl_root_table_list.size *
224 sizeof(struct acpi_table_desc)); 223 sizeof(struct acpi_table_desc));
225 224
226 if (acpi_gbl_root_table_list.flags & ACPI_ROOT_ORIGIN_ALLOCATED) { 225 if (acpi_gbl_root_table_list.flags & ACPI_ROOT_ORIGIN_ALLOCATED) {
@@ -253,7 +252,7 @@ acpi_status acpi_tb_resize_root_table_list(void)
253acpi_status 252acpi_status
254acpi_tb_store_table(acpi_physical_address address, 253acpi_tb_store_table(acpi_physical_address address,
255 struct acpi_table_header *table, 254 struct acpi_table_header *table,
256 u32 length, u8 flags, acpi_native_uint * table_index) 255 u32 length, u8 flags, u32 *table_index)
257{ 256{
258 acpi_status status = AE_OK; 257 acpi_status status = AE_OK;
259 258
@@ -334,7 +333,7 @@ void acpi_tb_delete_table(struct acpi_table_desc *table_desc)
334 333
335void acpi_tb_terminate(void) 334void acpi_tb_terminate(void)
336{ 335{
337 acpi_native_uint i; 336 u32 i;
338 337
339 ACPI_FUNCTION_TRACE(tb_terminate); 338 ACPI_FUNCTION_TRACE(tb_terminate);
340 339
@@ -374,7 +373,7 @@ void acpi_tb_terminate(void)
374 * 373 *
375 ******************************************************************************/ 374 ******************************************************************************/
376 375
377void acpi_tb_delete_namespace_by_owner(acpi_native_uint table_index) 376void acpi_tb_delete_namespace_by_owner(u32 table_index)
378{ 377{
379 acpi_owner_id owner_id; 378 acpi_owner_id owner_id;
380 379
@@ -403,7 +402,7 @@ void acpi_tb_delete_namespace_by_owner(acpi_native_uint table_index)
403 * 402 *
404 ******************************************************************************/ 403 ******************************************************************************/
405 404
406acpi_status acpi_tb_allocate_owner_id(acpi_native_uint table_index) 405acpi_status acpi_tb_allocate_owner_id(u32 table_index)
407{ 406{
408 acpi_status status = AE_BAD_PARAMETER; 407 acpi_status status = AE_BAD_PARAMETER;
409 408
@@ -431,7 +430,7 @@ acpi_status acpi_tb_allocate_owner_id(acpi_native_uint table_index)
431 * 430 *
432 ******************************************************************************/ 431 ******************************************************************************/
433 432
434acpi_status acpi_tb_release_owner_id(acpi_native_uint table_index) 433acpi_status acpi_tb_release_owner_id(u32 table_index)
435{ 434{
436 acpi_status status = AE_BAD_PARAMETER; 435 acpi_status status = AE_BAD_PARAMETER;
437 436
@@ -462,8 +461,7 @@ acpi_status acpi_tb_release_owner_id(acpi_native_uint table_index)
462 * 461 *
463 ******************************************************************************/ 462 ******************************************************************************/
464 463
465acpi_status 464acpi_status acpi_tb_get_owner_id(u32 table_index, acpi_owner_id *owner_id)
466acpi_tb_get_owner_id(acpi_native_uint table_index, acpi_owner_id * owner_id)
467{ 465{
468 acpi_status status = AE_BAD_PARAMETER; 466 acpi_status status = AE_BAD_PARAMETER;
469 467
@@ -490,7 +488,7 @@ acpi_tb_get_owner_id(acpi_native_uint table_index, acpi_owner_id * owner_id)
490 * 488 *
491 ******************************************************************************/ 489 ******************************************************************************/
492 490
493u8 acpi_tb_is_table_loaded(acpi_native_uint table_index) 491u8 acpi_tb_is_table_loaded(u32 table_index)
494{ 492{
495 u8 is_loaded = FALSE; 493 u8 is_loaded = FALSE;
496 494
@@ -518,7 +516,7 @@ u8 acpi_tb_is_table_loaded(acpi_native_uint table_index)
518 * 516 *
519 ******************************************************************************/ 517 ******************************************************************************/
520 518
521void acpi_tb_set_table_loaded_flag(acpi_native_uint table_index, u8 is_loaded) 519void acpi_tb_set_table_loaded_flag(u32 table_index, u8 is_loaded)
522{ 520{
523 521
524 (void)acpi_ut_acquire_mutex(ACPI_MTX_TABLES); 522 (void)acpi_ut_acquire_mutex(ACPI_MTX_TABLES);
diff --git a/drivers/acpi/tables/tbutils.c b/drivers/acpi/tables/tbutils.c
index bc019b9b6a68..0cc92ef5236f 100644
--- a/drivers/acpi/tables/tbutils.c
+++ b/drivers/acpi/tables/tbutils.c
@@ -49,8 +49,8 @@ ACPI_MODULE_NAME("tbutils")
49 49
50/* Local prototypes */ 50/* Local prototypes */
51static acpi_physical_address 51static acpi_physical_address
52acpi_tb_get_root_table_entry(u8 * table_entry, 52acpi_tb_get_root_table_entry(u8 *table_entry, u32 table_entry_size);
53 acpi_native_uint table_entry_size); 53
54/******************************************************************************* 54/*******************************************************************************
55 * 55 *
56 * FUNCTION: acpi_tb_check_xsdt 56 * FUNCTION: acpi_tb_check_xsdt
@@ -238,7 +238,7 @@ acpi_status acpi_tb_verify_checksum(struct acpi_table_header *table, u32 length)
238 * 238 *
239 ******************************************************************************/ 239 ******************************************************************************/
240 240
241u8 acpi_tb_checksum(u8 * buffer, acpi_native_uint length) 241u8 acpi_tb_checksum(u8 *buffer, u32 length)
242{ 242{
243 u8 sum = 0; 243 u8 sum = 0;
244 u8 *end = buffer + length; 244 u8 *end = buffer + length;
@@ -268,7 +268,7 @@ u8 acpi_tb_checksum(u8 * buffer, acpi_native_uint length)
268 268
269void 269void
270acpi_tb_install_table(acpi_physical_address address, 270acpi_tb_install_table(acpi_physical_address address,
271 u8 flags, char *signature, acpi_native_uint table_index) 271 u8 flags, char *signature, u32 table_index)
272{ 272{
273 struct acpi_table_header *table; 273 struct acpi_table_header *table;
274 274
@@ -336,8 +336,7 @@ acpi_tb_install_table(acpi_physical_address address,
336 ******************************************************************************/ 336 ******************************************************************************/
337 337
338static acpi_physical_address 338static acpi_physical_address
339acpi_tb_get_root_table_entry(u8 * table_entry, 339acpi_tb_get_root_table_entry(u8 *table_entry, u32 table_entry_size)
340 acpi_native_uint table_entry_size)
341{ 340{
342 u64 address64; 341 u64 address64;
343 342
@@ -395,8 +394,8 @@ acpi_status __init
395acpi_tb_parse_root_table(acpi_physical_address rsdp_address, u8 flags) 394acpi_tb_parse_root_table(acpi_physical_address rsdp_address, u8 flags)
396{ 395{
397 struct acpi_table_rsdp *rsdp; 396 struct acpi_table_rsdp *rsdp;
398 acpi_native_uint table_entry_size; 397 u32 table_entry_size;
399 acpi_native_uint i; 398 u32 i;
400 u32 table_count; 399 u32 table_count;
401 struct acpi_table_header *table; 400 struct acpi_table_header *table;
402 acpi_physical_address address; 401 acpi_physical_address address;
diff --git a/drivers/acpi/tables/tbxface.c b/drivers/acpi/tables/tbxface.c
index 0e319604d3e7..fd7770aa1061 100644
--- a/drivers/acpi/tables/tbxface.c
+++ b/drivers/acpi/tables/tbxface.c
@@ -125,7 +125,7 @@ acpi_initialize_tables(struct acpi_table_desc * initial_table_array,
125 /* Root Table Array has been statically allocated by the host */ 125 /* Root Table Array has been statically allocated by the host */
126 126
127 ACPI_MEMSET(initial_table_array, 0, 127 ACPI_MEMSET(initial_table_array, 0,
128 initial_table_count * 128 (acpi_size) initial_table_count *
129 sizeof(struct acpi_table_desc)); 129 sizeof(struct acpi_table_desc));
130 130
131 acpi_gbl_root_table_list.tables = initial_table_array; 131 acpi_gbl_root_table_list.tables = initial_table_array;
@@ -183,9 +183,9 @@ acpi_status acpi_reallocate_root_table(void)
183 return_ACPI_STATUS(AE_SUPPORT); 183 return_ACPI_STATUS(AE_SUPPORT);
184 } 184 }
185 185
186 new_size = 186 new_size = ((acpi_size) acpi_gbl_root_table_list.count +
187 (acpi_gbl_root_table_list.count + 187 ACPI_ROOT_TABLE_SIZE_INCREMENT) *
188 ACPI_ROOT_TABLE_SIZE_INCREMENT) * sizeof(struct acpi_table_desc); 188 sizeof(struct acpi_table_desc);
189 189
190 /* Create new array and copy the old array */ 190 /* Create new array and copy the old array */
191 191
@@ -222,7 +222,7 @@ acpi_status acpi_reallocate_root_table(void)
222acpi_status acpi_load_table(struct acpi_table_header *table_ptr) 222acpi_status acpi_load_table(struct acpi_table_header *table_ptr)
223{ 223{
224 acpi_status status; 224 acpi_status status;
225 acpi_native_uint table_index; 225 u32 table_index;
226 struct acpi_table_desc table_desc; 226 struct acpi_table_desc table_desc;
227 227
228 if (!table_ptr) 228 if (!table_ptr)
@@ -264,11 +264,10 @@ ACPI_EXPORT_SYMBOL(acpi_load_table)
264 *****************************************************************************/ 264 *****************************************************************************/
265acpi_status 265acpi_status
266acpi_get_table_header(char *signature, 266acpi_get_table_header(char *signature,
267 acpi_native_uint instance, 267 u32 instance, struct acpi_table_header *out_table_header)
268 struct acpi_table_header * out_table_header)
269{ 268{
270 acpi_native_uint i; 269 u32 i;
271 acpi_native_uint j; 270 u32 j;
272 struct acpi_table_header *header; 271 struct acpi_table_header *header;
273 272
274 /* Parameter validation */ 273 /* Parameter validation */
@@ -378,10 +377,10 @@ ACPI_EXPORT_SYMBOL(acpi_unload_table_id)
378 *****************************************************************************/ 377 *****************************************************************************/
379acpi_status 378acpi_status
380acpi_get_table(char *signature, 379acpi_get_table(char *signature,
381 acpi_native_uint instance, struct acpi_table_header **out_table) 380 u32 instance, struct acpi_table_header **out_table)
382{ 381{
383 acpi_native_uint i; 382 u32 i;
384 acpi_native_uint j; 383 u32 j;
385 acpi_status status; 384 acpi_status status;
386 385
387 /* Parameter validation */ 386 /* Parameter validation */
@@ -435,8 +434,7 @@ ACPI_EXPORT_SYMBOL(acpi_get_table)
435 * 434 *
436 ******************************************************************************/ 435 ******************************************************************************/
437acpi_status 436acpi_status
438acpi_get_table_by_index(acpi_native_uint table_index, 437acpi_get_table_by_index(u32 table_index, struct acpi_table_header **table)
439 struct acpi_table_header ** table)
440{ 438{
441 acpi_status status; 439 acpi_status status;
442 440
@@ -493,7 +491,7 @@ static acpi_status acpi_tb_load_namespace(void)
493{ 491{
494 acpi_status status; 492 acpi_status status;
495 struct acpi_table_header *table; 493 struct acpi_table_header *table;
496 acpi_native_uint i; 494 u32 i;
497 495
498 ACPI_FUNCTION_TRACE(tb_load_namespace); 496 ACPI_FUNCTION_TRACE(tb_load_namespace);
499 497
diff --git a/drivers/acpi/tables/tbxfroot.c b/drivers/acpi/tables/tbxfroot.c
index b8c0dfa084f6..2d157e0f98d2 100644
--- a/drivers/acpi/tables/tbxfroot.c
+++ b/drivers/acpi/tables/tbxfroot.c
@@ -118,7 +118,7 @@ static acpi_status acpi_tb_validate_rsdp(struct acpi_table_rsdp *rsdp)
118 * 118 *
119 ******************************************************************************/ 119 ******************************************************************************/
120 120
121acpi_status acpi_find_root_pointer(acpi_native_uint * table_address) 121acpi_status acpi_find_root_pointer(acpi_size *table_address)
122{ 122{
123 u8 *table_ptr; 123 u8 *table_ptr;
124 u8 *mem_rover; 124 u8 *mem_rover;
@@ -153,7 +153,7 @@ acpi_status acpi_find_root_pointer(acpi_native_uint * table_address)
153 * 1b) Search EBDA paragraphs (EBDA is required to be a 153 * 1b) Search EBDA paragraphs (EBDA is required to be a
154 * minimum of 1_k length) 154 * minimum of 1_k length)
155 */ 155 */
156 table_ptr = acpi_os_map_memory((acpi_native_uint) 156 table_ptr = acpi_os_map_memory((acpi_physical_address)
157 physical_address, 157 physical_address,
158 ACPI_EBDA_WINDOW_SIZE); 158 ACPI_EBDA_WINDOW_SIZE);
159 if (!table_ptr) { 159 if (!table_ptr) {