mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
ACPI: call acpi_scan_init() explicitly rather than as initcall
This patch makes acpi_init() call acpi_scan_init() directly. Previously, both acpi_init() and acpi_scan_init() were subsys_initcalls, and acpi_init() was called first based on the link order from the makefile (bus.o before scan.o). acpi_scan_init() registers the ACPI bus type, creates the root device, and enumerates fixed-feature and namespace devices. All of this must be done after acpi_init(), and it's better to call acpi_scan_init() explicitly rather than rely on the link ordering. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
81d0273df2
commit
e747f27495
@ -878,6 +878,8 @@ static int __init acpi_init(void)
|
||||
* will be disabled in the course of device power transistion.
|
||||
*/
|
||||
dmi_check_system(power_nocheck_dmi_table);
|
||||
|
||||
acpi_scan_init();
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
/* For use by Linux/ACPI infrastructure, not drivers */
|
||||
|
||||
int acpi_scan_init(void);
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
Power Resource
|
||||
-------------------------------------------------------------------------- */
|
||||
|
@ -1526,16 +1526,11 @@ static int acpi_bus_scan_fixed(struct acpi_device *root)
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
static int __init acpi_scan_init(void)
|
||||
int __init acpi_scan_init(void)
|
||||
{
|
||||
int result;
|
||||
struct acpi_bus_ops ops;
|
||||
|
||||
|
||||
if (acpi_disabled)
|
||||
return 0;
|
||||
|
||||
memset(&ops, 0, sizeof(ops));
|
||||
ops.acpi_op_add = 1;
|
||||
ops.acpi_op_start = 1;
|
||||
@ -1568,5 +1563,3 @@ static int __init acpi_scan_init(void)
|
||||
Done:
|
||||
return result;
|
||||
}
|
||||
|
||||
subsys_initcall(acpi_scan_init);
|
||||
|
Loading…
Reference in New Issue
Block a user