| Akinobu Mita | 8d43828 | 2012-07-30 14:43:02 -0700 | [diff] [blame] | 1 | #include <linux/atomic.h> | 
 | 2 | #include <linux/debugfs.h> | 
 | 3 | #include <linux/notifier.h> | 
 | 4 |  | 
 | 5 | struct notifier_err_inject_action { | 
 | 6 | 	unsigned long val; | 
 | 7 | 	int error; | 
 | 8 | 	const char *name; | 
 | 9 | }; | 
 | 10 |  | 
 | 11 | #define NOTIFIER_ERR_INJECT_ACTION(action)	\ | 
 | 12 | 	.name = #action, .val = (action), | 
 | 13 |  | 
 | 14 | struct notifier_err_inject { | 
 | 15 | 	struct notifier_block nb; | 
 | 16 | 	struct notifier_err_inject_action actions[]; | 
 | 17 | 	/* The last slot must be terminated with zero sentinel */ | 
 | 18 | }; | 
 | 19 |  | 
 | 20 | extern struct dentry *notifier_err_inject_dir; | 
 | 21 |  | 
 | 22 | extern struct dentry *notifier_err_inject_init(const char *name, | 
 | 23 | 		struct dentry *parent, struct notifier_err_inject *err_inject, | 
 | 24 | 		int priority); |