Re: [PATCH v1 1/1] device property: Replace custom implementation of COUNT_ARGS()

From: Nick Desaulniers
Date: Fri Sep 29 2023 - 12:10:30 EST


On Wed, Sep 20, 2023 at 9:50 AM Nick Desaulniers
<ndesaulniers@xxxxxxxxxx> wrote:
>
> 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

(resending as text/plain)

Can someone pick this up for linux-next?

CI for linux-next has been red for days over this.

>
> > 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



--
Thanks,
~Nick Desaulniers