debugfs_create_file — create a file in the debugfs filesystem
struct dentry * debugfs_create_file ( | const char * | name, |
mode_t | mode, | |
struct dentry * | parent, | |
void * | data, | |
struct file_operations * | fops) ; |
name
a pointer to a string containing the name of the file to create.
mode
the permission that the file should have
parent
a pointer to the parent dentry for this file. This should be a directory dentry if set. If this paramater is NULL, then the file will be created in the root of the debugfs filesystem.
data
a pointer to something that the caller will want to get to later
on. The inode.u.generic_ip pointer will point to this value on
the open
call.
fops
a pointer to a struct file_operations that should be used for this file.
This is the basic “create a file” function for debugfs. It allows for a
wide range of flexibility in createing a file, or a directory (if you
want to create a directory, the debugfs_create_dir
function is
recommended to be used instead.)
This function will return a pointer to a dentry if it succeeds. This
pointer must be passed to the debugfs_remove
function when the file is
to be removed (no automatic cleanup happens if your module is unloaded,
you are responsible here.) If an error occurs, NULL will be returned.
If debugfs is not enabled in the kernel, the value -ENODEV will be returned. It is not wise to check for this value, but rather, check for NULL or !NULL instead as to eliminate the need for #ifdef in the calling code.
This is the basic “create a file” function for debugfs. It allows for a
wide range of flexibility in createing a file, or a directory (if you
want to create a directory, the debugfs_create_dir
function is
recommended to be used instead.)
This function will return a pointer to a dentry if it succeeds. This
pointer must be passed to the debugfs_remove
function when the file is
to be removed (no automatic cleanup happens if your module is unloaded,
you are responsible here.) If an error occurs, NULL will be returned.
If debugfs is not enabled in the kernel, the value -ENODEV will be returned. It is not wise to check for this value, but rather, check for NULL or !NULL instead as to eliminate the need for #ifdef in the calling code.