diff options
Diffstat (limited to 'drivers/acpi/bus.c')
| -rw-r--r-- | drivers/acpi/bus.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c index 606f8733a776..dd3983cece92 100644 --- a/drivers/acpi/bus.c +++ b/drivers/acpi/bus.c | |||
| @@ -43,7 +43,7 @@ ACPI_MODULE_NAME("acpi_bus") | |||
| 43 | extern void __init acpi_pic_sci_set_trigger(unsigned int irq, u16 trigger); | 43 | extern void __init acpi_pic_sci_set_trigger(unsigned int irq, u16 trigger); |
| 44 | #endif | 44 | #endif |
| 45 | 45 | ||
| 46 | FADT_DESCRIPTOR acpi_fadt; | 46 | struct fadt_descriptor acpi_fadt; |
| 47 | EXPORT_SYMBOL(acpi_fadt); | 47 | EXPORT_SYMBOL(acpi_fadt); |
| 48 | 48 | ||
| 49 | struct acpi_device *acpi_root; | 49 | struct acpi_device *acpi_root; |
| @@ -205,12 +205,14 @@ int acpi_bus_set_power(acpi_handle handle, int state) | |||
| 205 | * Get device's current power state if it's unknown | 205 | * Get device's current power state if it's unknown |
| 206 | * This means device power state isn't initialized or previous setting failed | 206 | * This means device power state isn't initialized or previous setting failed |
| 207 | */ | 207 | */ |
| 208 | if (device->power.state == ACPI_STATE_UNKNOWN) | 208 | if (!device->flags.force_power_state) { |
| 209 | acpi_bus_get_power(device->handle, &device->power.state); | 209 | if (device->power.state == ACPI_STATE_UNKNOWN) |
| 210 | if (state == device->power.state) { | 210 | acpi_bus_get_power(device->handle, &device->power.state); |
| 211 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device is already at D%d\n", | 211 | if (state == device->power.state) { |
| 212 | state)); | 212 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Device is already at D%d\n", |
| 213 | return_VALUE(0); | 213 | state)); |
| 214 | return_VALUE(0); | ||
| 215 | } | ||
| 214 | } | 216 | } |
| 215 | if (!device->power.states[state].flags.valid) { | 217 | if (!device->power.states[state].flags.valid) { |
| 216 | ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Device does not support D%d\n", | 218 | ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Device does not support D%d\n", |
| @@ -596,6 +598,8 @@ void __init acpi_early_init(void) | |||
| 596 | if (acpi_disabled) | 598 | if (acpi_disabled) |
| 597 | return_VOID; | 599 | return_VOID; |
| 598 | 600 | ||
| 601 | printk(KERN_INFO PREFIX "Core revision %08x\n", ACPI_CA_VERSION); | ||
| 602 | |||
| 599 | /* enable workarounds, unless strict ACPI spec. compliance */ | 603 | /* enable workarounds, unless strict ACPI spec. compliance */ |
| 600 | if (!acpi_strict) | 604 | if (!acpi_strict) |
| 601 | acpi_gbl_enable_interpreter_slack = TRUE; | 605 | acpi_gbl_enable_interpreter_slack = TRUE; |
| @@ -617,7 +621,7 @@ void __init acpi_early_init(void) | |||
| 617 | /* | 621 | /* |
| 618 | * Get a separate copy of the FADT for use by other drivers. | 622 | * Get a separate copy of the FADT for use by other drivers. |
| 619 | */ | 623 | */ |
| 620 | status = acpi_get_table(ACPI_TABLE_FADT, 1, &buffer); | 624 | status = acpi_get_table(ACPI_TABLE_ID_FADT, 1, &buffer); |
| 621 | if (ACPI_FAILURE(status)) { | 625 | if (ACPI_FAILURE(status)) { |
| 622 | printk(KERN_ERR PREFIX "Unable to get the FADT\n"); | 626 | printk(KERN_ERR PREFIX "Unable to get the FADT\n"); |
| 623 | goto error0; | 627 | goto error0; |
| @@ -743,8 +747,6 @@ static int __init acpi_init(void) | |||
| 743 | 747 | ||
| 744 | ACPI_FUNCTION_TRACE("acpi_init"); | 748 | ACPI_FUNCTION_TRACE("acpi_init"); |
| 745 | 749 | ||
| 746 | printk(KERN_INFO PREFIX "Subsystem revision %08x\n", ACPI_CA_VERSION); | ||
| 747 | |||
| 748 | if (acpi_disabled) { | 750 | if (acpi_disabled) { |
| 749 | printk(KERN_INFO PREFIX "Interpreter disabled.\n"); | 751 | printk(KERN_INFO PREFIX "Interpreter disabled.\n"); |
| 750 | return_VALUE(-ENODEV); | 752 | return_VALUE(-ENODEV); |
