diff options
Diffstat (limited to 'sys/dev/pci/pci_host_generic_fdt.c')
-rw-r--r-- | sys/dev/pci/pci_host_generic_fdt.c | 8 |
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; |