mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 20:22:09 +00:00
414985ae23
Move core file code to fs/kernfs/file.c. fs/sysfs/file.c now contains sysfs kernfs_ops callbacks, sysfs wrappers around kernfs interfaces, and sysfs_schedule_callback(). The respective declarations in fs/sysfs/sysfs.h are moved to fs/kernfs/kernfs-internal.h. This is pure relocation. v2: Refreshed on top of the v2 of "sysfs, kernfs: prepare read path for kernfs". v3: Refreshed on top of the v3 of "sysfs, kernfs: prepare read path for kernfs". Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
58 lines
1.4 KiB
C
58 lines
1.4 KiB
C
/*
|
|
* fs/sysfs/sysfs.h - sysfs internal header file
|
|
*
|
|
* Copyright (c) 2001-3 Patrick Mochel
|
|
* Copyright (c) 2007 SUSE Linux Products GmbH
|
|
* Copyright (c) 2007 Tejun Heo <teheo@suse.de>
|
|
*
|
|
* This file is released under the GPLv2.
|
|
*/
|
|
|
|
#ifndef __SYSFS_INTERNAL_H
|
|
#define __SYSFS_INTERNAL_H
|
|
|
|
#include "../kernfs/kernfs-internal.h"
|
|
#include <linux/sysfs.h>
|
|
|
|
/*
|
|
* mount.c
|
|
*/
|
|
|
|
/*
|
|
* Each sb is associated with one namespace tag, currently the network
|
|
* namespace of the task which mounted this sysfs instance. If multiple
|
|
* tags become necessary, make the following an array and compare
|
|
* sysfs_dirent tag against every entry.
|
|
*/
|
|
struct sysfs_super_info {
|
|
void *ns;
|
|
};
|
|
#define sysfs_info(SB) ((struct sysfs_super_info *)(SB->s_fs_info))
|
|
extern struct sysfs_dirent sysfs_root;
|
|
extern struct kmem_cache *sysfs_dir_cachep;
|
|
|
|
/*
|
|
* dir.c
|
|
*/
|
|
extern spinlock_t sysfs_symlink_target_lock;
|
|
|
|
void sysfs_warn_dup(struct sysfs_dirent *parent, const char *name);
|
|
|
|
/*
|
|
* file.c
|
|
*/
|
|
int sysfs_add_file(struct sysfs_dirent *dir_sd,
|
|
const struct attribute *attr, bool is_bin);
|
|
int sysfs_add_file_mode_ns(struct sysfs_dirent *dir_sd,
|
|
const struct attribute *attr, bool is_bin,
|
|
umode_t amode, const void *ns);
|
|
|
|
/*
|
|
* symlink.c
|
|
*/
|
|
extern const struct inode_operations sysfs_symlink_inode_operations;
|
|
int sysfs_create_link_sd(struct sysfs_dirent *sd, struct kobject *target,
|
|
const char *name);
|
|
|
|
#endif /* __SYSFS_INTERNAL_H */
|