* [PATCH] arm64: armv8_deprecated: fix unused-function error
@ 2022-11-22 3:20 Ren Zhijie
2022-11-22 16:48 ` Mark Rutland
0 siblings, 1 reply; 5+ messages in thread
From: Ren Zhijie @ 2022-11-22 3:20 UTC (permalink / raw)
To: catalin.marinas, will, mark.rutland
Cc: yusongping, linux-arm-kernel, linux-kernel, Ren Zhijie
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")
Signed-off-by: Ren Zhijie <renzhijie2@huawei.com>
---
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
#ifdef CONFIG_SWP_EMULATION
/*
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] arm64: armv8_deprecated: fix unused-function error 2022-11-22 3:20 [PATCH] arm64: armv8_deprecated: fix unused-function error Ren Zhijie @ 2022-11-22 16:48 ` Mark Rutland 2022-11-23 2:06 ` Ren Zhijie 0 siblings, 1 reply; 5+ messages in thread From: Mark Rutland @ 2022-11-22 16:48 UTC (permalink / raw) To: Ren Zhijie Cc: catalin.marinas, will, yusongping, linux-arm-kernel, linux-kernel 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? > Signed-off-by: Ren Zhijie <renzhijie2@huawei.com> > --- > 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. Thanks, Mark. > > #ifdef CONFIG_SWP_EMULATION > /* > -- > 2.17.1 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] arm64: armv8_deprecated: fix unused-function error 2022-11-22 16:48 ` Mark Rutland @ 2022-11-23 2:06 ` Ren Zhijie 2022-11-23 11:01 ` Mark Rutland 0 siblings, 1 reply; 5+ messages in thread From: Ren Zhijie @ 2022-11-23 2:06 UTC (permalink / raw) To: Mark Rutland Cc: catalin.marinas, will, yusongping, linux-arm-kernel, linux-kernel 在 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@huawei.com> >> --- >> 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 >> > . ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] arm64: armv8_deprecated: fix unused-function error 2022-11-23 2:06 ` Ren Zhijie @ 2022-11-23 11:01 ` Mark Rutland 2022-11-24 2:17 ` Ren Zhijie 0 siblings, 1 reply; 5+ messages in thread From: Mark Rutland @ 2022-11-23 11:01 UTC (permalink / raw) To: Ren Zhijie Cc: catalin.marinas, will, yusongping, linux-arm-kernel, linux-kernel On Wed, Nov 23, 2022 at 10:06:03AM +0800, Ren Zhijie wrote: > > 在 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-" I think you must also have CONFIG_WERROR enabled? Just building defconfig + CONFIG_ARMV8_DEPRECATED=y gives me a warning, but not an error, and the kernel builds just fine. So this is a problem to fix, and I appreciate that in test configs this might be broken, but it's not a full build-time failure for most users. Thanks, Mark. > > > Signed-off-by: Ren Zhijie <renzhijie2@huawei.com> > > > --- > > > 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 > > > > > . ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] arm64: armv8_deprecated: fix unused-function error 2022-11-23 11:01 ` Mark Rutland @ 2022-11-24 2:17 ` Ren Zhijie 0 siblings, 0 replies; 5+ messages in thread From: Ren Zhijie @ 2022-11-24 2:17 UTC (permalink / raw) To: Mark Rutland Cc: catalin.marinas, will, yusongping, linux-arm-kernel, linux-kernel 在 2022/11/23 19:01, Mark Rutland 写道: > On Wed, Nov 23, 2022 at 10:06:03AM +0800, Ren Zhijie wrote: >> 在 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-" > I think you must also have CONFIG_WERROR enabled? > > Just building defconfig + CONFIG_ARMV8_DEPRECATED=y gives me a warning, but not > an error, and the kernel builds just fine. > > So this is a problem to fix, and I appreciate that in test configs this might > be broken, but it's not a full build-time failure for most users. I get it, thanks a lot! Thanks, Ren > Thanks, > Mark. > >>>> Signed-off-by: Ren Zhijie <renzhijie2@huawei.com> >>>> --- >>>> 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 >>>> >>> . > . ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-11-24 2:17 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-11-22 3:20 [PATCH] arm64: armv8_deprecated: fix unused-function error Ren Zhijie 2022-11-22 16:48 ` Mark Rutland 2022-11-23 2:06 ` Ren Zhijie 2022-11-23 11:01 ` Mark Rutland 2022-11-24 2:17 ` Ren Zhijie
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox