#include <linux/module.h>
#include <linux/debugfs.h>
+#include <linux/proc_fs.h>
#include <linux/anon_inodes.h>
#include <linux/file.h>
#include <linux/uaccess.h>
*/
static struct dentry *lttng_dentry;
+static struct proc_dir_entry *lttng_proc_dentry;
static const struct file_operations lttng_fops;
static const struct file_operations lttng_session_fops;
static const struct file_operations lttng_channel_fops;
wrapper_vmalloc_sync_all();
lttng_dentry = debugfs_create_file("lttng", S_IWUSR, NULL, NULL,
- <tng_fops);
- if (IS_ERR(lttng_dentry) || !lttng_dentry) {
+ <tng_fops);
+ if (IS_ERR(lttng_dentry))
+ lttng_dentry = NULL;
+
+ lttng_proc_dentry = proc_create_data("lttng", S_IWUSR, NULL,
+ <tng_fops, NULL);
+
+ if (!lttng_dentry && !lttng_proc_dentry) {
printk(KERN_ERR "Error creating LTTng control file\n");
ret = -ENOMEM;
goto error;
void __exit ltt_debugfs_abi_exit(void)
{
- debugfs_remove(lttng_dentry);
+ if (lttng_dentry)
+ debugfs_remove(lttng_dentry);
+ if (lttng_proc_dentry)
+ remove_proc_entry("lttng", NULL);
}