From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx2.suse.de ([195.135.220.15]:58325 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753612AbbJAOug (ORCPT ); Thu, 1 Oct 2015 10:50:36 -0400 Subject: Re: [PATCH] drm: Hack around CONFIG_AGP=m build failures References: <1443682119-17011-1-git-send-email-daniel.vetter@ffwll.ch> <8737xvc87a.fsf@intel.com> <560D03C8.70309@suse.com> <20151001101757.GV3383@phenom.ffwll.local> From: Michal Marek Message-ID: <560D4839.3050706@suse.com> Date: Thu, 1 Oct 2015 16:50:33 +0200 MIME-Version: 1.0 In-Reply-To: <20151001101757.GV3383@phenom.ffwll.local> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kbuild-owner@vger.kernel.org List-ID: To: Daniel Vetter Cc: Jani Nikula , Daniel Vetter , DRI Development , Stephen Rothwell , linux-kbuild@vger.kernel.org, Daniel Vetter 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 wrote: >>>> Surprisingly kbuild can't cope with tristates in the >>>> -$(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