On Thu, Nov 30, 2017 at 09:05:12PM +0100, Cyrille Pitchen wrote:
> Le 30/11/2017 à 19:45, Cyrille Pitchen a écrit :
> > Le 30/11/2017 à 19:18, Lorenzo Pieralisi a écrit :
> >> On Thu, Nov 30, 2017 at 12:43:20PM +0530, Kishon Vijay Abraham I wrote:

> >>> The reason to patch drivers/Makefile should be because
> >>> pcie-cadence-ep has to be compiled even when CONFIG_PCI is not
> >>> enabled. CONFIG_PCI enables host specific features and ENDPOINT
> >>> shouldn't depend on CONFIG_PCI.

> I know it's far from perfect but what do you think or something like that:
> 
> ---8<---------------------------------------------------------------------------
> diff --git a/drivers/Makefile b/drivers/Makefile
> index 27bdd98784d9..9757199b9a65 100644
> --- a/drivers/Makefile
> +++ b/drivers/Makefile
> @@ -16,11 +16,7 @@ obj-$(CONFIG_PINCTRL)              += pinctrl/
>  obj-$(CONFIG_GPIOLIB)                += gpio/
>  obj-y                                += pwm/
>  
> -obj-$(CONFIG_PCI)            += pci/
> -obj-$(CONFIG_PCI_ENDPOINT)   += pci/endpoint/
> -obj-$(CONFIG_PCI_CADENCE)    += pci/cadence/
> -# PCI dwc controller drivers
> -obj-y                                += pci/dwc/
> +obj-y                                += pci/
>  
>  obj-$(CONFIG_PARISC)         += parisc/
>  obj-$(CONFIG_RAPIDIO)                += rapidio/
> diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
> index 3d5e047f0a32..4e57fe4499ce 100644
> --- a/drivers/pci/Makefile
> +++ b/drivers/pci/Makefile
> @@ -3,6 +3,7 @@
>  # Makefile for the PCI bus specific drivers.
>  #
>  
> +ifdef CONFIG_PCI
>  obj-y                += 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
> @@ -54,3 +55,9 @@ ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG
>  # PCI host controller drivers
>  obj-y += host/
>  obj-y += switch/
> +endif
> +
> +obj-$(CONFIG_PCI_ENDPOINT)   += endpoint/
> +obj-$(CONFIG_PCI_CADENCE)    += cadence/
> +# PCI dwc controller drivers
> +obj-y                                += dwc/
> ---8<---------------------------------------------------------------------------
> 
> I admit it doesn't solve the ordering issue but at least it cleans some mess
> in drivers/Makefile. 

I like this a lot.  I think the only things that would actually
require the ifdef are the generic symbol things (CONFIG_PROC_FS,
CONFIG_SYSFS, CONFIG_OF), so we could do this for most of it:

  obj-$(CONFIG_PCI)             += access.o bus.o probe.o ...
  ...
  obj-$(CONFIG_PCI_QUIRKS)      += quirks.o
  obj-$(CONFIG_PCIEPORTBUS)     += pcie/
  obj-$(CONFIG_PCI)             += host/
  obj-$(CONFIG_PCI)             += switch/

With possibly a few Kconfig dependency tweaks.

Reply via email to