summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/bus/mvebu-mbus.c2
-rw-r--r--include/of.h6
2 files changed, 5 insertions, 3 deletions
diff --git a/drivers/bus/mvebu-mbus.c b/drivers/bus/mvebu-mbus.c
index 735fa323c4..df5f7a32d3 100644
--- a/drivers/bus/mvebu-mbus.c
+++ b/drivers/bus/mvebu-mbus.c
@@ -754,7 +754,7 @@ static int mvebu_mbus_of_fixup(struct device_node *root, void *context)
{
struct device_node *np;
- for_each_matching_node(np, mvebu_mbus_dt_ids) {
+ for_each_matching_node_from(np, root, mvebu_mbus_dt_ids) {
struct property *p;
int n, pa, na, ns, lenp, size;
u32 *ranges;
diff --git a/include/of.h b/include/of.h
index ed6e870473..e3bb452b86 100644
--- a/include/of.h
+++ b/include/of.h
@@ -665,9 +665,11 @@ static inline struct device_node *of_find_matching_node(
{
return of_find_matching_node_and_match(from, matches, NULL);
}
-#define for_each_matching_node(dn, matches) \
- for (dn = of_find_matching_node(NULL, matches); dn; \
+#define for_each_matching_node_from(dn, root, matches) \
+ for (dn = of_find_matching_node(root, matches); dn; \
dn = of_find_matching_node(dn, matches))
+#define for_each_matching_node(dn, matches) \
+ for_each_matching_node_from(dn, NULL, matches)
#define for_each_matching_node_and_match(dn, matches, match) \
for (dn = of_find_matching_node_and_match(NULL, matches, match); \
dn; dn = of_find_matching_node_and_match(dn, matches, match))