From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King - ARM Linux Subject: Re: [PATCH 3/6] arm: kconfig: don't select TWD with local timer for Armada 370/XP Date: Tue, 22 Jan 2013 17:18:17 +0000 Message-ID: <20130122171817.GM23505@n2100.arm.linux.org.uk> References: <1358790842-2986-1-git-send-email-gregory.clement@free-electrons.com> <201301211831.45947.arnd@arndb.de> <50FDC322.2040107@free-electrons.com> <201301221557.02976.arnd@arndb.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <201301221557.02976.arnd-r2nGTMty4D4@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: devicetree-discuss-bounces+gldd-devicetree-discuss=m.gmane.org-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org Sender: "devicetree-discuss" To: Arnd Bergmann Cc: Lior Amsalem , Andrew Lunn , Ike Pan , John Stultz , David Marlin , Yehuda Yitschak , Jani Monoses , Tawfik Bayouk , Dan Frazier , Eran Ben-Avi , Leif Lindholm , Sebastian Hesselbarth , Jason Cooper , Nadav Haklai , Jon Masters , devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org, Rob Herring , Thomas Gleixner , linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Chris Van Hoof , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Maen Suleiman , Shadi Ammouri List-Id: devicetree@vger.kernel.org On Tue, Jan 22, 2013 at 03:57:02PM +0000, Arnd Bergmann wrote: > On Monday 21 January 2013, Gregory CLEMENT wrote: > > I don't see a strong reason to not enable it if we don't use it. My concern > > was that I don't need it so I didn't want to include it and generating extra > > code for nothing. Then just after having sent this patch set, I received your > > patch set about build regression in 3.8 and especially the part about > > CONFIG_MULTIPLATFORM made me realized that it could be a problem. > > Ok. > > > > Maybe it can be written as > > > > > > config LOCAL_TIMERS > > > bool "Use local timer interrupts" > > > depends on SMP > > > default y > > > > > > config HAVE_ARM_TWD > > > depends on LOCAL_TIMERS > > > default ARCH_MULTIPLATFORM || (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT) > > > > So in this case why not written something like this: > > default ARCH_MULTIPLATFORM || (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT && !ARMADA_370_XP_TIMER) > > That does not change anything, because ARMADA_370_XP_TIMER is only ever enabled > when ARCH_MULTIPLATFORM is enabled as well. > > > > default y > > I am not a kconfig expert, but won't this line set HAVE_ARM_TWD to 'y' whatever > > the result of the previous line? > > Yes, that was a mistake on my side. Sigh. No. Wrong. config HAVE_ARM_TWD depends on LOCAL_TIMERS default ARCH_MULTIPLATFORM || (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT && !ARMADA_370_XP_TIMER) default y This takes the value of the first enabled default. The first enabled default is the first default (it's unconditional). So, the default y will never be used. Given the above, it's far from clear what the actual behaviour being asked for is - it looks totally and utterly screwed to me - and the wrong thing to be doing. If the desire is to have it enabled if ARCH_MULTIPLATFORM is set, then it's easy, and requires just a _single_ line addition: config LOCAL_TIMERS bool "Use local timer interrupts" depends on SMP default y select HAVE_ARM_TWD if (!ARCH_MSM_SCORPIONMP && !EXYNOS4_MCT) + select HAVE_ARM_TWD if ARCH_MULTIPLATFORM