[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0942af8b-64f5-2ed5-d8dc-a56a0761741e@xen0n.name>
Date: Fri, 31 Mar 2023 11:25:29 +0800
From: WANG Xuerui <kernel@...0n.name>
To: Huacai Chen <chenhuacai@...ngson.cn>,
Huacai Chen <chenhuacai@...nel.org>
Cc: loongarch@...ts.linux.dev, Xuefeng Li <lixuefeng@...ngson.cn>,
Guo Ren <guoren@...nel.org>,
Jiaxun Yang <jiaxun.yang@...goat.com>,
linux-kernel@...r.kernel.org, loongson-kernel@...ts.loongnix.cn,
Randy Dunlap <rdunlap@...radead.org>,
Tiezhu Yang <yangtiezhu@...ngson.cn>
Subject: Re: [PATCH] LoongArch: Fix build error if CONFIG_SUSPEND is not set
On 2023/3/31 10:53, Huacai Chen wrote:
> We can see the following build error on LoongArch if CONFIG_SUSPEND is
> not set:
>
> ld: drivers/acpi/sleep.o: in function 'acpi_pm_prepare':
> sleep.c:(.text+0x2b8): undefined reference to 'loongarch_wakeup_start'
>
> Here is the call trace:
>
> acpi_pm_prepare()
> __acpi_pm_prepare()
> acpi_sleep_prepare()
> acpi_get_wakeup_address()
> loongarch_wakeup_start()
>
> Root cause: loongarch_wakeup_start() is defined in arch/loongarch/power/
> suspend_asm.S which is only built under CONFIG_SUSPEND. In order to fix
> the build error, just let acpi_get_wakeup_address() return 0 if CONFIG_
> SUSPEND is not set.
>
> Fixes: 366bb35a8e48 ("LoongArch: Add suspend (ACPI S3) support")
> Reported-by: Randy Dunlap <rdunlap@...radead.org>
> Link: https://lore.kernel.org/all/11215033-fa3c-ecb1-2fc0-e9aeba47be9b@infradead.org/
> Signed-off-by: Tiezhu Yang <yangtiezhu@...ngson.cn>
> Signed-off-by: Huacai Chen <chenhuacai@...ngson.cn>
> ---
> arch/loongarch/include/asm/acpi.h | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/arch/loongarch/include/asm/acpi.h b/arch/loongarch/include/asm/acpi.h
> index 4198753aa1d0..976a810352c6 100644
> --- a/arch/loongarch/include/asm/acpi.h
> +++ b/arch/loongarch/include/asm/acpi.h
> @@ -41,8 +41,11 @@ extern void loongarch_suspend_enter(void);
>
> static inline unsigned long acpi_get_wakeup_address(void)
> {
> +#ifdef CONFIG_SUSPEND
> extern void loongarch_wakeup_start(void);
> return (unsigned long)loongarch_wakeup_start;
> +#endif
> + return 0UL;
> }
>
> #endif /* _ASM_LOONGARCH_ACPI_H */
Reviewed-by: WANG Xuerui <git@...0n.name>
Thanks!
--
WANG "xen0n" Xuerui
Linux/LoongArch mailing list: https://lore.kernel.org/loongarch/
Powered by blists - more mailing lists