Messages in this thread Patch in this message | | | Date | Wed, 23 Feb 2022 14:51:29 -0600 | From | Bjorn Helgaas <> | Subject | Re: [PATCHv4 1/2] PCI: fu740: fix finding GPIOs |
| |
On Mon, Feb 21, 2022 at 09:03:46PM +0000, Ben Dooks wrote: > The calls to devm_gpiod_get_optional() have the -gpios at the end of > the name but the GPIO core code is already adding the suffix during > the lookup. This means the PCIe driver is not finding the necessary > reset or power lines to allow initialisation of the PCIe. > > This bug has not been noticed as if U-Boot has setup the GPIO lines > for the hardware when it does the PCIe initialisation (either by > booting from PCIe or user command to access PCIe) then the PCIe > will work in Linux. The U-Boot as supplied by SiFive does not by > default initialise any PCIe component.
Lorenzo, if you apply this, would you mind s/fix/Fix/ in the subject? Or maybe even update to "Drop redundant '-gpios' from DT GPIO lookup"?
> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> > --- > drivers/pci/controller/dwc/pcie-fu740.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/pci/controller/dwc/pcie-fu740.c b/drivers/pci/controller/dwc/pcie-fu740.c > index 00cde9a248b5..842b7202b96e 100644 > --- a/drivers/pci/controller/dwc/pcie-fu740.c > +++ b/drivers/pci/controller/dwc/pcie-fu740.c > @@ -259,11 +259,11 @@ static int fu740_pcie_probe(struct platform_device *pdev) > return PTR_ERR(afp->mgmt_base); > > /* Fetch GPIOs */ > - afp->reset = devm_gpiod_get_optional(dev, "reset-gpios", GPIOD_OUT_LOW); > + afp->reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW); > if (IS_ERR(afp->reset)) > return dev_err_probe(dev, PTR_ERR(afp->reset), "unable to get reset-gpios\n"); > > - afp->pwren = devm_gpiod_get_optional(dev, "pwren-gpios", GPIOD_OUT_LOW); > + afp->pwren = devm_gpiod_get_optional(dev, "pwren", GPIOD_OUT_LOW); > if (IS_ERR(afp->pwren)) > return dev_err_probe(dev, PTR_ERR(afp->pwren), "unable to get pwren-gpios\n"); > > -- > 2.34.1 >
| |