diff options
author | Tom Rini <trini@konsulko.com> | 2021-06-06 13:00:23 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-06-06 13:00:23 -0400 |
commit | 281e95c40f2c12e0265b978d735a6b4990183bcd (patch) | |
tree | bde4f4a865d303e8affe24ad4b5e544e097574d8 /drivers/core | |
parent | 0c4e63a48771e2dad3ca13400092f066cab61de1 (diff) | |
parent | 269fa8468df40952d538ac945db3d98a8d44f79e (diff) |
Merge tag 'dm-pull-6jun21' of https://source.denx.de/u-boot/custodians/u-boot-dm
Minor fixes for sandbox and handling of dm-ranges
Diffstat (limited to 'drivers/core')
-rw-r--r-- | drivers/core/of_addr.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/core/of_addr.c b/drivers/core/of_addr.c index 9b77308182d..3fbc0a7afa6 100644 --- a/drivers/core/of_addr.c +++ b/drivers/core/of_addr.c @@ -118,11 +118,6 @@ static struct of_bus *of_match_bus(struct device_node *np) return NULL; } -static void dev_count_cells(const struct device_node *np, int *nap, int *nsp) -{ - of_bus_default_count_cells(np, nap, nsp); -} - const __be32 *of_get_address(const struct device_node *dev, int index, u64 *size, unsigned int *flags) { @@ -136,7 +131,6 @@ const __be32 *of_get_address(const struct device_node *dev, int index, parent = of_get_parent(dev); if (parent == NULL) return NULL; - dev_count_cells(dev, &na, &ns); bus = of_match_bus(parent); bus->count_cells(dev, &na, &ns); of_node_put(parent); @@ -192,9 +186,13 @@ static int of_translate_one(const struct device_node *parent, * * As far as we know, this damage only exists on Apple machines, so * This code is only enabled on powerpc. --gcl + * + * This quirk also applies for 'dma-ranges' which frequently exist in + * child nodes without 'dma-ranges' in the parent nodes. --RobH */ ranges = of_get_property(parent, rprop, &rlen); - if (ranges == NULL && !of_empty_ranges_quirk(parent)) { + if (ranges == NULL && !of_empty_ranges_quirk(parent) && + strcmp(rprop, "dma-ranges")) { debug("no ranges; cannot translate\n"); return 1; } |