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
drivers
s390
net
ctcm_dbug.c
Go to the documentation of this file.
1
/*
2
* Copyright IBM Corp. 2001, 2007
3
* Authors: Peter Tiedemann (
[email protected]
)
4
*
5
*/
6
7
#include <linux/stddef.h>
8
#include <linux/string.h>
9
#include <linux/kernel.h>
10
#include <linux/errno.h>
11
#include <linux/ctype.h>
12
#include <linux/sysctl.h>
13
#include <linux/module.h>
14
#include <
linux/init.h
>
15
#include <linux/fs.h>
16
#include <
linux/debugfs.h
>
17
#include "
ctcm_dbug.h
"
18
19
/*
20
* Debug Facility Stuff
21
*/
22
23
struct
ctcm_dbf_info
ctcm_dbf
[
CTCM_DBF_INFOS
] = {
24
[
CTCM_DBF_SETUP
] = {
"ctc_setup"
, 8, 1, 64,
CTC_DBF_INFO
,
NULL
},
25
[
CTCM_DBF_ERROR
] = {
"ctc_error"
, 8, 1, 64,
CTC_DBF_ERROR
,
NULL
},
26
[
CTCM_DBF_TRACE
] = {
"ctc_trace"
, 8, 1, 64,
CTC_DBF_ERROR
,
NULL
},
27
[
CTCM_DBF_MPC_SETUP
] = {
"mpc_setup"
, 8, 1, 80,
CTC_DBF_INFO
,
NULL
},
28
[
CTCM_DBF_MPC_ERROR
] = {
"mpc_error"
, 8, 1, 80,
CTC_DBF_ERROR
,
NULL
},
29
[
CTCM_DBF_MPC_TRACE
] = {
"mpc_trace"
, 8, 1, 80,
CTC_DBF_ERROR
,
NULL
},
30
};
31
32
void
ctcm_unregister_dbf_views
(
void
)
33
{
34
int
x
;
35
for
(x = 0; x <
CTCM_DBF_INFOS
; x++) {
36
debug_unregister
(ctcm_dbf[x].
id
);
37
ctcm_dbf[
x
].
id
=
NULL
;
38
}
39
}
40
41
int
ctcm_register_dbf_views
(
void
)
42
{
43
int
x
;
44
for
(x = 0; x <
CTCM_DBF_INFOS
; x++) {
45
/* register the areas */
46
ctcm_dbf[
x
].
id
=
debug_register
(ctcm_dbf[x].
name
,
47
ctcm_dbf[x].
pages
,
48
ctcm_dbf[x].
areas
,
49
ctcm_dbf[x].
len
);
50
if
(ctcm_dbf[x].
id
==
NULL
) {
51
ctcm_unregister_dbf_views
();
52
return
-
ENOMEM
;
53
}
54
55
/* register a view */
56
debug_register_view
(ctcm_dbf[x].
id
, &
debug_hex_ascii_view
);
57
/* set a passing level */
58
debug_set_level
(ctcm_dbf[x].
id
, ctcm_dbf[x].
level
);
59
}
60
61
return
0;
62
}
63
64
void
ctcm_dbf_longtext
(
enum
ctcm_dbf_names
dbf_nix,
int
level
,
char
*
fmt
, ...)
65
{
66
char
dbf_txt_buf[64];
67
va_list
args
;
68
69
if
(level > (ctcm_dbf[dbf_nix].
id
)->level)
70
return
;
71
va_start
(args, fmt);
72
vsnprintf
(dbf_txt_buf,
sizeof
(dbf_txt_buf), fmt, args);
73
va_end
(args);
74
75
debug_text_event(ctcm_dbf[dbf_nix].
id
, level, dbf_txt_buf);
76
}
77
Generated on Thu Jan 10 2013 14:18:05 for Linux Kernel by
1.8.2