On Mon, Nov 30, 2015 at 4:18 AM, Simon Glass <s...@chromium.org> wrote: > Move this function into the compatibility file so that it is not available > by default. > > Signed-off-by: Simon Glass <s...@chromium.org> > --- > > Changes in v2: > - Move the functions into pci_common.c so they can be used by old code > > drivers/pci/pci_common.c | 84 > ++++++++++++++++++++++++------------------------ > 1 file changed, 42 insertions(+), 42 deletions(-) > > diff --git a/drivers/pci/pci_common.c b/drivers/pci/pci_common.c > index a4573b0..b388a1c 100644 > --- a/drivers/pci/pci_common.c > +++ b/drivers/pci/pci_common.c > @@ -79,48 +79,6 @@ const char *pci_class_str(u8 class) > }; > } > > -pci_dev_t pci_find_class(uint find_class, int index) > -{ > - int bus; > - int devnum; > - pci_dev_t bdf; > - uint32_t class; > - > - for (bus = 0; bus <= pci_last_busno(); bus++) { > - for (devnum = 0; devnum < PCI_MAX_PCI_DEVICES - 1; devnum++) { > - pci_read_config_dword(PCI_BDF(bus, devnum, 0), > - PCI_CLASS_REVISION, &class); > - if (class >> 16 == 0xffff) > - continue; > - > - for (bdf = PCI_BDF(bus, devnum, 0); > - bdf <= PCI_BDF(bus, devnum, > - PCI_MAX_PCI_FUNCTIONS - 1); > - bdf += PCI_BDF(0, 0, 1)) { > - pci_read_config_dword(bdf, PCI_CLASS_REVISION, > - &class); > - class >>= 8; > - > - if (class != find_class) > - continue; > - /* > - * Decrement the index. We want to return the > - * correct device, so index is 0 for the first > - * matching device, 1 for the second, etc. > - */ > - if (index) { > - index--; > - continue; > - } > - /* Return index'th controller. */ > - return bdf; > - } > - } > - } > - > - return -ENODEV; > -} > - > __weak int pci_skip_dev(struct pci_controller *hose, pci_dev_t dev) > { > /* > @@ -364,4 +322,46 @@ pci_dev_t pci_hose_find_devices(struct pci_controller > *hose, int busnum, > > return -1; > } > + > +pci_dev_t pci_find_class(uint find_class, int index) > +{ > + int bus; > + int devnum; > + pci_dev_t bdf; > + uint32_t class; > + > + for (bus = 0; bus <= pci_last_busno(); bus++) { > + for (devnum = 0; devnum < PCI_MAX_PCI_DEVICES - 1; devnum++) { > + pci_read_config_dword(PCI_BDF(bus, devnum, 0), > + PCI_CLASS_REVISION, &class); > + if (class >> 16 == 0xffff) > + continue; > + > + for (bdf = PCI_BDF(bus, devnum, 0); > + bdf <= PCI_BDF(bus, devnum, > + PCI_MAX_PCI_FUNCTIONS - 1); > + bdf += PCI_BDF(0, 0, 1)) { > + pci_read_config_dword(bdf, PCI_CLASS_REVISION, > + &class); > + class >>= 8; > + > + if (class != find_class) > + continue; > + /* > + * Decrement the index. We want to return the > + * correct device, so index is 0 for the first > + * matching device, 1 for the second, etc. > + */ > + if (index) { > + index--; > + continue; > + } > + /* Return index'th controller. */ > + return bdf; > + } > + } > + } > + > + return -ENODEV; > +} > #endif /* !CONFIG_DM_PCI || CONFIG_DM_PCI_COMPAT */ > --
Reviewed-by: Bin Meng <bmeng...@gmail.com> _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot