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