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
include
linux
debugfs.h
Go to the documentation of this file.
1
/*
2
* debugfs.h - a tiny little debug file system
3
*
4
* Copyright (C) 2004 Greg Kroah-Hartman <
[email protected]
>
5
* Copyright (C) 2004 IBM Inc.
6
*
7
* This program is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU General Public License version
9
* 2 as published by the Free Software Foundation.
10
*
11
* debugfs is for people to use instead of /proc or /sys.
12
* See Documentation/DocBook/filesystems for more details.
13
*/
14
15
#ifndef _DEBUGFS_H_
16
#define _DEBUGFS_H_
17
18
#include <linux/fs.h>
19
#include <
linux/seq_file.h
>
20
21
#include <linux/types.h>
22
23
struct
file_operations
;
24
25
struct
debugfs_blob_wrapper
{
26
void
*
data
;
27
unsigned
long
size
;
28
};
29
30
struct
debugfs_reg32
{
31
char
*
name
;
32
unsigned
long
offset
;
33
};
34
35
struct
debugfs_regset32
{
36
struct
debugfs_reg32
*
regs
;
37
int
nregs
;
38
void
__iomem
*
base
;
39
};
40
41
extern
struct
dentry
*
arch_debugfs_dir
;
42
43
#if defined(CONFIG_DEBUG_FS)
44
45
/* declared over in file.c */
46
extern
const
struct
file_operations
debugfs_file_operations
;
47
extern
const
struct
inode_operations
debugfs_link_operations
;
48
49
struct
dentry
*
debugfs_create_file
(
const
char
*
name
,
umode_t
mode
,
50
struct
dentry
*parent,
void
*
data
,
51
const
struct
file_operations
*
fops
);
52
53
struct
dentry
*
debugfs_create_dir
(
const
char
*
name
,
struct
dentry
*parent);
54
55
struct
dentry
*
debugfs_create_symlink
(
const
char
*
name
,
struct
dentry
*parent,
56
const
char
*
dest
);
57
58
void
debugfs_remove
(
struct
dentry
*
dentry
);
59
void
debugfs_remove_recursive
(
struct
dentry
*
dentry
);
60
61
struct
dentry
*
debugfs_rename
(
struct
dentry
*old_dir,
struct
dentry
*old_dentry,
62
struct
dentry
*new_dir,
const
char
*new_name);
63
64
struct
dentry
*
debugfs_create_u8
(
const
char
*
name
,
umode_t
mode
,
65
struct
dentry
*parent,
u8
*
value
);
66
struct
dentry
*
debugfs_create_u16
(
const
char
*
name
,
umode_t
mode
,
67
struct
dentry
*parent,
u16
*
value
);
68
struct
dentry
*
debugfs_create_u32
(
const
char
*
name
,
umode_t
mode
,
69
struct
dentry
*parent,
u32
*
value
);
70
struct
dentry
*
debugfs_create_u64
(
const
char
*
name
,
umode_t
mode
,
71
struct
dentry
*parent,
u64
*
value
);
72
struct
dentry
*
debugfs_create_x8
(
const
char
*
name
,
umode_t
mode
,
73
struct
dentry
*parent,
u8
*
value
);
74
struct
dentry
*
debugfs_create_x16
(
const
char
*
name
,
umode_t
mode
,
75
struct
dentry
*parent,
u16
*
value
);
76
struct
dentry
*
debugfs_create_x32
(
const
char
*
name
,
umode_t
mode
,
77
struct
dentry
*parent,
u32
*
value
);
78
struct
dentry
*
debugfs_create_x64
(
const
char
*
name
,
umode_t
mode
,
79
struct
dentry
*parent,
u64
*
value
);
80
struct
dentry
*
debugfs_create_size_t
(
const
char
*
name
,
umode_t
mode
,
81
struct
dentry
*parent,
size_t
*
value
);
82
struct
dentry
*
debugfs_create_bool
(
const
char
*
name
,
umode_t
mode
,
83
struct
dentry
*parent,
u32
*
value
);
84
85
struct
dentry
*
debugfs_create_blob
(
const
char
*
name
,
umode_t
mode
,
86
struct
dentry
*parent,
87
struct
debugfs_blob_wrapper
*
blob
);
88
89
struct
dentry
*debugfs_create_regset32(
const
char
*
name
,
umode_t
mode
,
90
struct
dentry
*parent,
91
struct
debugfs_regset32
*regset);
92
93
int
debugfs_print_regs32(
struct
seq_file
*
s
,
const
struct
debugfs_reg32
*
regs
,
94
int
nregs,
void
__iomem
*base,
char
*
prefix
);
95
96
struct
dentry
*
debugfs_create_u32_array
(
const
char
*
name
,
umode_t
mode
,
97
struct
dentry
*parent,
98
u32
*array,
u32
elements
);
99
100
bool
debugfs_initialized
(
void
);
101
102
#else
103
104
#include <
linux/err.h
>
105
106
/*
107
* We do not return NULL from these functions if CONFIG_DEBUG_FS is not enabled
108
* so users have a chance to detect if there was a real error or not. We don't
109
* want to duplicate the design decision mistakes of procfs and devfs again.
110
*/
111
112
static
inline
struct
dentry
*
debugfs_create_file
(
const
char
*
name
,
umode_t
mode
,
113
struct
dentry
*parent,
void
*
data
,
114
const
struct
file_operations
*
fops
)
115
{
116
return
ERR_PTR(-
ENODEV
);
117
}
118
119
static
inline
struct
dentry
*
debugfs_create_dir
(
const
char
*
name
,
120
struct
dentry
*parent)
121
{
122
return
ERR_PTR(-
ENODEV
);
123
}
124
125
static
inline
struct
dentry
*
debugfs_create_symlink
(
const
char
*
name
,
126
struct
dentry
*parent,
127
const
char
*
dest
)
128
{
129
return
ERR_PTR(-
ENODEV
);
130
}
131
132
static
inline
void
debugfs_remove
(
struct
dentry
*
dentry
)
133
{ }
134
135
static
inline
void
debugfs_remove_recursive
(
struct
dentry
*
dentry
)
136
{ }
137
138
static
inline
struct
dentry
*
debugfs_rename
(
struct
dentry
*old_dir,
struct
dentry
*old_dentry,
139
struct
dentry
*new_dir,
char
*new_name)
140
{
141
return
ERR_PTR(-
ENODEV
);
142
}
143
144
static
inline
struct
dentry
*
debugfs_create_u8
(
const
char
*
name
,
umode_t
mode
,
145
struct
dentry
*parent,
146
u8
*
value
)
147
{
148
return
ERR_PTR(-
ENODEV
);
149
}
150
151
static
inline
struct
dentry
*
debugfs_create_u16
(
const
char
*
name
,
umode_t
mode
,
152
struct
dentry
*parent,
153
u16
*
value
)
154
{
155
return
ERR_PTR(-
ENODEV
);
156
}
157
158
static
inline
struct
dentry
*
debugfs_create_u32
(
const
char
*
name
,
umode_t
mode
,
159
struct
dentry
*parent,
160
u32
*
value
)
161
{
162
return
ERR_PTR(-
ENODEV
);
163
}
164
165
static
inline
struct
dentry
*
debugfs_create_u64
(
const
char
*
name
,
umode_t
mode
,
166
struct
dentry
*parent,
167
u64
*
value
)
168
{
169
return
ERR_PTR(-
ENODEV
);
170
}
171
172
static
inline
struct
dentry
*
debugfs_create_x8
(
const
char
*
name
,
umode_t
mode
,
173
struct
dentry
*parent,
174
u8
*
value
)
175
{
176
return
ERR_PTR(-
ENODEV
);
177
}
178
179
static
inline
struct
dentry
*
debugfs_create_x16
(
const
char
*
name
,
umode_t
mode
,
180
struct
dentry
*parent,
181
u16
*
value
)
182
{
183
return
ERR_PTR(-
ENODEV
);
184
}
185
186
static
inline
struct
dentry
*
debugfs_create_x32
(
const
char
*
name
,
umode_t
mode
,
187
struct
dentry
*parent,
188
u32
*
value
)
189
{
190
return
ERR_PTR(-
ENODEV
);
191
}
192
193
static
inline
struct
dentry
*
debugfs_create_size_t
(
const
char
*
name
,
umode_t
mode
,
194
struct
dentry
*parent,
195
size_t
*
value
)
196
{
197
return
ERR_PTR(-
ENODEV
);
198
}
199
200
static
inline
struct
dentry
*
debugfs_create_bool
(
const
char
*
name
,
umode_t
mode
,
201
struct
dentry
*parent,
202
u32
*
value
)
203
{
204
return
ERR_PTR(-
ENODEV
);
205
}
206
207
static
inline
struct
dentry
*
debugfs_create_blob
(
const
char
*
name
,
umode_t
mode
,
208
struct
dentry
*parent,
209
struct
debugfs_blob_wrapper
*
blob
)
210
{
211
return
ERR_PTR(-
ENODEV
);
212
}
213
214
static
inline
struct
dentry
*debugfs_create_regset32(
const
char
*
name
,
215
umode_t
mode
,
struct
dentry
*parent,
216
struct
debugfs_regset32
*regset)
217
{
218
return
ERR_PTR(-
ENODEV
);
219
}
220
221
static
inline
bool
debugfs_initialized
(
void
)
222
{
223
return
false
;
224
}
225
226
static
inline
struct
dentry
*
debugfs_create_u32_array
(
const
char
*
name
,
umode_t
mode
,
227
struct
dentry
*parent,
228
u32
*array,
u32
elements
)
229
{
230
return
ERR_PTR(-
ENODEV
);
231
}
232
233
#endif
234
235
#endif
Generated on Thu Jan 10 2013 13:22:08 for Linux Kernel by
1.8.2