vserver 1.9.5.x5
[linux-2.6.git] / arch / ia64 / oprofile / init.c
index 6d0c132..125a602 100644 (file)
 #include <linux/init.h>
 #include <linux/errno.h>
  
-extern int perfmon_init(struct oprofile_operations ** ops);
+extern int perfmon_init(struct oprofile_operations * ops);
 extern void perfmon_exit(void);
+extern void ia64_backtrace(struct pt_regs * const regs, unsigned int depth);
 
-int __init oprofile_arch_init(struct oprofile_operations ** ops)
+int __init oprofile_arch_init(struct oprofile_operations * ops)
 {
+       int ret = -ENODEV;
+
 #ifdef CONFIG_PERFMON
-       return perfmon_init(ops);
+       /* perfmon_init() can fail, but we have no way to report it */
+       ret = perfmon_init(ops);
 #endif
-       return -ENODEV;
+       ops->backtrace = ia64_backtrace;
+
+       return ret;
 }