aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/pci/pci_host_generic_fdt.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/pci/pci_host_generic_fdt.c')
-rw-r--r--sys/dev/pci/pci_host_generic_fdt.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/pci/pci_host_generic_fdt.c b/sys/dev/pci/pci_host_generic_fdt.c
index 854ec0be8dfa..ffe63b82a234 100644
--- a/sys/dev/pci/pci_host_generic_fdt.c
+++ b/sys/dev/pci/pci_host_generic_fdt.c
@@ -170,8 +170,9 @@ pci_host_generic_fdt_attach(device_t dev)
if (error != 0)
return (error);
- device_add_child(dev, "pci", -1);
- return (bus_generic_attach(dev));
+ device_add_child(dev, "pci", DEVICE_UNIT_ANY);
+ bus_attach_children(dev);
+ return (0);
}
static int
@@ -214,6 +215,7 @@ parse_pci_mem_ranges(device_t dev, struct generic_pcie_core_softc *sc)
sc->ranges[i].flags |= FLAG_TYPE_MEM;
}
+ sc->ranges[i].rid = -1;
sc->ranges[i].pci_base = 0;
for (k = 0; k < (pci_addr_cells - 1); k++) {
sc->ranges[i].pci_base <<= 32;
@@ -365,7 +367,7 @@ generic_pcie_get_iommu(device_t pci, device_t child, uintptr_t *id)
{
struct pci_id_ofw_iommu *iommu;
uint32_t iommu_rid;
- uint32_t iommu_xref;
+ phandle_t iommu_xref;
uint16_t pci_rid;
phandle_t node;
int err;