Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /**
  2  * @file init.c
  3  *
  4  * @remark Copyright 2002 OProfile authors
  5  * @remark Read the file COPYING
  6  *
  7  * @author John Levon <levon@movementarian.org>
  8  */
  9 
 10 #include <linux/oprofile.h>
 11 #include <linux/init.h>
 12 #include <linux/errno.h>
 13  
 14 /* We support CPUs that have performance counters like the Pentium Pro
 15  * with the NMI mode driver.
 16  */
 17  
 18 extern int nmi_init(struct oprofile_operations * ops);
 19 extern int nmi_timer_init(struct oprofile_operations * ops);
 20 extern void nmi_exit(void);
 21 extern void x86_backtrace(struct pt_regs * const regs, unsigned int depth);
 22 
 23 
 24 int __init oprofile_arch_init(struct oprofile_operations * ops)
 25 {
 26         int ret;
 27 
 28         ret = -ENODEV;
 29 
 30 #ifdef CONFIG_X86_LOCAL_APIC
 31         ret = nmi_init(ops);
 32 #endif
 33 #ifdef CONFIG_X86_IO_APIC
 34         if (ret < 0)
 35                 ret = nmi_timer_init(ops);
 36 #endif
 37         ops->backtrace = x86_backtrace;
 38 
 39         return ret;
 40 }
 41 
 42 
 43 void oprofile_arch_exit(void)
 44 {
 45 #ifdef CONFIG_X86_LOCAL_APIC
 46         nmi_exit();
 47 #endif
 48 }
 49 
  This page was automatically generated by the LXR engine.