mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
![Borislav Petkov](/assets/img/avatar_default.png)
Move toplevel sysfs class to the stub and make it available to non-modularized code too. Add proper refcounting of its users and move the registration functionality into the reference counting routines. Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
45 lines
1,014 B
C
45 lines
1,014 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>
|
|
#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
|