[PATCH 22/41] sysfs, kernfs: reorganize SYSFS_* constants

Tejun Heo
2013-11-23T22:29:17Z

We want to add one more SYSFS_FLAG_* but we can't use the next higher
bit, 0x10000, as the flag field is 16bits wide. The flags are
currently arranged weirdly - 8 bits are set aside for the type flags
when there are only three three used, the first flag starts at 0x1000
instead of 0x0100 and flag literals have 5 digits (20 bits) when only
4 digits can be used.

Rearrange them so that type bits are only the lowest four, flags start
at 0x0010 and similar flags are grouped.

This patch doesn't cause any behavior difference.

Signed-off-by: Tejun Heo <tj@kernel.org>
---
fs/sysfs/sysfs.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/sysfs/sysfs.h b/fs/sysfs/sysfs.h
index a6542d2..c86456c 100644
--- a/fs/sysfs/sysfs.h
+++ b/fs/sysfs/sysfs.h
@@ -80,18 +80,18 @@ struct sysfs_dirent {

#define SD_DEACTIVATED_BIAS INT_MIN

-#define SYSFS_TYPE_MASK 0x00ff
+#define SYSFS_TYPE_MASK 0x000f
#define SYSFS_DIR 0x0001
#define SYSFS_KOBJ_ATTR 0x0002
-#define SYSFS_KOBJ_LINK 0x0008
+#define SYSFS_KOBJ_LINK 0x0004
#define SYSFS_COPY_NAME (SYSFS_DIR | SYSFS_KOBJ_LINK)
#define SYSFS_ACTIVE_REF SYSFS_KOBJ_ATTR

#define SYSFS_FLAG_MASK ~SYSFS_TYPE_MASK
-#define SYSFS_FLAG_NS 0x01000
-#define SYSFS_FLAG_REMOVED 0x02000
-#define SYSFS_FLAG_HAS_SEQ_SHOW 0x04000
-#define SYSFS_FLAG_HAS_MMAP 0x08000
+#define SYSFS_FLAG_REMOVED 0x0010
+#define SYSFS_FLAG_NS 0x0020
+#define SYSFS_FLAG_HAS_SEQ_SHOW 0x0040
+#define SYSFS_FLAG_HAS_MMAP 0x0080

static inline unsigned int sysfs_type(struct sysfs_dirent *sd)
{
--
1.8.4.2