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 opstate_init(void)33static 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 46