| From 345d5f283f93963c012799f31a1caf4aa1467d0a Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 20 Jun 2025 21:13:08 +0800 |
| Subject: ACPI: Suppress misleading SPCR console message when SPCR table is |
| absent |
| |
| From: Li Chen <chenl311@chinatelecom.cn> |
| |
| [ Upstream commit bad3fa2fb9206f4dcec6ddef094ec2fbf6e8dcb2 ] |
| |
| The kernel currently alway prints: |
| "Use ACPI SPCR as default console: No/Yes " |
| |
| even on systems that lack an SPCR table. This can |
| mislead users into thinking the SPCR table exists |
| on the machines without SPCR. |
| |
| With this change, the "Yes" is only printed if |
| the SPCR table is present, parsed and !param_acpi_nospcr. |
| This avoids user confusion on SPCR-less systems. |
| |
| Signed-off-by: Li Chen <chenl311@chinatelecom.cn> |
| Acked-by: Hanjun Guo <guohanjun@huawei.com> |
| Link: https://lore.kernel.org/r/20250620131309.126555-3-me@linux.beauty |
| Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/arm64/kernel/acpi.c | 10 +++++++--- |
| 1 file changed, 7 insertions(+), 3 deletions(-) |
| |
| diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c |
| index b9a66fc146c9..4d529ff7ba51 100644 |
| --- a/arch/arm64/kernel/acpi.c |
| +++ b/arch/arm64/kernel/acpi.c |
| @@ -197,6 +197,8 @@ static int __init acpi_fadt_sanity_check(void) |
| */ |
| void __init acpi_boot_table_init(void) |
| { |
| + int ret; |
| + |
| /* |
| * Enable ACPI instead of device tree unless |
| * - ACPI has been disabled explicitly (acpi=off), or |
| @@ -250,10 +252,12 @@ void __init acpi_boot_table_init(void) |
| * behaviour, use acpi=nospcr to disable console in ACPI SPCR |
| * table as default serial console. |
| */ |
| - acpi_parse_spcr(earlycon_acpi_spcr_enable, |
| + ret = acpi_parse_spcr(earlycon_acpi_spcr_enable, |
| !param_acpi_nospcr); |
| - pr_info("Use ACPI SPCR as default console: %s\n", |
| - param_acpi_nospcr ? "No" : "Yes"); |
| + if (!ret || param_acpi_nospcr || !IS_ENABLED(CONFIG_ACPI_SPCR_TABLE)) |
| + pr_info("Use ACPI SPCR as default console: No\n"); |
| + else |
| + pr_info("Use ACPI SPCR as default console: Yes\n"); |
| |
| if (IS_ENABLED(CONFIG_ACPI_BGRT)) |
| acpi_table_parse(ACPI_SIG_BGRT, acpi_parse_bgrt); |
| -- |
| 2.39.5 |
| |