X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fia64%2Foprofile%2Finit.c;h=125a602a660d13205a4227b14ec309cf4a00837d;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=6d0c132b00a006348c727a139bf047fda410754f;hpb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;p=linux-2.6.git diff --git a/arch/ia64/oprofile/init.c b/arch/ia64/oprofile/init.c index 6d0c132b0..125a602a6 100644 --- a/arch/ia64/oprofile/init.c +++ b/arch/ia64/oprofile/init.c @@ -12,15 +12,21 @@ #include #include -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; }