ACPI: HED: Always initialize before evged
authorXiaofei Tan <tanxiaofei@huawei.com>
Wed, 12 Feb 2025 06:34:08 +0000 (14:34 +0800)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 18 Feb 2025 18:24:29 +0000 (19:24 +0100)
commitcccf6ee090c8c133072d5d5b52ae25f3bc907a16
treede09b87cb0c5a8f32a109c440f1a3630ea2e37aa
parent0ad2507d5d93f39619fc42372c347d6006b64319
ACPI: HED: Always initialize before evged

When the HED driver is built-in, it initializes after evged because they
both are at the same initcall level, so the initialization ordering
depends on the Makefile order.  However, this prevents RAS records
coming in between the evged driver initialization and the HED driver
initialization from being handled.

If the number of such RAS records is above the APEI HEST error source
number, the HEST resources may be exhausted, and that may affect
subsequent RAS error reporting.

To fix this issue, change the initcall level of HED to subsys_initcall
and prevent the driver from being built as a module by changing ACPI_HED
in Kconfig from "tristate" to "bool".

Signed-off-by: Xiaofei Tan <tanxiaofei@huawei.com>
Link: https://patch.msgid.link/20250212063408.927666-1-tanxiaofei@huawei.com
[ rjw: Changelog edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/Kconfig
drivers/acpi/hed.c