1/* SPDX-License-Identifier: GPL-2.0 */
2#include <linux/atomic.h>
3#include <linux/debugfs.h>
4#include <linux/notifier.h>
5
6struct 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
15struct 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
21extern struct dentry *notifier_err_inject_dir;
22
23extern struct dentry *notifier_err_inject_init(const char *name,
24		struct dentry *parent, struct notifier_err_inject *err_inject,
25		int priority);
26