Lines Matching +full:bus +full:- +full:range
1 // SPDX-License-Identifier: GPL-2.0-only
20 if (!op || index >= op->archdata.num_irqs) in irq_of_parse_and_map()
23 return op->archdata.irqs[index]; in irq_of_parse_and_map()
32 if (!op || index >= op->num_resources) in of_address_to_resource()
33 return -EINVAL; in of_address_to_resource()
35 memcpy(r, &op->archdata.resource[index], sizeof(*r)); in of_address_to_resource()
45 if (!op || index >= op->num_resources) in of_iomap()
48 r = &op->archdata.resource[index]; in of_iomap()
50 return of_ioremap(r, 0, resource_size(r), (char *) r->name); in of_iomap()
55 * BUS and propagate to all child platform_device objects.
57 void of_propagate_archdata(struct platform_device *bus) in of_propagate_archdata() argument
59 struct dev_archdata *bus_sd = &bus->dev.archdata; in of_propagate_archdata()
60 struct device_node *bus_dp = bus->dev.of_node; in of_propagate_archdata()
63 for (dp = bus_dp->child; dp; dp = dp->sibling) { in of_propagate_archdata()
66 op->dev.archdata.iommu = bus_sd->iommu; in of_propagate_archdata()
67 op->dev.archdata.stc = bus_sd->stc; in of_propagate_archdata()
68 op->dev.archdata.host_controller = bus_sd->host_controller; in of_propagate_archdata()
69 op->dev.archdata.numa_node = bus_sd->numa_node; in of_propagate_archdata()
70 op->dev.dma_ops = bus->dev.dma_ops; in of_propagate_archdata()
72 if (dp->child) in of_propagate_archdata()
86 * Default translator (generic bus)
94 /* Make sure the least significant 64-bits are in-range. Even
113 int of_bus_default_map(u32 *addr, const u32 *range, int na, int ns, int pna) in of_bus_default_map() argument
120 return -EINVAL; in of_bus_default_map()
123 if (of_out_of_range(addr, range, range + na + pna, na, ns)) in of_bus_default_map()
124 return -EINVAL; in of_bus_default_map()
126 /* Start with the parent range base. */ in of_bus_default_map()
127 memcpy(result, range + na, pna * 4); in of_bus_default_map()
131 result[pna - 1 - i] += in of_bus_default_map()
132 (addr[na - 1 - i] - in of_bus_default_map()
133 range[na - 1 - i]); in of_bus_default_map()
148 * SBUS bus specific translator
161 * to match SBUS if that's the top-level bus and we in of_bus_sbus_match()
162 * don't have some intervening real bus that provides in of_bus_sbus_match()
168 dp = dp->parent; in of_bus_sbus_match()