* [PATCH v2 1/1] x86/cpu: Mark flag_is_changeable_p() with __maybe_unused
@ 2024-09-05 17:02 Andy Shevchenko
2024-09-09 15:35 ` Dave Hansen
0 siblings, 1 reply; 3+ messages in thread
From: Andy Shevchenko @ 2024-09-05 17:02 UTC (permalink / raw)
To: Thomas Gleixner, linux-kernel, llvm
Cc: Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin,
Nathan Chancellor, Nick Desaulniers, Bill Wendling, Justin Stitt,
Andy Shevchenko
When flag_is_changeable_p() is unused, it prevents kernel builds
with clang, `make W=1` and CONFIG_WERROR=y:
arch/x86/kernel/cpu/common.c:351:19: error: unused function 'flag_is_changeable_p' [-Werror,-Wunused-function]
351 | static inline int flag_is_changeable_p(u32 flag)
| ^~~~~~~~~~~~~~~~~~~~
Fix this by marking it with __maybe_unused (both cases for the sake of
symmetry).
See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static
inline functions for W=1 build").
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v2: marked both 32- and 64-bit cases
arch/x86/kernel/cpu/common.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index d4e539d4e158..4b35744ef9b2 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -287,7 +287,7 @@ static int __init cachesize_setup(char *str)
__setup("cachesize=", cachesize_setup);
/* Standard macro to see if a specific flag is changeable */
-static inline int flag_is_changeable_p(u32 flag)
+static inline __maybe_unused int flag_is_changeable_p(u32 flag)
{
u32 f1, f2;
@@ -348,7 +348,7 @@ static int __init x86_serial_nr_setup(char *s)
}
__setup("serialnumber", x86_serial_nr_setup);
#else
-static inline int flag_is_changeable_p(u32 flag)
+static inline __maybe_unused int flag_is_changeable_p(u32 flag)
{
return 1;
}
--
2.43.0.rc1.1336.g36b5255a03ac
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH v2 1/1] x86/cpu: Mark flag_is_changeable_p() with __maybe_unused
2024-09-05 17:02 [PATCH v2 1/1] x86/cpu: Mark flag_is_changeable_p() with __maybe_unused Andy Shevchenko
@ 2024-09-09 15:35 ` Dave Hansen
2024-09-09 15:43 ` Andy Shevchenko
0 siblings, 1 reply; 3+ messages in thread
From: Dave Hansen @ 2024-09-09 15:35 UTC (permalink / raw)
To: Andy Shevchenko, Thomas Gleixner, linux-kernel, llvm
Cc: Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin,
Nathan Chancellor, Nick Desaulniers, Bill Wendling, Justin Stitt
On 9/5/24 10:02, Andy Shevchenko wrote:
> When flag_is_changeable_p() is unused, it prevents kernel builds
> with clang, `make W=1` and CONFIG_WERROR=y:
>
> arch/x86/kernel/cpu/common.c:351:19: error: unused function 'flag_is_changeable_p' [-Werror,-Wunused-function]
> 351 | static inline int flag_is_changeable_p(u32 flag)
> | ^~~~~~~~~~~~~~~~~~~~
>
> Fix this by marking it with __maybe_unused (both cases for the sake of
> symmetry).
>
> See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static
> inline functions for W=1 build").
Maybe something like this:
http://hansen.beer/~dave/intel/onelessifdef.patch
I assume the inlines were there to suppress the "unused" warnings in the
first place. So, let's just 'use' them unconditionally and leave it up
to the compiler to figure it out.
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH v2 1/1] x86/cpu: Mark flag_is_changeable_p() with __maybe_unused
2024-09-09 15:35 ` Dave Hansen
@ 2024-09-09 15:43 ` Andy Shevchenko
0 siblings, 0 replies; 3+ messages in thread
From: Andy Shevchenko @ 2024-09-09 15:43 UTC (permalink / raw)
To: Dave Hansen
Cc: Thomas Gleixner, linux-kernel, llvm, Ingo Molnar, Borislav Petkov,
Dave Hansen, x86, H. Peter Anvin, Nathan Chancellor,
Nick Desaulniers, Bill Wendling, Justin Stitt
On Mon, Sep 09, 2024 at 08:35:43AM -0700, Dave Hansen wrote:
> On 9/5/24 10:02, Andy Shevchenko wrote:
...
> > arch/x86/kernel/cpu/common.c:351:19: error: unused function 'flag_is_changeable_p' [-Werror,-Wunused-function]
> > 351 | static inline int flag_is_changeable_p(u32 flag)
> > | ^~~~~~~~~~~~~~~~~~~~
> >
> > Fix this by marking it with __maybe_unused (both cases for the sake of
> > symmetry).
> >
> > See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static
> > inline functions for W=1 build").
>
> Maybe something like this:
>
> http://hansen.beer/~dave/intel/onelessifdef.patch
Fine to me as long as the issue is solved :-) Please, submit it formally I may
test it.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-09-09 15:43 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-05 17:02 [PATCH v2 1/1] x86/cpu: Mark flag_is_changeable_p() with __maybe_unused Andy Shevchenko
2024-09-09 15:35 ` Dave Hansen
2024-09-09 15:43 ` Andy Shevchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox