Re: [PATCH v2 6/9] PCI: cadence: Add host driver for Cadence PCIe controller

From: Bjorn Helgaas
Date: Mon Jan 08 2018 - 17:35:57 EST


On Mon, Jan 08, 2018 at 06:06:13PM +0000, Lorenzo Pieralisi wrote:
> On Mon, Dec 18, 2017 at 07:16:06PM +0100, Cyrille Pitchen wrote:
> > This patch adds support to the Cadence PCIe controller in host mode.
> >
> > The "cadence/" entry in drivers/pci/Makefile is placed after the
> > "endpoint/" entry so when the next patch introduces a EPC driver for the
> > Cadence PCIe controller, drivers/pci/cadence/pcie-cadence-ep.o will be
> > linked after drivers/pci/endpoint/*.o objects, otherwise the built-in
> > pci-cadence-ep driver would be probed before the PCI endpoint libraries
> > would have been initialized, which would result in a kernel crash.

I assume this ordering requirement applies to both Cadence and
DesignWare, i.e., drivers/pci/endpoint must be linked before
drivers/pci/cadence and drivers/pci/dwc.

If so, please add a one-line comment in the Makefile, e.g.,

obj-$(CONFIG_PCI_ENDPOINT) += endpoint/

# endpoint library must be initialized before its users
obj-$(CONFIG_PCI_CADENCE) += cadence/
obj-y += dwc/

I think the "PCI dwc controller drivers" comment adds no real value.

> > diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
> > index 7284a7f6ad1e..a66ddb347798 100644
> > --- a/drivers/pci/Makefile
> > +++ b/drivers/pci/Makefile
> > @@ -54,5 +54,6 @@ obj-y += host/
> > obj-y += switch/
> >
> > obj-$(CONFIG_PCI_ENDPOINT) += endpoint/
> > +obj-$(CONFIG_PCI_CADENCE) += cadence/
> > # PCI dwc controller drivers
> > obj-y += dwc/