]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - lib/notifier-error-inject.h
fault-injection: notifier error injection
[karo-tx-linux.git] / lib / notifier-error-inject.h
diff --git a/lib/notifier-error-inject.h b/lib/notifier-error-inject.h
new file mode 100644 (file)
index 0000000..99b3b6f
--- /dev/null
@@ -0,0 +1,24 @@
+#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);