On Tuesday 22 December 2020 16:02:38 CET Kalle Valo wrote: > Jerome Pouiller <Jerome.Pouiller@xxxxxxxxxx> writes: > > > From: Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx> > > > > Signed-off-by: Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx> > > [...] > > > +wfx-$(CONFIG_SPI) += bus_spi.o > > +wfx-$(subst m,y,$(CONFIG_MMC)) += bus_sdio.o > > Why this subst? And why only for MMC? CONFIG_SPI is a boolean (y or empty). The both values make senses. CONFIG_MMC is a tristate (y, m or empty). The substitution above ensure that bus_sdio.o will included in wfx.ko if CONFIG_MMC is 'm' ("wfx-$(CONFIG_MMC) += bus_sdio.o" wouldn't make the job). You may want to know what it happens if CONFIG_MMC=m while CONFIG_WFX=y. This line in Kconfig prevents to compile wfx statically if MMC is a module: depends on MMC || !MMC # do not allow WFX=y if MMC=m -- Jérôme Pouiller