diff options
-rw-r--r-- | drivers/bus/mvebu-mbus.c | 2 | ||||
-rw-r--r-- | include/of.h | 6 |
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)) |