1619daeeeSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 26d66f5cdSTejun Heo /* 36d66f5cdSTejun Heo * fs/sysfs/sysfs.h - sysfs internal header file 46d66f5cdSTejun Heo * 56d66f5cdSTejun Heo * Copyright (c) 2001-3 Patrick Mochel 66d66f5cdSTejun Heo * Copyright (c) 2007 SUSE Linux Products GmbH 76d66f5cdSTejun Heo * Copyright (c) 2007 Tejun Heo <teheo@suse.de> 86d66f5cdSTejun Heo */ 96d66f5cdSTejun Heo 10ae6621b0STejun Heo #ifndef __SYSFS_INTERNAL_H 11ae6621b0STejun Heo #define __SYSFS_INTERNAL_H 12ddd29ec6SDavid P. Quigley 13ae6621b0STejun Heo #include <linux/sysfs.h> 14fb6896daSTejun Heo 1559f69015STejun Heo /* 1659f69015STejun Heo * mount.c 1759f69015STejun Heo */ 18324a56e1STejun Heo extern struct kernfs_node *sysfs_root_kn; 191da177e4SLinus Torvalds 2059f69015STejun Heo /* 2159f69015STejun Heo * dir.c 2259f69015STejun Heo */ 230cae60f9STejun Heo extern spinlock_t sysfs_symlink_target_lock; 241da177e4SLinus Torvalds 25324a56e1STejun Heo void sysfs_warn_dup(struct kernfs_node *parent, const char *name); 2659f69015STejun Heo 2759f69015STejun Heo /* 2859f69015STejun Heo * file.c 2959f69015STejun Heo */ 30324a56e1STejun Heo int sysfs_add_file_mode_ns(struct kernfs_node *parent, 31*5cf3bb0dSChristoph Hellwig const struct attribute *attr, umode_t amode, kuid_t uid, 32*5cf3bb0dSChristoph Hellwig kgid_t gid, const void *ns); 33*5cf3bb0dSChristoph Hellwig int sysfs_add_bin_file_mode_ns(struct kernfs_node *parent, 34*5cf3bb0dSChristoph Hellwig const struct bin_attribute *battr, umode_t mode, 35*5cf3bb0dSChristoph Hellwig kuid_t uid, kgid_t gid, const void *ns); 3673d97146STejun Heo 3759f69015STejun Heo /* 3859f69015STejun Heo * symlink.c 3959f69015STejun Heo */ 40324a56e1STejun Heo int sysfs_create_link_sd(struct kernfs_node *kn, struct kobject *target, 410bb8f3d6SRafael J. Wysocki const char *name); 42ae6621b0STejun Heo 43ae6621b0STejun Heo #endif /* __SYSFS_INTERNAL_H */ 44