1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * fs/sysfs/sysfs.h - sysfs internal header file 4 * 5 * Copyright (c) 2001-3 Patrick Mochel 6 * Copyright (c) 2007 SUSE Linux Products GmbH 7 * Copyright (c) 2007 Tejun Heo <teheo@suse.de> 8 */ 9 10 #ifndef __SYSFS_INTERNAL_H 11 #define __SYSFS_INTERNAL_H 12 13 #include <linux/sysfs.h> 14 15 /* 16 * mount.c 17 */ 18 extern struct kernfs_node *sysfs_root_kn; 19 20 /* 21 * dir.c 22 */ 23 extern spinlock_t sysfs_symlink_target_lock; 24 25 void sysfs_warn_dup(struct kernfs_node *parent, const char *name); 26 27 /* 28 * file.c 29 */ 30 int sysfs_add_file_mode_ns(struct kernfs_node *parent, 31 const struct attribute *attr, bool is_bin, 32 umode_t amode, kuid_t uid, kgid_t gid, 33 const void *ns); 34 35 /* 36 * symlink.c 37 */ 38 int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target, 39 const char *name); 40 41 #endif /* __SYSFS_INTERNAL_H */ 42