On Wed, Mar 15, 2017 at 10:15 PM, Andrew F. Davis <afd@xxxxxx> wrote: > On 03/15/2017 04:03 PM, Arnd Bergmann wrote: >> On Wed, Mar 15, 2017 at 5:37 PM, Andrew F. Davis <afd@xxxxxx> wrote: >>> Hello all, >>> >>> I was building a kernel for x86 and noticed Make still descended into >>> directories like drivers/gpu/drm/hisilicon, this seems kind of odd given >>> nothing will be built here. It looks to be due to some directories being >>> included in obj-y unconditionally instead of only when the relevant >>> CONFIG_ is set. >>> >>> These patches are split by subsystem in-case, for some reason, a file in >>> a directory does need to be built, I believe I have checked for all >>> instances of this, but a quick review from some maintainers would be nice. >> >> I didn't see anything wrong with the patches, and made sure that there >> are no tristate symbols controlling the subdirectory for anything that >> requires a built-in driver (which would cause a link failure). >> >> I'm not sure about drivers/lguest, which has some special magic >> in its Makefile, it's possible that this now fails with CONFIG_LGUEST=m. >> > > lguest and mmc are the strange ones, so I put them last in the series in > case they did need to be dropped. > > lguest was supposed to have been taken from v1: > https://lkml.org/lkml/2016/6/20/1086 > but it looks like it didn't so I re-introduced it for v3. > > mmc caught some 0-day build warnings but I never got to the bottom of them. Ah, I see now what happened to mmc: obj-$(subst m,y,$(CONFIG_MMC)) += host/ tmio_mmc_core-$(subst m,y,$(CONFIG_MMC_SDHI)) += tmio_mmc_dma.o obj-$(subst m,y,$(CONFIG_MMC_SDHCI_PCI)) += sdhci-pci-data.o with CONFIG_MMC=m, this will fail to build the built-in files in drivers/mmc/host. I suppose this could be expressed in a different way these days, but dropping the patch would be easier. Arnd