Blame view
lib/of-reconfig-notifier-error-inject.c
1.31 KB
09c434b8a treewide: Add SPD... |
1 |
// SPDX-License-Identifier: GPL-2.0-only |
08dfb4dde powerpc: pSeries ... |
2 3 |
#include <linux/kernel.h> #include <linux/module.h> |
d526e85f6 powerpc+of: Renam... |
4 |
#include <linux/of.h> |
08dfb4dde powerpc: pSeries ... |
5 6 7 8 9 |
#include "notifier-error-inject.h" static int priority; module_param(priority, int, 0); |
d526e85f6 powerpc+of: Renam... |
10 |
MODULE_PARM_DESC(priority, "specify OF reconfig notifier priority"); |
08dfb4dde powerpc: pSeries ... |
11 12 13 |
static struct notifier_err_inject reconfig_err_inject = { .actions = { |
d526e85f6 powerpc+of: Renam... |
14 15 16 17 18 |
{ NOTIFIER_ERR_INJECT_ACTION(OF_RECONFIG_ATTACH_NODE) }, { NOTIFIER_ERR_INJECT_ACTION(OF_RECONFIG_DETACH_NODE) }, { NOTIFIER_ERR_INJECT_ACTION(OF_RECONFIG_ADD_PROPERTY) }, { NOTIFIER_ERR_INJECT_ACTION(OF_RECONFIG_REMOVE_PROPERTY) }, { NOTIFIER_ERR_INJECT_ACTION(OF_RECONFIG_UPDATE_PROPERTY) }, |
08dfb4dde powerpc: pSeries ... |
19 20 21 22 23 24 25 26 27 |
{} } }; static struct dentry *dir; static int err_inject_init(void) { int err; |
d526e85f6 powerpc+of: Renam... |
28 |
dir = notifier_err_inject_init("OF-reconfig", |
08dfb4dde powerpc: pSeries ... |
29 30 31 |
notifier_err_inject_dir, &reconfig_err_inject, priority); if (IS_ERR(dir)) return PTR_ERR(dir); |
d526e85f6 powerpc+of: Renam... |
32 |
err = of_reconfig_notifier_register(&reconfig_err_inject.nb); |
08dfb4dde powerpc: pSeries ... |
33 34 35 36 37 38 39 40 |
if (err) debugfs_remove_recursive(dir); return err; } static void err_inject_exit(void) { |
d526e85f6 powerpc+of: Renam... |
41 |
of_reconfig_notifier_unregister(&reconfig_err_inject.nb); |
08dfb4dde powerpc: pSeries ... |
42 43 44 45 46 |
debugfs_remove_recursive(dir); } module_init(err_inject_init); module_exit(err_inject_exit); |
d526e85f6 powerpc+of: Renam... |
47 |
MODULE_DESCRIPTION("OF reconfig notifier error injection module"); |
08dfb4dde powerpc: pSeries ... |
48 49 |
MODULE_LICENSE("GPL"); MODULE_AUTHOR("Akinobu Mita <akinobu.mita@gmail.com>"); |