]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - include/linux/edac.h
block: remove per-queue plugging
[mirror_ubuntu-artful-kernel.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 #include <linux/sysdev.h>
17
18 #define EDAC_OPSTATE_INVAL -1
19 #define EDAC_OPSTATE_POLL 0
20 #define EDAC_OPSTATE_NMI 1
21 #define EDAC_OPSTATE_INT 2
22
23 extern int edac_op_state;
24 extern int edac_err_assert;
25 extern atomic_t edac_handlers;
26 extern struct sysdev_class edac_class;
27
28 extern int edac_handler_set(void);
29 extern void edac_atomic_assert_error(void);
30 extern struct sysdev_class *edac_get_sysfs_class(void);
31 extern void edac_put_sysfs_class(void);
32
33 static inline void opstate_init(void)
34 {
35 switch (edac_op_state) {
36 case EDAC_OPSTATE_POLL:
37 case EDAC_OPSTATE_NMI:
38 break;
39 default:
40 edac_op_state = EDAC_OPSTATE_POLL;
41 }
42 return;
43 }
44
45 #endif