xref: /openbmc/linux/include/linux/kernfs.h (revision 879f40d1)
1b8441ed2STejun Heo /*
2b8441ed2STejun Heo  * kernfs.h - pseudo filesystem decoupled from vfs locking
3b8441ed2STejun Heo  *
4b8441ed2STejun Heo  * This file is released under the GPLv2.
5b8441ed2STejun Heo  */
6b8441ed2STejun Heo 
7b8441ed2STejun Heo #ifndef __LINUX_KERNFS_H
8b8441ed2STejun Heo #define __LINUX_KERNFS_H
9b8441ed2STejun Heo 
10879f40d1STejun Heo #include <linux/kernel.h>
11879f40d1STejun Heo 
12b8441ed2STejun Heo struct sysfs_dirent;
13b8441ed2STejun Heo 
14879f40d1STejun Heo #ifdef CONFIG_SYSFS
15879f40d1STejun Heo 
16879f40d1STejun Heo void kernfs_remove(struct sysfs_dirent *sd);
17879f40d1STejun Heo int kernfs_remove_by_name_ns(struct sysfs_dirent *parent, const char *name,
18879f40d1STejun Heo 			     const void *ns);
19879f40d1STejun Heo 
20879f40d1STejun Heo #else	/* CONFIG_SYSFS */
21879f40d1STejun Heo 
22879f40d1STejun Heo static inline void kernfs_remove(struct sysfs_dirent *sd) { }
23879f40d1STejun Heo 
24879f40d1STejun Heo static inline int kernfs_remove_by_name_ns(struct sysfs_dirent *parent,
25879f40d1STejun Heo 					   const char *name, const void *ns)
26879f40d1STejun Heo { return -ENOSYS; }
27879f40d1STejun Heo 
28879f40d1STejun Heo #endif	/* CONFIG_SYSFS */
29879f40d1STejun Heo 
30879f40d1STejun Heo static inline int kernfs_remove_by_name(struct sysfs_dirent *parent,
31879f40d1STejun Heo 					const char *name)
32879f40d1STejun Heo {
33879f40d1STejun Heo 	return kernfs_remove_by_name_ns(parent, name, NULL);
34879f40d1STejun Heo }
35879f40d1STejun Heo 
36b8441ed2STejun Heo #endif	/* __LINUX_KERNFS_H */
37