Messages in this thread | | | From | "Kallol Biswas [C]" <> | Subject | intel_idle and acpi_idle driver initcall order | Date | Mon, 6 Feb 2023 20:58:54 +0000 |
| |
Hi, Looking for help understanding how idle drivers get loaded on Intel platforms.
The intel_idle driver always gets loaded. Both intel_idle and acpi_idle drivers are built with =y and both use device_initcall.
Added initcall_debug cmd line param and noticed that always intel_idle_init got called before acpi_processor_driver_init.
2.736001] initcall efifb_driver_init+0x0/0x13 returned 0 after 5 usecs [ 2.736003] calling intel_idle_init+0x0/0x406 @ 1 [ 2.737335] initcall intel_idle_init+0x0/0x406 returned 0 after 1297 usecs [ 2.737337] calling ged_driver_init+0x0/0x13 @ 1 [ 2.737350] initcall ged_driver_init+0x0/0x13 returned 0 after 10 usecs [ 2.737352] calling acpi_processor_driver_init+0x0/0xbb @ 1 [ 2.767685] initcall acpi_processor_driver_init+0x0/0xbb returned 0 after 29618 usecs [ 2.767687] calling acpi_thermal_init+0x0/0x86 @ 1 [ 2.767850] initcall acpi_thermal_init+0x0/0x86 returned 0 after 156 usecs [ 2.767852] calling acpi_hed_driver_init+0x0/0x11 @ 1 [ 2.767888] initcall acpi_hed_driver_init+0x0/0x11 returned 0 after
Question: What determines the initcall order within the same level?
init.h: #define device_initcall(fn) __define_initcall(fn, 6)
| |