summaryrefslogtreecommitdiffstats
path: root/fs/sysfs/sysfs.h
diff options
context:
space:
mode:
authorTejun Heo2007-06-13 21:27:21 +0200
committerGreg Kroah-Hartman2007-07-12 01:09:08 +0200
commitb402d72cf7b338a074e3c12b305ec79284e18845 (patch)
tree0724d40180eb78212be81c7ff2d909ec3fb3f306 /fs/sysfs/sysfs.h
parentsysfs: make sysfs_drop_dentry() access inodes using ilookup() (diff)
downloadkernel-qcow2-linux-b402d72cf7b338a074e3c12b305ec79284e18845.tar.gz
kernel-qcow2-linux-b402d72cf7b338a074e3c12b305ec79284e18845.tar.xz
kernel-qcow2-linux-b402d72cf7b338a074e3c12b305ec79284e18845.zip
sysfs: rename sysfs_dirent->s_type to s_flags and make room for flags
Rename sysfs_dirent->s_type to s_flags, pack type into lower eight bits and reserve the rest for flags. sysfs_type() can used to access the type. All existing sd->s_type accesses are converted to use sysfs_type(). While at it, type test is changed to equality test instead of bit-and test where appropriate. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs/sysfs/sysfs.h')
-rw-r--r--fs/sysfs/sysfs.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/sysfs/sysfs.h b/fs/sysfs/sysfs.h
index 6f8aaf3805d2..06b5085804a1 100644
--- a/fs/sysfs/sysfs.h
+++ b/fs/sysfs/sysfs.h
@@ -34,7 +34,7 @@ struct sysfs_dirent {
struct sysfs_elem_bin_attr bin_attr;
} s_elem;
- int s_type;
+ unsigned int s_flags;
umode_t s_mode;
ino_t s_ino;
struct dentry * s_dentry;
@@ -86,6 +86,11 @@ extern const struct file_operations bin_fops;
extern const struct inode_operations sysfs_dir_inode_operations;
extern const struct inode_operations sysfs_symlink_inode_operations;
+static inline unsigned int sysfs_type(struct sysfs_dirent *sd)
+{
+ return sd->s_flags & SYSFS_TYPE_MASK;
+}
+
static inline struct sysfs_dirent * sysfs_get(struct sysfs_dirent * sd)
{
if (sd) {