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, umode_t amode, kuid_t uid, |
32 | kgid_t gid, const void *ns); |
33 | int sysfs_add_bin_file_mode_ns(struct kernfs_node *parent, |
34 | const struct bin_attribute *battr, umode_t mode, |
35 | kuid_t uid, kgid_t gid, const void *ns); |
36 | |
37 | /* |
38 | * symlink.c |
39 | */ |
40 | int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target, |
41 | const char *name); |
42 | |
43 | #endif /* __SYSFS_INTERNAL_H */ |
44 | |