Merge tag 'kvm-s390-master-6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[platform/kernel/linux-starfive.git] / lib / notifier-error-inject.h
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);