diff options
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/acpica/tbutils.c | 3 | ||||
-rw-r--r-- | drivers/acpi/pci_link.c | 4 | ||||
-rw-r--r-- | drivers/acpi/video.c | 5 |
3 files changed, 7 insertions, 5 deletions
diff --git a/drivers/acpi/acpica/tbutils.c b/drivers/acpi/acpica/tbutils.c index 3a8d8d2eee92..9684cc827930 100644 --- a/drivers/acpi/acpica/tbutils.c +++ b/drivers/acpi/acpica/tbutils.c | |||
@@ -445,7 +445,8 @@ acpi_tb_parse_root_table(acpi_physical_address rsdp_address, u8 flags) | |||
445 | 445 | ||
446 | /* Differentiate between RSDT and XSDT root tables */ | 446 | /* Differentiate between RSDT and XSDT root tables */ |
447 | 447 | ||
448 | if (rsdp->revision > 1 && rsdp->xsdt_physical_address) { | 448 | if (rsdp->revision > 1 && rsdp->xsdt_physical_address |
449 | && !acpi_rsdt_forced) { | ||
449 | /* | 450 | /* |
450 | * Root table is an XSDT (64-bit physical addresses). We must use the | 451 | * Root table is an XSDT (64-bit physical addresses). We must use the |
451 | * XSDT if the revision is > 1 and the XSDT pointer is present, as per | 452 | * XSDT if the revision is > 1 and the XSDT pointer is present, as per |
diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c index 4869fa1b7892..1c6e73c7865e 100644 --- a/drivers/acpi/pci_link.c +++ b/drivers/acpi/pci_link.c | |||
@@ -796,10 +796,6 @@ static int irqrouter_resume(struct sys_device *dev) | |||
796 | struct list_head *node = NULL; | 796 | struct list_head *node = NULL; |
797 | struct acpi_pci_link *link = NULL; | 797 | struct acpi_pci_link *link = NULL; |
798 | 798 | ||
799 | |||
800 | /* Make sure SCI is enabled again (Apple firmware bug?) */ | ||
801 | acpi_set_register(ACPI_BITREG_SCI_ENABLE, 1); | ||
802 | |||
803 | list_for_each(node, &acpi_link.entries) { | 799 | list_for_each(node, &acpi_link.entries) { |
804 | link = list_entry(node, struct acpi_pci_link, node); | 800 | link = list_entry(node, struct acpi_pci_link, node); |
805 | if (!link) { | 801 | if (!link) { |
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index 38bf8b43fd19..f261737636da 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c | |||
@@ -482,6 +482,7 @@ acpi_video_device_lcd_set_level(struct acpi_video_device *device, int level) | |||
482 | int status = AE_OK; | 482 | int status = AE_OK; |
483 | union acpi_object arg0 = { ACPI_TYPE_INTEGER }; | 483 | union acpi_object arg0 = { ACPI_TYPE_INTEGER }; |
484 | struct acpi_object_list args = { 1, &arg0 }; | 484 | struct acpi_object_list args = { 1, &arg0 }; |
485 | int state; | ||
485 | 486 | ||
486 | 487 | ||
487 | arg0.integer.value = level; | 488 | arg0.integer.value = level; |
@@ -490,6 +491,10 @@ acpi_video_device_lcd_set_level(struct acpi_video_device *device, int level) | |||
490 | status = acpi_evaluate_object(device->dev->handle, "_BCM", | 491 | status = acpi_evaluate_object(device->dev->handle, "_BCM", |
491 | &args, NULL); | 492 | &args, NULL); |
492 | device->brightness->curr = level; | 493 | device->brightness->curr = level; |
494 | for (state = 2; state < device->brightness->count; state++) | ||
495 | if (level == device->brightness->levels[state]) | ||
496 | device->backlight->props.brightness = state - 2; | ||
497 | |||
493 | return status; | 498 | return status; |
494 | } | 499 | } |
495 | 500 | ||