diff options
Diffstat (limited to 'drivers/acpi/bus.c')
| -rw-r--r-- | drivers/acpi/bus.c | 44 | 
1 files changed, 16 insertions, 28 deletions
| diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c index d2e29a19890d..bb3d96dea6db 100644 --- a/drivers/acpi/bus.c +++ b/drivers/acpi/bus.c @@ -1054,15 +1054,17 @@ void __init acpi_early_init(void)  		goto error0;  	} -	if (!acpi_gbl_execute_tables_as_methods && -	    acpi_gbl_group_module_level_code) { -		status = acpi_load_tables(); -		if (ACPI_FAILURE(status)) { -			printk(KERN_ERR PREFIX -			       "Unable to load the System Description Tables\n"); -			goto error0; -		} -	} +	/* +	 * ACPI 2.0 requires the EC driver to be loaded and work before +	 * the EC device is found in the namespace (i.e. before +	 * acpi_load_tables() is called). +	 * +	 * This is accomplished by looking for the ECDT table, and getting +	 * the EC parameters out of that. +	 * +	 * Ignore the result. Not having an ECDT is not fatal. +	 */ +	status = acpi_ec_ecdt_probe();  #ifdef CONFIG_X86  	if (!acpi_ioapic) { @@ -1133,25 +1135,11 @@ static int __init acpi_bus_init(void)  	acpi_os_initialize1(); -	/* -	 * ACPI 2.0 requires the EC driver to be loaded and work before -	 * the EC device is found in the namespace (i.e. before -	 * acpi_load_tables() is called). -	 * -	 * This is accomplished by looking for the ECDT table, and getting -	 * the EC parameters out of that. -	 */ -	status = acpi_ec_ecdt_probe(); -	/* Ignore result. Not having an ECDT is not fatal. */ - -	if (acpi_gbl_execute_tables_as_methods || -	    !acpi_gbl_group_module_level_code) { -		status = acpi_load_tables(); -		if (ACPI_FAILURE(status)) { -			printk(KERN_ERR PREFIX -			       "Unable to load the System Description Tables\n"); -			goto error1; -		} +	status = acpi_load_tables(); +	if (ACPI_FAILURE(status)) { +		printk(KERN_ERR PREFIX +		       "Unable to load the System Description Tables\n"); +		goto error1;  	}  	status = acpi_enable_subsystem(ACPI_NO_ACPI_ENABLE); |