On Fri, Dec 29, 2017 at 11:08:38PM +0100, Cyrille Pitchen wrote: > Hi Bjorn, > > Le 29/12/2017 à 00:01, Bjorn Helgaas a écrit : > > 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. > >> > >> Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxxxxxxxxxxx> > > > >> 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/ > > > > I don't like the fact that the cadence/ rule looks different than the > > dwc/ rule for no obvious reason. With some work, the dwc/ rule could > > maybe be made to look like: > > I've tried to understand why dwc uses obj-y instead of > obj-$(CONFIG_PCIE_DW), here is what I've found: > > In drivers/pci/dwc/Makefile there is some obj-$(CONFIG_ARM64) rule to > generate the pcie-hisi.o object like there are other obj-$(CONFIG_ARM64) > rules in drivers/pci/host/Makefile produce objects like pci-thunder-ecam.o > for instance. Right, I missed that pcie-hisi.o rule. That one needs to be compiled even if CONFIG_PCI_HISI is not enabled. It might be useful to have a Makefile comment along the lines of: # pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW Bjorn