summaryrefslogtreecommitdiff
path: root/drivers/pci/pci_compat.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-01-18 20:19:14 -0700
committerBin Meng <bmeng.cn@gmail.com>2016-01-24 12:07:17 +0800
commita6eb93b3212d37fe623ed3b4351eedb971c12e3c (patch)
tree7c2cfc0782db5c248d00f62c71415b005de14e85 /drivers/pci/pci_compat.c
parent12f229ea8f6c8e20f8fd07906eafc853c4c354a9 (diff)
dm: pci: Move pci_bus_to_hose() to compatibility
This function should not be used by driver-model code, so move it to the compatibility portion. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'drivers/pci/pci_compat.c')
-rw-r--r--drivers/pci/pci_compat.c15
1 files changed, 15 insertions, 0 deletions
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 <pci.h>
#include <dm/device-internal.h>
#include <dm/lists.h>
+#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);
+}