Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756008AbbDNPw0 (ORCPT ); Tue, 14 Apr 2015 11:52:26 -0400 Received: from foss.arm.com ([217.140.101.70]:34313 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755882AbbDNPwT (ORCPT ); Tue, 14 Apr 2015 11:52:19 -0400 Date: Tue, 14 Apr 2015 16:52:14 +0100 From: Mark Rutland To: Arnd Bergmann Cc: "linux-arm-kernel@lists.infradead.org" , Kumar Gala , "linux-arm-msm@vger.kernel.org" , "devicetree@vger.kernel.org" , Catalin Marinas , Will Deacon , "linux-kernel@vger.kernel.org" , "arm@kernel.org" , Abhimanyu Kapur Subject: Re: [RFC PATCH 3/5] arm64: introduce CPU_OF_TABLES for cpu ops selection Message-ID: <20150414155214.GJ28709@leverpostej> References: <1428601031-5366-1-git-send-email-galak@codeaurora.org> <1428601031-5366-4-git-send-email-galak@codeaurora.org> <3133453.Cys8lc6CAy@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3133453.Cys8lc6CAy@wuerfel> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1416 Lines: 34 On Thu, Apr 09, 2015 at 10:17:06PM +0100, Arnd Bergmann wrote: > On Thursday 09 April 2015 12:37:09 Kumar Gala wrote: > > @@ -67,4 +67,9 @@ extern const struct cpu_operations *cpu_ops[NR_CPUS]; > > int __init cpu_read_ops(struct device_node *dn, int cpu); > > void __init cpu_read_bootcpu_ops(void); > > > > +#define CPU_METHOD_OF_DECLARE(name, __ops) \ > > + static const struct cpu_operations *__cpu_method_table_##name \ > > + __used __section(__cpu_method_of_table) \ > > + = __ops; > > + > > #endif /* ifndef __ASM_CPU_OPS_H */ > > > > I'd rather not add this, to avoid giving the appearance that platforms > can just add another one here. Likewise. SMP bringup is always hairy, and giving the appearance that such code should be hidden away somewhere (and missing critical review) is a bad idea. While this seemed like a good idea in the past for 32-bit, we've only seen marginal decoupling, and very little in the way of actual semantics defined for the enable-methods. Which effectively spreads implementation details further rather than separating them from the interface. Mark. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/