Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
lib
pSeries-reconfig-notifier-error-inject.c
Go to the documentation of this file.
1
#include <linux/kernel.h>
2
#include <linux/module.h>
3
4
#include <
asm/pSeries_reconfig.h
>
5
6
#include "
notifier-error-inject.h
"
7
8
static
int
priority
;
9
module_param
(
priority
,
int
, 0);
10
MODULE_PARM_DESC
(
priority
,
"specify pSeries reconfig notifier priority"
);
11
12
static
struct
notifier_err_inject
reconfig_err_inject = {
13
.actions = {
14
{
NOTIFIER_ERR_INJECT_ACTION
(PSERIES_RECONFIG_ADD) },
15
{
NOTIFIER_ERR_INJECT_ACTION
(PSERIES_RECONFIG_REMOVE) },
16
{
NOTIFIER_ERR_INJECT_ACTION
(PSERIES_DRCONF_MEM_ADD) },
17
{
NOTIFIER_ERR_INJECT_ACTION
(PSERIES_DRCONF_MEM_REMOVE) },
18
{}
19
}
20
};
21
22
static
struct
dentry
*
dir
;
23
24
static
int
err_inject_init(
void
)
25
{
26
int
err
;
27
28
dir =
notifier_err_inject_init
(
"pSeries-reconfig"
,
29
notifier_err_inject_dir
, &reconfig_err_inject,
priority
);
30
if
(IS_ERR(dir))
31
return
PTR_ERR(dir);
32
33
err =
pSeries_reconfig_notifier_register
(&reconfig_err_inject.
nb
);
34
if
(err)
35
debugfs_remove_recursive
(dir);
36
37
return
err
;
38
}
39
40
static
void
err_inject_exit(
void
)
41
{
42
pSeries_reconfig_notifier_unregister
(&reconfig_err_inject.
nb
);
43
debugfs_remove_recursive
(dir);
44
}
45
46
module_init
(err_inject_init);
47
module_exit
(err_inject_exit);
48
49
MODULE_DESCRIPTION
(
"pSeries reconfig notifier error injection module"
);
50
MODULE_LICENSE
(
"GPL"
);
51
MODULE_AUTHOR
(
"Akinobu Mita <
[email protected]
>"
);
Generated on Thu Jan 10 2013 14:55:49 for Linux Kernel by
1.8.2