Re: [PATCH] arm64: armv8_deprecated: fix unused-function error

From: Ren Zhijie
Date: Tue Nov 22 2022 - 21:06:10 EST



在 2022/11/23 0:48, Mark Rutland 写道:
On Tue, Nov 22, 2022 at 03:20:10AM +0000, Ren Zhijie wrote:
If CONFIG_SWP_EMULATION is not set and
CONFIG_CP15_BARRIER_EMULATION is not set,
aarch64-linux-gnu complained about unused-function :

arch/arm64/kernel/armv8_deprecated.c:67:21: error: ‘aarch32_check_condition’ defined but not used [-Werror=unused-function]
static unsigned int aarch32_check_condition(u32 opcode, u32 psr)
^~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

To fix this error, warp the definition of
aarch32_check_condition() by defined(CONFIG_SWP_EMULATION) ||
defined(CONFIG_CP15_BARRIER_EMULATION)

Fixes: 0c5f416219da ("arm64: armv8_deprecated: move aarch32 helper earlier")
This also depends on building with additional options to turn warnings into
errors, no?

No,i just run the normal command as follow:

make ARCH="arm64" CROSS_COMPILE="aarch64-linux-gnu-"

Signed-off-by: Ren Zhijie <renzhijie2@xxxxxxxxxx>
---
arch/arm64/kernel/armv8_deprecated.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/arm64/kernel/armv8_deprecated.c b/arch/arm64/kernel/armv8_deprecated.c
index ed0788cf6bbb..3f29ceb6653a 100644
--- a/arch/arm64/kernel/armv8_deprecated.c
+++ b/arch/arm64/kernel/armv8_deprecated.c
@@ -64,6 +64,7 @@ struct insn_emulation {
#define ARM_OPCODE_CONDITION_UNCOND 0xf
+#if defined(CONFIG_SWP_EMULATION) || defined(CONFIG_CP15_BARRIER_EMULATION)
static unsigned int aarch32_check_condition(u32 opcode, u32 psr)
{
u32 cc_bits = opcode >> 28;
@@ -76,6 +77,7 @@ static unsigned int aarch32_check_condition(u32 opcode, u32 psr)
}
return ARM_OPCODE_CONDTEST_UNCOND;
}
+#endif
Could we mark this as '__maybe_unused' or 'inline' instead? I think that's
preferable to the ifdeferry.

sure, i will use __maybe_unused in v2.

Thanks,

Ren.

Thanks,
Mark.

#ifdef CONFIG_SWP_EMULATION
/*
--
2.17.1

.