Rename and slightly modify {request,free}_perfmon_irq in the ppc code.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
static int op_powerpc_setup(void)
{
-#ifdef __powerpc64__
int err;
/* Grab the hardware */
err = reserve_pmc_hardware(op_handle_interrupt);
if (err)
return err;
-#else /* __powerpc64__ */
- /* Install our interrupt handler into the existing hook. */
- if (request_perfmon_irq(&op_handle_interrupt))
- return -EBUSY;
- mb();
-#endif /* __powerpc64__ */
/* Pre-compute the values to stuff in the hardware registers. */
model->reg_setup(ctr, &sys, model->num_counters);
static void op_powerpc_shutdown(void)
{
-#ifdef __powerpc64__
release_pmc_hardware();
-#else /* __powerpc64__ */
- mb();
- /* Remove our interrupt handler. We may be removing this module. */
- free_perfmon_irq();
-#endif /* __powerpc64__ */
}
static void op_powerpc_cpu_start(void *dummy)
/* Grab the interrupt, if it's free.
* Returns 0 on success, -1 if the interrupt is taken already */
-int request_perfmon_irq(void (*handler)(struct pt_regs *))
+int reserve_pmc_hardware(void (*handler)(struct pt_regs *))
{
int err = 0;
perf_irq = handler;
else {
pr_info("perfmon irq already handled by %p\n", perf_irq);
- err = -1;
+ err = -EBUSY;
}
spin_unlock(&perfmon_lock);
return err;
}
-void free_perfmon_irq(void)
+void release_pmc_hardware(void)
{
spin_lock(&perfmon_lock);
}
EXPORT_SYMBOL(perf_irq);
-EXPORT_SYMBOL(request_perfmon_irq);
-EXPORT_SYMBOL(free_perfmon_irq);
+EXPORT_SYMBOL(reserve_pmc_hardware);
+EXPORT_SYMBOL(release_pmc_hardware);
extern void (*perf_irq)(struct pt_regs *);
-int request_perfmon_irq(void (*handler)(struct pt_regs *));
-void free_perfmon_irq(void);
+int reserve_pmc_hardware(void (*handler)(struct pt_regs *));
+void release_pmc_hardware(void);
#ifdef CONFIG_FSL_BOOKE
void init_pmc_stop(int ctr);