Hi Simon, On Tue, Dec 1, 2015 at 12:11 PM, Simon Glass <s...@chromium.org> wrote: > This function should not be used by driver-model code, so move it to the > compatibility portion. > > Signed-off-by: Simon Glass <s...@chromium.org> > --- > > drivers/pci/pci-uclass.c | 16 +--------------- > drivers/pci/pci_compat.c | 15 +++++++++++++++ > drivers/pci/pci_internal.h | 11 +++++++++++ > 3 files changed, 27 insertions(+), 15 deletions(-) > > diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c > index 54b5dbc..77d5300 100644 > --- a/drivers/pci/pci-uclass.c > +++ b/drivers/pci/pci-uclass.c > @@ -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)) > diff --git a/drivers/pci/pci_compat.c b/drivers/pci/pci_compat.c > index dd15eb1..ddaf358 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); > +} > diff --git a/drivers/pci/pci_internal.h b/drivers/pci/pci_internal.h > index 0867575..c5069f0 100644 > --- a/drivers/pci/pci_internal.h > +++ b/drivers/pci/pci_internal.h > @@ -47,4 +47,15 @@ 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 > + * > + * The bus is probed before use
This comment looks confusing. Could you please describe it in more detail? > + * > + * @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 > -- Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot