[U-Boot] [PATCH v2 15/26] dm: pci: Drop the old version of pci_find_class()

Bin Meng bmeng.cn at gmail.com
Mon Dec 7 11:58:34 CET 2015


On Mon, Nov 30, 2015 at 4:18 AM, Simon Glass <sjg at chromium.org> wrote:
> Move this function into the compatibility file so that it is not available
> by default.
>
> Signed-off-by: Simon Glass <sjg at 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.cn at gmail.com>


More information about the U-Boot mailing list