]> git.karo-electronics.de Git - mv-sheeva.git/blob - include/linux/edac.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable
[mv-sheeva.git] / include / linux / edac.h
1 /*
2  * Generic EDAC defs
3  *
4  * Author: Dave Jiang <djiang@mvista.com>
5  *
6  * 2006-2008 (c) MontaVista Software, Inc. This file is licensed under
7  * the terms of the GNU General Public License version 2. This program
8  * is licensed "as is" without any warranty of any kind, whether express
9  * or implied.
10  *
11  */
12 #ifndef _LINUX_EDAC_H_
13 #define _LINUX_EDAC_H_
14
15 #include <asm/atomic.h>
16
17 #define EDAC_OPSTATE_INVAL      -1
18 #define EDAC_OPSTATE_POLL       0
19 #define EDAC_OPSTATE_NMI        1
20 #define EDAC_OPSTATE_INT        2
21
22 extern int edac_op_state;
23 extern int edac_err_assert;
24 extern atomic_t edac_handlers;
25
26 extern int edac_handler_set(void);
27 extern void edac_atomic_assert_error(void);
28
29 static inline void opstate_init(void)
30 {
31         switch (edac_op_state) {
32         case EDAC_OPSTATE_POLL:
33         case EDAC_OPSTATE_NMI:
34                 break;
35         default:
36                 edac_op_state = EDAC_OPSTATE_POLL;
37         }
38         return;
39 }
40
41 #endif