xref: /openbmc/linux/include/linux/ras.h (revision 675aaf05)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __RAS_H__
3 #define __RAS_H__
4 
5 #include <asm/errno.h>
6 #include <linux/uuid.h>
7 #include <linux/cper.h>
8 
9 #ifdef CONFIG_DEBUG_FS
10 int ras_userspace_consumers(void);
11 void ras_debugfs_init(void);
12 int ras_add_daemon_trace(void);
13 #else
14 static inline int ras_userspace_consumers(void) { return 0; }
15 static inline void ras_debugfs_init(void) { }
16 static inline int ras_add_daemon_trace(void) { return 0; }
17 #endif
18 
19 #ifdef CONFIG_RAS_CEC
20 void __init cec_init(void);
21 int __init parse_cec_param(char *str);
22 int cec_add_elem(u64 pfn);
23 #else
24 static inline void __init cec_init(void)	{ }
25 static inline int cec_add_elem(u64 pfn)		{ return -ENODEV; }
26 #endif
27 
28 #ifdef CONFIG_RAS
29 void log_non_standard_event(const guid_t *sec_type,
30 			    const guid_t *fru_id, const char *fru_text,
31 			    const u8 sev, const u8 *err, const u32 len);
32 void log_arm_hw_error(struct cper_sec_proc_arm *err);
33 #else
34 static inline void
35 log_non_standard_event(const guid_t *sec_type,
36 		       const guid_t *fru_id, const char *fru_text,
37 		       const u8 sev, const u8 *err, const u32 len)
38 { return; }
39 static inline void
40 log_arm_hw_error(struct cper_sec_proc_arm *err) { return; }
41 #endif
42 
43 #endif /* __RAS_H__ */
44