xref: /openbmc/linux/lib/notifier-error-inject.h (revision f16fe2d3)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #include <linux/atomic.h>
3 #include <linux/debugfs.h>
4 #include <linux/notifier.h>
5 
6 struct notifier_err_inject_action {
7 	unsigned long val;
8 	int error;
9 	const char *name;
10 };
11 
12 #define NOTIFIER_ERR_INJECT_ACTION(action)	\
13 	.name = #action, .val = (action),
14 
15 struct notifier_err_inject {
16 	struct notifier_block nb;
17 	struct notifier_err_inject_action actions[];
18 	/* The last slot must be terminated with zero sentinel */
19 };
20 
21 extern struct dentry *notifier_err_inject_dir;
22 
23 extern struct dentry *notifier_err_inject_init(const char *name,
24 		struct dentry *parent, struct notifier_err_inject *err_inject,
25 		int priority);
26