diff --git a/sys/compat/lindebugfs/lindebugfs.c b/sys/compat/lindebugfs/lindebugfs.c --- a/sys/compat/lindebugfs/lindebugfs.c +++ b/sys/compat/lindebugfs/lindebugfs.c @@ -328,6 +328,23 @@ 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 --- 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_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);