[PATCH v1 1/1] device property: Replace custom implementation of COUNT_ARGS()
Replace custom and non-portable implementation of COUNT_ARGS().
Fixes: e64b674bc9d7 ("software node: implement reference properties") Reported-by: Nick Desaulniers ndesaulniers@google.com Closes: https://lore.kernel.org/r/ZQoILN6QCjzosCOs@google.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com --- 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__ }, \ }
On Wed, 20 Sep 2023 17:38:19 +0200, Andy Shevchenko wrote:
Replace custom and non-portable implementation of COUNT_ARGS().
Fixes: e64b674bc9d7 ("software node: implement reference properties") Reported-by: Nick Desaulniers ndesaulniers@google.com Closes: https://lore.kernel.org/r/ZQoILN6QCjzosCOs@google.com Signed-off-by: Andy Shevchenko andriy.shevchenko@linux.intel.com
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__ }, \
}
Reviewed-by: Takashi Iwai tiwai@suse.de
NR_FWNODE_REFERENCE_ARGS is 8, so the COUNT_ARGS() macro should suffice.
thanks,
Takashi
On Wed, Sep 20, 2023 at 8:38 AM Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
Replace custom and non-portable implementation of COUNT_ARGS().
Fixes: e64b674bc9d7 ("software node: implement reference properties") Reported-by: Nick Desaulniers ndesaulniers@google.com Closes: https://lore.kernel.org/r/ZQoILN6QCjzosCOs@google.com
Thanks for the patch! Closes: https://github.com/ClangBuiltLinux/linux/issues/1935 Reviewed-by: Nick Desaulniers ndesaulniers@google.com
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@linux.intel.com
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
On Wed, Sep 20, 2023 at 9:50 AM Nick Desaulniers ndesaulniers@google.com wrote:
On Wed, Sep 20, 2023 at 8:38 AM Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
Replace custom and non-portable implementation of COUNT_ARGS().
Fixes: e64b674bc9d7 ("software node: implement reference properties") Reported-by: Nick Desaulniers ndesaulniers@google.com Closes: https://lore.kernel.org/r/ZQoILN6QCjzosCOs@google.com
Thanks for the patch! Closes: https://github.com/ClangBuiltLinux/linux/issues/1935 Reviewed-by: Nick Desaulniers ndesaulniers@google.com
Can someone pick this up for linux-next?
CI for linux-next has been red for days over this.
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@linux.intel.com
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
On Wed, Sep 20, 2023 at 9:50 AM Nick Desaulniers ndesaulniers@google.com wrote:
On Wed, Sep 20, 2023 at 8:38 AM Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
Replace custom and non-portable implementation of COUNT_ARGS().
Fixes: e64b674bc9d7 ("software node: implement reference properties") Reported-by: Nick Desaulniers ndesaulniers@google.com Closes: https://lore.kernel.org/r/ZQoILN6QCjzosCOs@google.com
Thanks for the patch! Closes: https://github.com/ClangBuiltLinux/linux/issues/1935 Reviewed-by: Nick Desaulniers ndesaulniers@google.com
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@linux.intel.com
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
On Fri, Sep 29, 2023 at 09:10:11AM -0700, Nick Desaulniers wrote:
On Wed, Sep 20, 2023 at 9:50 AM Nick Desaulniers ndesaulniers@google.com wrote:
On Wed, Sep 20, 2023 at 8:38 AM Andy Shevchenko andriy.shevchenko@linux.intel.com wrote:
Replace custom and non-portable implementation of COUNT_ARGS().
Fixes: e64b674bc9d7 ("software node: implement reference properties") Reported-by: Nick Desaulniers ndesaulniers@google.com Closes: https://lore.kernel.org/r/ZQoILN6QCjzosCOs@google.com
Thanks for the patch! Closes: https://github.com/ClangBuiltLinux/linux/issues/1935 Reviewed-by: Nick Desaulniers ndesaulniers@google.com
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.
Will do, give me a chance to catch up...
greg k-h
participants (4)
-
Andy Shevchenko
-
Greg Kroah-Hartman
-
Nick Desaulniers
-
Takashi Iwai