On Wed, Sep 20, 2023 at 8:38 AM Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > Replace custom and non-portable implementation of COUNT_ARGS(). > > Fixes: e64b674bc9d7 ("software node: implement reference properties") > Reported-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > Closes: https://lore.kernel.org/r/ZQoILN6QCjzosCOs@xxxxxxxxxx Thanks for the patch! Closes: https://github.com/ClangBuiltLinux/linux/issues/1935 Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> Of course Linux would have a macro for this! I should have known. Trying to wrap my head around it. Awesome > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > include/linux/property.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/include/linux/property.h b/include/linux/property.h > index 1684fca930f7..55c2692ffa8c 100644 > --- a/include/linux/property.h > +++ b/include/linux/property.h > @@ -10,6 +10,7 @@ > #ifndef _LINUX_PROPERTY_H_ > #define _LINUX_PROPERTY_H_ > > +#include <linux/args.h> > #include <linux/bits.h> > #include <linux/fwnode.h> > #include <linux/stddef.h> > @@ -314,7 +315,7 @@ struct software_node_ref_args { > #define SOFTWARE_NODE_REFERENCE(_ref_, ...) \ > (const struct software_node_ref_args) { \ > .node = _ref_, \ > - .nargs = ARRAY_SIZE(((u64[]){ 0, ##__VA_ARGS__ })) - 1, \ > + .nargs = COUNT_ARGS(__VA_ARGS__), \ > .args = { __VA_ARGS__ }, \ > } > > -- > 2.40.0.1.gaa8946217a0b > -- Thanks, ~Nick Desaulniers