From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Subject: Re: [PATCH 06/11] ARM: tegra114: hook tegra_tear_down_cpu function Date: Thu, 27 Jun 2013 11:48:49 -0600 Message-ID: <51CC7B01.30503@wwwdotorg.org> References: <1372152475-18617-1-git-send-email-josephl@nvidia.com> <1372152475-18617-7-git-send-email-josephl@nvidia.com> <20130627101335.GB15081@mithrandir> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20130627101335.GB15081@mithrandir> Sender: linux-tegra-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Thierry Reding Cc: Joseph Lo , linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: linux-tegra@vger.kernel.org On 06/27/2013 04:13 AM, Thierry Reding wrote: > On Tue, Jun 25, 2013 at 05:27:50PM +0800, Joseph Lo wrote: >> Hooking tegra_tear_down_cpu for Tegra114 for supporting cluster >> power down when CPU cluster suspneded in LP2. >> >> Signed-off-by: Joseph Lo --- >> arch/arm/mach-tegra/pm.c | 1 + 1 file changed, 1 insertion(+) >> >> diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c >> index 94e69be..a0668a2 100644 --- a/arch/arm/mach-tegra/pm.c +++ >> b/arch/arm/mach-tegra/pm.c @@ -52,6 +52,7 @@ static void >> tegra_tear_down_cpu_init(void) tegra_tear_down_cpu = >> tegra20_tear_down_cpu; break; case TEGRA30: + case TEGRA114: if >> (IS_ENABLED(CONFIG_ARCH_TEGRA_3x_SOC)) tegra_tear_down_cpu = >> tegra30_tear_down_cpu; > > This is getting a little weird. Suppose I want to build a Tegra114 > only kernel. With the above code it means the tegra_tear_down_cpu > won't be hooked because ARCH_TEGRA_3x_SOC isn't selected. > > Perhaps tegra30_tear_down_cpu() should be built unconditionally so > that it's always available? I suspect that something similar will > need to be done for future chips too, further complicating > matters. > > There are other alternatives like adding another Kconfig symbol > which doesn't cover all of Tegra30 but only code shared with > Tegra114 (and possible future chips) or building sleep-tegra30.S if > either one of the ARCH_TEGRA_3x_SOC or ARCH_TEGRA_114_SOC symbols > is selected. To be honest, I wonder if we should just get rid of ARCH_TEGRA_*_SOC, and build everything if ARCH_TEGRA is defined. tegra_defconfig enables all ARCH_TEGRA_*_SOC anyway, and I'm afraid I don't test other configurations very often, and I assume that distros will enable everything...