18c2ecf20Sopenharmony_ci/** 28c2ecf20Sopenharmony_ci * @file init.c 38c2ecf20Sopenharmony_ci * 48c2ecf20Sopenharmony_ci * @remark Copyright 2008 Tensilica Inc. 58c2ecf20Sopenharmony_ci * @remark Read the file COPYING 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci */ 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include <linux/kernel.h> 108c2ecf20Sopenharmony_ci#include <linux/oprofile.h> 118c2ecf20Sopenharmony_ci#include <linux/errno.h> 128c2ecf20Sopenharmony_ci#include <linux/init.h> 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciextern void xtensa_backtrace(struct pt_regs *const regs, unsigned int depth); 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciint __init oprofile_arch_init(struct oprofile_operations *ops) 188c2ecf20Sopenharmony_ci{ 198c2ecf20Sopenharmony_ci ops->backtrace = xtensa_backtrace; 208c2ecf20Sopenharmony_ci return -ENODEV; 218c2ecf20Sopenharmony_ci} 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_civoid oprofile_arch_exit(void) 258c2ecf20Sopenharmony_ci{ 268c2ecf20Sopenharmony_ci} 27