edac.h 1014 字节
Newer Older
D
Dave Jiang 已提交
1 2 3 4 5
/*
 * Generic EDAC defs
 *
 * Author: Dave Jiang <djiang@mvista.com>
 *
6
 * 2006-2008 (c) MontaVista Software, Inc. This file is licensed under
D
Dave Jiang 已提交
7 8 9 10 11 12 13 14 15
 * the terms of the GNU General Public License version 2. This program
 * is licensed "as is" without any warranty of any kind, whether express
 * or implied.
 *
 */
#ifndef _LINUX_EDAC_H_
#define _LINUX_EDAC_H_

#include <asm/atomic.h>
16
#include <linux/sysdev.h>
D
Dave Jiang 已提交
17 18 19 20 21 22 23

#define EDAC_OPSTATE_INVAL	-1
#define EDAC_OPSTATE_POLL	0
#define EDAC_OPSTATE_NMI	1
#define EDAC_OPSTATE_INT	2

extern int edac_op_state;
24
extern int edac_err_assert;
D
Dave Jiang 已提交
25
extern atomic_t edac_handlers;
26
extern struct sysdev_class edac_class;
D
Dave Jiang 已提交
27 28 29

extern int edac_handler_set(void);
extern void edac_atomic_assert_error(void);
30 31
extern struct sysdev_class *edac_get_sysfs_class(void);
extern void edac_put_sysfs_class(void);
D
Dave Jiang 已提交
32

33 34 35 36 37 38 39 40 41 42 43 44
static inline void opstate_init(void)
{
	switch (edac_op_state) {
	case EDAC_OPSTATE_POLL:
	case EDAC_OPSTATE_NMI:
		break;
	default:
		edac_op_state = EDAC_OPSTATE_POLL;
	}
	return;
}

D
Dave Jiang 已提交
45
#endif