Hi Bjorn, Le 28/12/2017 à 23:47, Bjorn Helgaas a écrit : > On Mon, Dec 18, 2017 at 07:16:01PM +0100, Cyrille Pitchen wrote: >> This patch cleans drivers/Makefile up by moving the pci/endpoint and >> pci/dwc entries from drivers/Makefile into drivers/pci/Makefile. > > Thanks a lot for doing this! > > s/This patch cleans/Clean up/ > updated for the next series > Speaking of cleanup, this Makefile has useless comments and blank > lines. Maybe you could add a new patch to remove them and reorder it > into a sensible order, with the Intel MID special case at the end and > the host/dwc/cadence stuff together? > OK, I'm working on it. So right now I'm trying to sort entries by alphabetical order but the first test has just failed: kernel oops when calling pcied_init(). I guess there are more hidden dependencies than expected, solved by the link order. This cleanup might bit risky after all, especially since I won't be able to test all combinations or with all possible hardwares. Best regards, Cyrille >> Since we don't want to introduce any dependency between CONFIG_PCI and >> CONFIG_PCI_ENDPOINT, we now always execute drivers/pci/Makefile. >> >> Hence all Makefiles in drivers/pci/ were updated accordingly so no file is >> compiled when CONFIG_PCI is not defined. >> >> Signed-off-by: Cyrille Pitchen <cyrille.pitchen@xxxxxxxxxxxxxxxxxx> >> --- >> drivers/Makefile | 5 +---- >> drivers/pci/Kconfig | 1 + >> drivers/pci/Makefile | 11 ++++++++--- >> drivers/pci/host/Makefile | 2 ++ >> 4 files changed, 12 insertions(+), 7 deletions(-) >> >> diff --git a/drivers/Makefile b/drivers/Makefile >> index 1d034b680431..9757199b9a65 100644 >> --- a/drivers/Makefile >> +++ b/drivers/Makefile >> @@ -16,10 +16,7 @@ obj-$(CONFIG_PINCTRL) += pinctrl/ >> obj-$(CONFIG_GPIOLIB) += gpio/ >> obj-y += pwm/ >> >> -obj-$(CONFIG_PCI) += pci/ >> -obj-$(CONFIG_PCI_ENDPOINT) += pci/endpoint/ >> -# PCI dwc controller drivers >> -obj-y += pci/dwc/ >> +obj-y += pci/ >> >> obj-$(CONFIG_PARISC) += parisc/ >> obj-$(CONFIG_RAPIDIO) += rapidio/ >> diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig >> index bda151788f3f..7eeb969ab86a 100644 >> --- a/drivers/pci/Kconfig >> +++ b/drivers/pci/Kconfig >> @@ -125,6 +125,7 @@ config PCI_PASID >> >> config PCI_LABEL >> def_bool y if (DMI || ACPI) >> + depends on PCI >> select NLS >> >> config PCI_HYPERV >> diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile >> index c7819b973df7..7284a7f6ad1e 100644 >> --- a/drivers/pci/Makefile >> +++ b/drivers/pci/Makefile >> @@ -3,12 +3,15 @@ >> # Makefile for the PCI bus specific drivers. >> # >> >> -obj-y += access.o bus.o probe.o host-bridge.o remove.o pci.o \ >> +obj-$(CONFIG_PCI) += access.o bus.o probe.o host-bridge.o remove.o pci.o \ >> pci-driver.o search.o pci-sysfs.o rom.o setup-res.o \ >> irq.o vpd.o setup-bus.o vc.o mmap.o setup-irq.o >> >> +ifdef CONFIG_PCI >> obj-$(CONFIG_PROC_FS) += proc.o >> obj-$(CONFIG_SYSFS) += slot.o >> +obj-$(CONFIG_OF) += of.o >> +endif >> >> obj-$(CONFIG_PCI_QUIRKS) += quirks.o >> >> @@ -44,10 +47,12 @@ obj-$(CONFIG_PCI_ECAM) += ecam.o >> >> obj-$(CONFIG_XEN_PCIDEV_FRONTEND) += xen-pcifront.o >> >> -obj-$(CONFIG_OF) += of.o >> - >> ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG >> >> # PCI host controller drivers >> obj-y += host/ >> obj-y += switch/ >> + >> +obj-$(CONFIG_PCI_ENDPOINT) += endpoint/ >> +# PCI dwc controller drivers >> +obj-y += dwc/ >> diff --git a/drivers/pci/host/Makefile b/drivers/pci/host/Makefile >> index 34ec1d88f961..3b1059190867 100644 >> --- a/drivers/pci/host/Makefile >> +++ b/drivers/pci/host/Makefile >> @@ -34,6 +34,8 @@ obj-$(CONFIG_VMD) += vmd.o >> # ARM64 and use internal ifdefs to only build the pieces we need >> # depending on whether ACPI, the DT driver, or both are enabled. >> >> +ifdef CONFIG_PCI >> obj-$(CONFIG_ARM64) += pci-thunder-ecam.o >> obj-$(CONFIG_ARM64) += pci-thunder-pem.o >> obj-$(CONFIG_ARM64) += pci-xgene.o >> +endif >> -- >> 2.11.0 >> > -- Cyrille Pitchen, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com