On 2015-10-01 12:17, Daniel Vetter wrote: > On Thu, Oct 01, 2015 at 11:58:32AM +0200, Michal Marek wrote: >> On 2015-10-01 10:19, Jani Nikula wrote: >>> On Thu, 01 Oct 2015, Daniel Vetter <daniel.vetter@xxxxxxxx> wrote: >>>> Surprisingly kbuild can't cope with tristates in the >>>> <module>-$(CONFIG_FOO) pattern. This patch hacks up a solution. >>> >>> Given that it's two distinct Makefile variables (foo-y and foo-m) being >>> assigned to, I don't really find this surprising. Maybe this could be >>> made to work as a convenience, but there might be other, more surpising >>> consequences. >> >> I actually think that kbuild should be able to handle this. The likely >> reason why it is not doing it right now is that in an ideal world, >> modules are modules can be built out of tree against just the kernel and >> their static dependencies. In real world, we sometimes have features in >> modules that are enabled if other modules are enabled. I'll post a patch >> later. We also have lots of tests fo CONFIG_FOO || CONFIG_FOO_MODULE in >> built-in code, which is a similar case. > > Cool. I'll keep this hack in drm-misc then. Please cc me on the proper > solution so I know when I can revert it again. It's not as trivial as it seemed, because there are at least three Makefiles that rely on the current behavior: init/Makefile drivers/misc/ibmasm/Makefile fs/logfs/Makefile While ibmasm and logfs can and probably should be fixed to work with modular 8250 and mtd, respectively, init/Makefile would need a workaround to only pick up do_mounts_rd.o and do_mounts_md.o if the respective block drivers are built-in. So we would be trading one hack for another. Michal -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html