1 /* SPDX-License-Identifier: GPL-2.0 */
3 * fs/sysfs/sysfs.h - sysfs internal header file
5 * Copyright (c) 2001-3 Patrick Mochel
6 * Copyright (c) 2007 SUSE Linux Products GmbH
7 * Copyright (c) 2007 Tejun Heo <teheo@suse.de>
10 #ifndef __SYSFS_INTERNAL_H
11 #define __SYSFS_INTERNAL_H
13 #include <linux/sysfs.h>
18 extern struct kernfs_node
*sysfs_root_kn
;
23 extern spinlock_t sysfs_symlink_target_lock
;
25 void sysfs_warn_dup(struct kernfs_node
*parent
, const char *name
);
30 int sysfs_add_file(struct kernfs_node
*parent
,
31 const struct attribute
*attr
, bool is_bin
);
32 int sysfs_add_file_mode_ns(struct kernfs_node
*parent
,
33 const struct attribute
*attr
, bool is_bin
,
34 umode_t amode
, const void *ns
);
39 int sysfs_create_link_sd(struct kernfs_node
*kn
, struct kobject
*target
,
42 #endif /* __SYSFS_INTERNAL_H */