X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=drivers%2Fpci%2Fpci_compat.c;h=ddaf358e26dc5ffa24012aed736ec73ad8d31037;hb=7b6dc11c1aa69e5cc22d1659f50594edcfab5a9e;hp=dd15eb19f85a3f13d8847e883872ffabbba52830;hpb=e6ac28b60be2d670948332197862e314b7977177;p=u-boot diff --git a/drivers/pci/pci_compat.c b/drivers/pci/pci_compat.c index dd15eb19f8..ddaf358e26 100644 --- a/drivers/pci/pci_compat.c +++ b/drivers/pci/pci_compat.c @@ -12,6 +12,7 @@ #include #include #include +#include "pci_internal.h" #define PCI_HOSE_OP(rw, name, size, type) \ int pci_hose_##rw##_config_##name(struct pci_controller *hose, \ @@ -36,3 +37,17 @@ pci_dev_t pci_find_devices(struct pci_device_id *ids, int index) return -1; return dm_pci_get_bdf(dev); } + +struct pci_controller *pci_bus_to_hose(int busnum) +{ + struct udevice *bus; + int ret; + + ret = pci_get_bus(busnum, &bus); + if (ret) { + debug("%s: Cannot get bus %d: ret=%d\n", __func__, busnum, ret); + return NULL; + } + + return dev_get_uclass_priv(bus); +}