]> git.itanic.dy.fi Git - linux-stable/commit
LoongArch: Fix section mismatch due to acpi_os_ioremap()
authorHuacai Chen <chenhuacai@loongson.cn>
Fri, 2 Sep 2022 14:33:42 +0000 (22:33 +0800)
committerHuacai Chen <chenhuacai@loongson.cn>
Sat, 3 Sep 2022 10:01:27 +0000 (18:01 +0800)
commite0fba87c854347007fb9fc873e890b686cc61302
tree64463acb34f78e5983a5469f351f2720d2a3fd10
parentad6846196ab62287e3ba094bb52647132f1998cd
LoongArch: Fix section mismatch due to acpi_os_ioremap()

Now acpi_os_ioremap() is marked with __init because it calls memblock_
is_memory() which is also marked with __init in the !ARCH_KEEP_MEMBLOCK
case. However, acpi_os_ioremap() is called by ordinary functions such
as acpi_os_{read, write}_memory() and causes section mismatch warnings:

WARNING: modpost: vmlinux.o: section mismatch in reference: acpi_os_read_memory (section: .text) -> acpi_os_ioremap (section: .init.text)
WARNING: modpost: vmlinux.o: section mismatch in reference: acpi_os_write_memory (section: .text) -> acpi_os_ioremap (section: .init.text)

Fix these warnings by selecting ARCH_KEEP_MEMBLOCK unconditionally and
removing the __init modifier of acpi_os_ioremap(). This can also give a
chance to track "memory" and "reserved" memblocks after early boot.

Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
arch/loongarch/Kconfig
arch/loongarch/include/asm/acpi.h
arch/loongarch/kernel/acpi.c