/* SPDX-License-Identifier: GPL-2.0 */ #include <linux/atomic.h> #include <linux/debugfs.h> #include <linux/notifier.h> struct notifier_err_inject_action { unsigned long val; int error; const char *name; }; #define NOTIFIER_ERR_INJECT_ACTION(action) \ .name = #action, .val = (action), struct notifier_err_inject { struct notifier_block nb; struct notifier_err_inject_action actions[]; /* The last slot must be terminated with zero sentinel */ }; extern struct dentry *notifier_err_inject_dir; extern struct dentry *notifier_err_inject_init(const char *name, struct dentry *parent, struct notifier_err_inject *err_inject, int priority);