c3c52bce69
I implemented opstate_init() as a inline function in linux/edac.h. added calling opstate_init() to: i82443bxgx_edac.c i82860_edac.c i82875p_edac.c i82975x_edac.c I wrote a fixed patch of edac-fix-module-initialization-on-several-modules.patch, and tested building 2.6.25-rc7 with applying this. It was succeed. I think the patch is now correct. Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com> Signed-off-by: Doug Thompson <dougthompson@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
41 lines
853 B
C
41 lines
853 B
C
/*
|
|
* Generic EDAC defs
|
|
*
|
|
* Author: Dave Jiang <djiang@mvista.com>
|
|
*
|
|
* 2006-2008 (c) MontaVista Software, Inc. This file is licensed under
|
|
* 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>
|
|
|
|
#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;
|
|
extern int edac_err_assert;
|
|
extern atomic_t edac_handlers;
|
|
|
|
extern int edac_handler_set(void);
|
|
extern void edac_atomic_assert_error(void);
|
|
|
|
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;
|
|
}
|
|
|
|
#endif
|