dm: pci: Move pci_bus_to_hose() to compatibility
authorSimon Glass <sjg@chromium.org>
Tue, 19 Jan 2016 03:19:14 +0000 (20:19 -0700)
committerBin Meng <bmeng.cn@gmail.com>
Sun, 24 Jan 2016 04:07:17 +0000 (12:07 +0800)
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>
drivers/pci/pci-uclass.c
drivers/pci/pci_compat.c
drivers/pci/pci_internal.h

index 685df9d274e4ba1c960523fad72fc2482335fdaa..6dd48833184eb11ae8c4f778043a6f48ba4bd89c 100644 (file)
@@ -22,7 +22,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-static int pci_get_bus(int busnum, struct udevice **busp)
+int pci_get_bus(int busnum, struct udevice **busp)
 {
        int ret;
 
@@ -41,20 +41,6 @@ static int pci_get_bus(int busnum, struct udevice **busp)
        return ret;
 }
 
-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);
-}
-
 struct udevice *pci_get_controller(struct udevice *dev)
 {
        while (device_is_on_pci_bus(dev))
index dd15eb19f85a3f13d8847e883872ffabbba52830..ddaf358e26dc5ffa24012aed736ec73ad8d31037 100644 (file)
@@ -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);
+}
index 0867575a58f9d7cbcc97faa9e547236026686e8e..616b9c174ced3729144eba159f275bb3b70c377e 100644 (file)
@@ -47,4 +47,16 @@ void dm_pciauto_postscan_setup_bridge(struct udevice *dev, int sub_bus);
  */
 int dm_pciauto_config_device(struct udevice *dev);
 
+/**
+ * pci_get_bus() - Get a pointer to a bus, given its number
+ *
+ * This looks up a PCI bus based on its bus number. The bus is probed if
+ * necessary.
+ *
+ * @busnum:    PCI bus number to look up
+ * @busp:      Returns PCI bus on success
+ * @return 0 on success, or -ve error
+ */
+int pci_get_bus(int busnum, struct udevice **busp);
+
 #endif