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