From patchwork Sun Jan 9 23:37:45 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Miller X-Patchwork-Id: 78061 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 9C7E1B7082 for ; Mon, 10 Jan 2011 10:37:17 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751501Ab1AIXhP (ORCPT ); Sun, 9 Jan 2011 18:37:15 -0500 Received: from 74-93-104-97-Washington.hfc.comcastbusiness.net ([74.93.104.97]:54772 "EHLO sunset.davemloft.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750849Ab1AIXhP (ORCPT ); Sun, 9 Jan 2011 18:37:15 -0500 Received: from localhost (localhost [127.0.0.1]) by sunset.davemloft.net (Postfix) with ESMTP id 1D7D524C087; Sun, 9 Jan 2011 15:37:46 -0800 (PST) Date: Sun, 09 Jan 2011 15:37:45 -0800 (PST) Message-Id: <20110109.153745.35032992.davem@davemloft.net> To: sam@ravnborg.org Cc: peterz@infradead.org, linux-kernel@vger.kernel.org, sparclinux@vger.kernel.org Subject: Re: sparc boot failure due to perf init From: David Miller In-Reply-To: <20110107203119.GA30408@merkur.ravnborg.org> References: <1294431832.2016.457.camel@laptop> <1294432055.2016.458.camel@laptop> <20110107203119.GA30408@merkur.ravnborg.org> X-Mailer: Mew version 6.3 on Emacs 23.1 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Sender: sparclinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: sparclinux@vger.kernel.org From: Sam Ravnborg Date: Fri, 7 Jan 2011 21:31:19 +0100 > Then you guys can sort it out and I can test any patches > you come up with. Here is the fix I will be pushing to Linus to fix this: -------------------- sparc64: Fix bootup regression due to perf init ordering. Commit 004417a6d468e24399e383645c068b498eed84ad ("perf, arch: Cleanup perf-pmu init vs lockup-detector") move the perf events init to be an early_initcall. But this won't work properly unless the dependencies for this code initialize beforehand. Fix it by making cpu_type_probe and pcr_arch_init be an early_initcall as well. Reported-by: Sam Ravnborg Signed-off-by: David S. Miller --- arch/sparc/kernel/cpu.c | 2 +- arch/sparc/kernel/pcr.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/sparc/kernel/cpu.c b/arch/sparc/kernel/cpu.c index e447938..0dc714f 100644 --- a/arch/sparc/kernel/cpu.c +++ b/arch/sparc/kernel/cpu.c @@ -375,5 +375,5 @@ static int __init cpu_type_probe(void) return 0; } -arch_initcall(cpu_type_probe); +early_initcall(cpu_type_probe); #endif diff --git a/arch/sparc/kernel/pcr.c b/arch/sparc/kernel/pcr.c index b87873c..ae96cf5 100644 --- a/arch/sparc/kernel/pcr.c +++ b/arch/sparc/kernel/pcr.c @@ -168,4 +168,4 @@ out_unregister: return err; } -arch_initcall(pcr_arch_init); +early_initcall(pcr_arch_init);