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