mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-30 07:26:46 +07:00
60063497a9
This allows us to move duplicated code in <asm/atomic.h> (atomic_inc_not_zero() for now) to <linux/atomic.h> Signed-off-by: Arun Sharma <asharma@fb.com> Reviewed-by: Eric Dumazet <eric.dumazet@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: David Miller <davem@davemloft.net> Cc: Eric Dumazet <eric.dumazet@gmail.com> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
46 lines
1016 B
C
46 lines
1016 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 <linux/atomic.h>
|
|
#include <linux/sysdev.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 struct sysdev_class edac_class;
|
|
|
|
extern int edac_handler_set(void);
|
|
extern void edac_atomic_assert_error(void);
|
|
extern struct sysdev_class *edac_get_sysfs_class(void);
|
|
extern void edac_put_sysfs_class(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
|