diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-24 16:57:37 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-24 16:57:37 -0400 |
commit | 1481b9109fe771ec8b035d7760f42e36d2bed5d4 (patch) | |
tree | abf3f6e7aa1aa98dc76ae8f04accc235918da53c /drivers/acpi/tables/tbfadt.c | |
parent | 5042d99795d3d817bef2f4cc46e953bee9bf7398 (diff) | |
parent | f88133d76ea38761b7379d6233b752ed82250a4a (diff) |
Merge branch 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6
* 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-2.6:
acpi: fix crash in core ACPI code, triggered by CONFIG_ACPI_PCI_SLOT=y
ACPI: thinkpad-acpi: don't misdetect in get_thinkpad_model_data() on -ENOMEM
ACPI: thinkpad-acpi: bump up version to 0.21
ACPI: thinkpad-acpi: add bluetooth and WWAN rfkill support
ACPI: thinkpad-acpi: WLSW overrides other rfkill switches
ACPI: thinkpad-acpi: prepare for bluetooth and wwan rfkill support
ACPI: thinkpad-acpi: consolidate wlsw notification function
ACPI: thinkpad-acpi: minor refactor on radio switch init
Revert "ACPI: don't walk tables if ACPI was disabled"
Revert "dock: bay: Don't call acpi_walk_namespace() when ACPI is disabled."
Revert "Fix FADT parsing"
ACPI : Set FAN device to correct state in boot phase
ACPI: Ignore _BQC object when registering backlight device
ACPI: stop complaints about interrupt link End Tags and blank IRQ descriptors
Diffstat (limited to 'drivers/acpi/tables/tbfadt.c')
-rw-r--r-- | drivers/acpi/tables/tbfadt.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/drivers/acpi/tables/tbfadt.c b/drivers/acpi/tables/tbfadt.c index ccb5b64bbef3..a4a41ba2484b 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 | ||
125 | static void inline | 125 | static void inline |
126 | acpi_tb_init_generic_address(struct acpi_generic_address *generic_address, | 126 | acpi_tb_init_generic_address(struct acpi_generic_address *generic_address, |
127 | u8 byte_width, u64 address) | 127 | u8 bit_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 = byte_width << 3; | 139 | generic_address->bit_width = bit_width; |
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 | } |
@@ -343,11 +343,9 @@ 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 (xpm1x_event_block.bit_width/2) | 346 | * block. Each is of length (pm1_event_length/2) |
347 | */ | 347 | */ |
348 | WARN_ON(ACPI_MOD_16(acpi_gbl_FADT.xpm1a_event_block.bit_width)); | 348 | pm1_register_length = (u8) ACPI_DIV_2(acpi_gbl_FADT.pm1_event_length); |
349 | pm1_register_length = (u8) ACPI_DIV_16(acpi_gbl_FADT | ||
350 | .xpm1a_event_block.bit_width); | ||
351 | 349 | ||
352 | /* The PM1A register block is required */ | 350 | /* The PM1A register block is required */ |
353 | 351 | ||
@@ -362,17 +360,14 @@ static void acpi_tb_convert_fadt(void) | |||
362 | /* The PM1B register block is optional, ignore if not present */ | 360 | /* The PM1B register block is optional, ignore if not present */ |
363 | 361 | ||
364 | if (acpi_gbl_FADT.xpm1b_event_block.address) { | 362 | 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); | ||
369 | acpi_tb_init_generic_address(&acpi_gbl_xpm1b_enable, | 363 | acpi_tb_init_generic_address(&acpi_gbl_xpm1b_enable, |
370 | pm1_register_length, | 364 | pm1_register_length, |
371 | (acpi_gbl_FADT.xpm1b_event_block. | 365 | (acpi_gbl_FADT.xpm1b_event_block. |
372 | address + pm1_register_length)); | 366 | address + pm1_register_length)); |
373 | /* Don't forget to copy space_id of the GAS */ | 367 | /* Don't forget to copy space_id of the GAS */ |
374 | acpi_gbl_xpm1b_enable.space_id = | 368 | acpi_gbl_xpm1b_enable.space_id = |
375 | acpi_gbl_FADT.xpm1b_event_block.space_id; | 369 | acpi_gbl_FADT.xpm1a_event_block.space_id; |
370 | |||
376 | } | 371 | } |
377 | } | 372 | } |
378 | 373 | ||