On Sun, 2011-01-09 at 15:37 -0800, David Miller wrote: > 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 <sam@xxxxxxxxxxxx> > Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> > --- > 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); I just realized, doesn't this make bootability depend on link order? Since both the pmu init and its dependencies are now early_initcall() how do we guarantee pcr_arch_init() and cpu_type_probe() are in fact called _before_ init_hw_perf_events()? -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html