On Tue, Sep 21, 2021 at 3:05 PM Ben Widawsky <ben.widawsky@xxxxxxxxx> wrote: > > Reduce maintenance burden of DVSEC query implementation by using the > centralized PCI core implementation. > > Cc: linuxppc-dev@xxxxxxxxxxxxxxxx > Cc: Frederic Barrat <fbarrat@xxxxxxxxxxxxx> > Cc: Andrew Donnellan <ajd@xxxxxxxxxxxxx> > Signed-off-by: Ben Widawsky <ben.widawsky@xxxxxxxxx> > --- > drivers/misc/ocxl/config.c | 13 +------------ > 1 file changed, 1 insertion(+), 12 deletions(-) > > diff --git a/drivers/misc/ocxl/config.c b/drivers/misc/ocxl/config.c > index a68738f38252..e401a51596b9 100644 > --- a/drivers/misc/ocxl/config.c > +++ b/drivers/misc/ocxl/config.c > @@ -33,18 +33,7 @@ > > static int find_dvsec(struct pci_dev *dev, int dvsec_id) > { > - int vsec = 0; > - u16 vendor, id; > - > - while ((vsec = pci_find_next_ext_capability(dev, vsec, > - OCXL_EXT_CAP_ID_DVSEC))) { > - pci_read_config_word(dev, vsec + OCXL_DVSEC_VENDOR_OFFSET, > - &vendor); > - pci_read_config_word(dev, vsec + OCXL_DVSEC_ID_OFFSET, &id); > - if (vendor == PCI_VENDOR_ID_IBM && id == dvsec_id) > - return vsec; > - } > - return 0; > + return pci_find_dvsec_capability(dev, PCI_VENDOR_ID_IBM, dvsec_id); > } What about: arch/powerpc/platforms/powernv/ocxl.c::find_dvsec_from_pos() ...? With that converted the redundant definitions below: OCXL_EXT_CAP_ID_DVSEC OCXL_DVSEC_VENDOR_OFFSET OCXL_DVSEC_ID_OFFSET ...can be cleaned up in favor of the core definitions.