Re: [PATCH 03/10] PCI: dwc: Move config space capability search API

From: Vidya Sagar
Date: Mon Apr 01 2019 - 07:47:15 EST

On 3/28/2019 6:03 PM, Thierry Reding wrote:
On Tue, Mar 26, 2019 at 08:43:20PM +0530, Vidya Sagar wrote:
move PCIe config space capability search API to common designware file
as this can be used by both host and ep mode codes.
It also adds extended capability search APIs.

Signed-off-by: Vidya Sagar <vidyas@xxxxxxxxxx>
drivers/pci/controller/dwc/pcie-designware-ep.c | 37 +------------
drivers/pci/controller/dwc/pcie-designware.c | 73 +++++++++++++++++++++++++
drivers/pci/controller/dwc/pcie-designware.h | 3 +
3 files changed, 78 insertions(+), 35 deletions(-)

Just out of curiosity: is there any reason why this driver needs to
reimplement this? Couldn't this be made to work using the standard
pci_find_next_capability() function?

Other than that it might be a good idea to split this into two patches,
one that moves the existing functionality to the common code and another
that adds the extra functionality.


pci_find_next_capability() API expects struct pci_dev * pointer and this can only
be used after PCIe devices got enumerated. APIs added in this patch solves the issue
of getting capability offsets before PCIe enumeration. FWIW, APIs in this patch
take struct dw_pcie * pointer as input.
As you suggested, I'll split this into two patches in my next series.