On Mon, Nov 07, 2005 at 07:01:28PM -0800, Andrew Morton wrote:
Matt Porter mporter at kernel.crashing.org wrote:
Add an extern reference to perf_irq on e500.
snip
#ifdef CONFIG_E500
+extern perf_irq_t perf_irq;
+
void performance_monitor_exception(struct pt_regs *regs)
{
perf_irq(regs);
extern decls are placed in header files, please.
Here's the updated patch, addressing this for ppc64 as well. Paul,
would you prefer that this go through the powerpc-merge tree since
the updated version modifies arch/powerpc/?
-Matt
Fixes e500 build and cleans up traps.c by moving perf_irq extern to
pmc.h.
Signed-off-by: Matt Porter mporter at kernel.crashing.org
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 07e5ee4..32cd797 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -898,10 +898,6 @@ void altivec_unavailable_exception(struc
die(Unrecoverable VMX/Altivec Unavailable Exception, regs, SIGABRT);
}
-#ifdef CONFIG_PPC64
-extern perf_irq_t perf_irq;
-#endif
-
#if defined(CONFIG_PPC64) || defined(CONFIG_E500)
void performance_monitor_exception(struct pt_regs *regs)
{
diff --git a/include/asm-powerpc/pmc.h b/include/asm-powerpc/pmc.h
index 2f3c3fc..5f41f3a 100644
--- a/include/asm-powerpc/pmc.h
+++ b/include/asm-powerpc/pmc.h
@@ -22,6 +22,7 @@
#include asm/ptrace.h
typedef void (*perf_irq_t)(struct pt_regs *);
+extern perf_irq_t perf_irq;
int reserve_pmc_hardware(perf_irq_t new_perf_irq);
void release_pmc_hardware(void);