aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/compat/lindebugfs/lindebugfs.c17
-rw-r--r--sys/compat/linuxkpi/common/include/linux/debugfs.h2
2 files changed, 19 insertions, 0 deletions
diff --git a/sys/compat/lindebugfs/lindebugfs.c b/sys/compat/lindebugfs/lindebugfs.c
index d32de5d0657e..5449dabede66 100644
--- a/sys/compat/lindebugfs/lindebugfs.c
+++ b/sys/compat/lindebugfs/lindebugfs.c
@@ -328,6 +328,23 @@ debugfs_create_symlink(const char *name, struct dentry *parent,
return (NULL);
}
+struct dentry *
+debugfs_lookup(const char *name, struct dentry *parent)
+{
+ struct dentry_meta *dm;
+ struct dentry *dnode;
+ struct pfs_node *pnode;
+
+ pnode = pfs_find_node(parent->d_pfs_node, name);
+ if (pnode == NULL)
+ return (NULL);
+
+ dm = (struct dentry_meta *)pnode->pn_data;
+ dnode = &dm->dm_dnode;
+
+ return (dnode);
+}
+
void
debugfs_remove(struct dentry *dnode)
{
diff --git a/sys/compat/linuxkpi/common/include/linux/debugfs.h b/sys/compat/linuxkpi/common/include/linux/debugfs.h
index 13186334d75c..54145b61503e 100644
--- a/sys/compat/linuxkpi/common/include/linux/debugfs.h
+++ b/sys/compat/linuxkpi/common/include/linux/debugfs.h
@@ -82,6 +82,8 @@ struct dentry *debugfs_create_dir(const char *name, struct dentry *parent);
struct dentry *debugfs_create_symlink(const char *name, struct dentry *parent,
const char *dest);
+struct dentry *debugfs_lookup(const char *name, struct dentry *parent);
+
void debugfs_remove(struct dentry *dentry);
void debugfs_remove_recursive(struct dentry *dentry);