On Mon, 2024-04-01 at 14:21 +1300, Barry Song wrote: > From: Xining Xu <mac.xxn@xxxxxxxxxxx> > > If function-like macros do not utilize a parameter, it might result in a > build warning. In our coding style guidelines, we advocate for utilizing > static inline functions to replace such macros. This patch verifies > compliance with the new rule. > > For a macro such as the one below, > > #define test(a) do { } while (0) > > The test result is as follows. > > ERROR: Parameter 'a' is not used in function-like macro, please use static > inline instead > #21: FILE: mm/init-mm.c:20: > +#define test(a) do { } while (0) This is no longer true. Please update the ERROR->WARN and message as below Ideally, this would have an update to Documentation/dev-tools/checkpatch.rst to describe the new --verbose message type > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl [] > @@ -6040,6 +6040,12 @@ sub process { > CHK("MACRO_ARG_PRECEDENCE", > "Macro argument '$arg' may be better as '($arg)' to avoid precedence issues\n" . "$herectx"); > } > + > +# check if this is an unused argument > + if ($define_stmt !~ /\b$arg\b/) { > + WARN("MACRO_ARG_UNUSED", > + "Argument '$arg' is not used in function-like macro\n" . "$herectx"); > + }