#include <linux/fwnode.h>
 #include <linux/stddef.h>
 #include <linux/types.h>
+#include <linux/util_macros.h>
 
 struct device;
 
 
 #define fwnode_for_each_named_child_node(fwnode, child, name)          \
        fwnode_for_each_child_node(fwnode, child)                       \
-               if (!fwnode_name_eq(child, name)) { } else
+               for_each_if(fwnode_name_eq(child, name))
 
 #define fwnode_for_each_available_child_node(fwnode, child)                   \
        for (child = fwnode_get_next_available_child_node(fwnode, NULL); child;\
 
 #define device_for_each_named_child_node(dev, child, name)             \
        device_for_each_child_node(dev, child)                          \
-               if (!fwnode_name_eq(child, name)) { } else
+               for_each_if(fwnode_name_eq(child, name))
 
 #define device_for_each_child_node_scoped(dev, child)                  \
        for (struct fwnode_handle *child __free(fwnode_handle) =        \
 
 #define device_for_each_named_child_node_scoped(dev, child, name)      \
        device_for_each_child_node_scoped(dev, child)                   \
-               if (!fwnode_name_eq(child, name)) { } else
+               for_each_if(fwnode_name_eq(child, name))
 
 struct fwnode_handle *fwnode_get_named_child_node(const struct fwnode_handle *fwnode,
                                                  const char *childname);