xref: /linux/fs/sysfs/sysfs.h (revision 132db93572821ec2fdf81e354cc40f558faf7e4f)
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