diff options
Diffstat (limited to 'drivers/acpi/bus.c')
| -rw-r--r-- | drivers/acpi/bus.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c index 99d820a693a8..147f6c7ea59c 100644 --- a/drivers/acpi/bus.c +++ b/drivers/acpi/bus.c | |||
| @@ -1029,6 +1029,9 @@ void __init acpi_early_init(void) | |||
| 1029 | 1029 | ||
| 1030 | acpi_permanent_mmap = true; | 1030 | acpi_permanent_mmap = true; |
| 1031 | 1031 | ||
| 1032 | /* Initialize debug output. Linux does not use ACPICA defaults */ | ||
| 1033 | acpi_dbg_level = ACPI_LV_INFO | ACPI_LV_REPAIR; | ||
| 1034 | |||
| 1032 | #ifdef CONFIG_X86 | 1035 | #ifdef CONFIG_X86 |
| 1033 | /* | 1036 | /* |
| 1034 | * If the machine falls into the DMI check table, | 1037 | * If the machine falls into the DMI check table, |
| @@ -1054,18 +1057,6 @@ void __init acpi_early_init(void) | |||
| 1054 | goto error0; | 1057 | goto error0; |
| 1055 | } | 1058 | } |
| 1056 | 1059 | ||
| 1057 | /* | ||
| 1058 | * ACPI 2.0 requires the EC driver to be loaded and work before | ||
| 1059 | * the EC device is found in the namespace (i.e. before | ||
| 1060 | * acpi_load_tables() is called). | ||
| 1061 | * | ||
| 1062 | * This is accomplished by looking for the ECDT table, and getting | ||
| 1063 | * the EC parameters out of that. | ||
| 1064 | * | ||
| 1065 | * Ignore the result. Not having an ECDT is not fatal. | ||
| 1066 | */ | ||
| 1067 | status = acpi_ec_ecdt_probe(); | ||
| 1068 | |||
| 1069 | #ifdef CONFIG_X86 | 1060 | #ifdef CONFIG_X86 |
| 1070 | if (!acpi_ioapic) { | 1061 | if (!acpi_ioapic) { |
| 1071 | /* compatible (0) means level (3) */ | 1062 | /* compatible (0) means level (3) */ |
| @@ -1142,6 +1133,18 @@ static int __init acpi_bus_init(void) | |||
| 1142 | goto error1; | 1133 | goto error1; |
| 1143 | } | 1134 | } |
| 1144 | 1135 | ||
| 1136 | /* | ||
| 1137 | * ACPI 2.0 requires the EC driver to be loaded and work before the EC | ||
| 1138 | * device is found in the namespace. | ||
| 1139 | * | ||
| 1140 | * This is accomplished by looking for the ECDT table and getting the EC | ||
| 1141 | * parameters out of that. | ||
| 1142 | * | ||
| 1143 | * Do that before calling acpi_initialize_objects() which may trigger EC | ||
| 1144 | * address space accesses. | ||
| 1145 | */ | ||
| 1146 | acpi_ec_ecdt_probe(); | ||
| 1147 | |||
| 1145 | status = acpi_enable_subsystem(ACPI_NO_ACPI_ENABLE); | 1148 | status = acpi_enable_subsystem(ACPI_NO_ACPI_ENABLE); |
| 1146 | if (ACPI_FAILURE(status)) { | 1149 | if (ACPI_FAILURE(status)) { |
| 1147 | printk(KERN_ERR PREFIX | 1150 | printk(KERN_ERR PREFIX |
