summaryrefslogblamecommitdiffstats
path: root/include/linux/kernfs.h
blob: 83e151ad0619a34d1ede83f58f2bda44d2ff602f (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                          

                         

                    





















                                                                            
                              
/*
 * kernfs.h - pseudo filesystem decoupled from vfs locking
 *
 * This file is released under the GPLv2.
 */

#ifndef __LINUX_KERNFS_H
#define __LINUX_KERNFS_H

#include <linux/kernel.h>

struct sysfs_dirent;

#ifdef CONFIG_SYSFS

void kernfs_remove(struct sysfs_dirent *sd);
int kernfs_remove_by_name_ns(struct sysfs_dirent *parent, const char *name,
			     const void *ns);

#else	/* CONFIG_SYSFS */

static inline void kernfs_remove(struct sysfs_dirent *sd) { }

static inline int kernfs_remove_by_name_ns(struct sysfs_dirent *parent,
					   const char *name, const void *ns)
{ return -ENOSYS; }

#endif	/* CONFIG_SYSFS */

static inline int kernfs_remove_by_name(struct sysfs_dirent *parent,
					const char *name)
{
	return kernfs_remove_by_name_ns(parent, name, NULL);
}

#endif	/* __LINUX_KERNFS_H */