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
cpu-notifier-error-inject.c
Go to the documentation of this file.
1
#include <linux/kernel.h>
2
#include <linux/module.h>
3
#include <
linux/cpu.h
>
4
5
#include "
notifier-error-inject.h
"
6
7
static
int
priority
;
8
module_param
(
priority
,
int
, 0);
9
MODULE_PARM_DESC
(
priority
,
"specify cpu notifier priority"
);
10
11
static
struct
notifier_err_inject
cpu_notifier_err_inject = {
12
.actions = {
13
{
NOTIFIER_ERR_INJECT_ACTION
(
CPU_UP_PREPARE
) },
14
{
NOTIFIER_ERR_INJECT_ACTION
(
CPU_UP_PREPARE_FROZEN
) },
15
{
NOTIFIER_ERR_INJECT_ACTION
(
CPU_DOWN_PREPARE
) },
16
{
NOTIFIER_ERR_INJECT_ACTION
(
CPU_DOWN_PREPARE_FROZEN
) },
17
{}
18
}
19
};
20
21
static
struct
dentry
*
dir
;
22
23
static
int
err_inject_init(
void
)
24
{
25
int
err
;
26
27
dir =
notifier_err_inject_init
(
"cpu"
,
notifier_err_inject_dir
,
28
&cpu_notifier_err_inject,
priority
);
29
if
(IS_ERR(dir))
30
return
PTR_ERR(dir);
31
32
err =
register_hotcpu_notifier
(&cpu_notifier_err_inject.
nb
);
33
if
(err)
34
debugfs_remove_recursive
(dir);
35
36
return
err
;
37
}
38
39
static
void
err_inject_exit(
void
)
40
{
41
unregister_hotcpu_notifier
(&cpu_notifier_err_inject.
nb
);
42
debugfs_remove_recursive
(dir);
43
}
44
45
module_init
(err_inject_init);
46
module_exit
(err_inject_exit);
47
48
MODULE_DESCRIPTION
(
"CPU notifier error injection module"
);
49
MODULE_LICENSE
(
"GPL"
);
50
MODULE_AUTHOR
(
"Akinobu Mita <
[email protected]
>"
);
Generated on Thu Jan 10 2013 14:55:26 for Linux Kernel by
1.8.2