On Mon, Aug 12, 2019 at 04:22:22AM +0000, Z.q. Hou wrote: > From: Hou Zhiqiang <Zhiqiang.Hou@xxxxxxx> > > The num-lanes is optional, so probably it isn't added > on some platforms. The subsequent programming is base > on the num-lanes, hence return when it is not found. > > Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@xxxxxxx> > --- > drivers/pci/controller/dwc/pcie-designware.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/pci/controller/dwc/pcie-designware.c b/drivers/pci/controller/dwc/pcie-designware.c > index 7d25102c304c..0a89bfd1636e 100644 > --- a/drivers/pci/controller/dwc/pcie-designware.c > +++ b/drivers/pci/controller/dwc/pcie-designware.c > @@ -423,8 +423,10 @@ void dw_pcie_setup(struct dw_pcie *pci) > > > ret = of_property_read_u32(np, "num-lanes", &lanes); > - if (ret) > - lanes = 0; > + if (ret) { > + dev_dbg(pci->dev, "property num-lanes isn't found\n"); > + return; > + } The existing code would assign a value of 0 to lanes when num-lanes isn't specified, however this value isn't supported by the following switch statement - thus we'd also print an error and return. Therefore the only and subtle effect effect of this patch is to change a dev_err to a dev_dbg when num-lanes isn't specified and avoid a read of PCIE_PORT_LINK_CONTROL. Given that num-lanes is described as optional this makes perfect sense. Though the commit message/hunk does give the apperance that this provides a more functional change. Anyway: Reviewed-by: Andrew Murray <andrew.murray@xxxxxxx> > > /* Set the number of lanes */ > val = dw_pcie_readl_dbi(pci, PCIE_PORT_LINK_CONTROL); > -- > 2.17.1 >