[Fake patch 2.6.10-rc2-bk15] Hide sysfs_dirent definition

From: Adam J. Richter
Date: Thu Dec 02 2004 - 22:18:00 EST


struct sysfs_dirent is only used internally within fs/sysfs/,
as are the legals for sysfs_dirent.s_type. The following patch
moves these definitions from the public include/linux/sysfs.h to
the private fs/sysfs/sysfs.h, which is consistent with other
definitions for internal use within sysfs, such as struct
sysfs_symlink.

This patch makes it clearer that there are no external
dependencies on struct sysfs_dirent, and it also eliminates the
massive recompiles that I had to do every time I would change
something in sysfs_dirent.

Note that this is a fake patch generated against a
pristine 2.6.10-rc2-bk15 tree, because my tree has some other
changes in it that overlap. So, please test this patch. It
should produce exactly the same binaries as before. If the
patch seems OK, I would appreciate it if this patch could
be forwarded for integration into the stock kernels.

__ ______________
Adam J. Richter \ /
adam@xxxxxxxxxxxxx | g g d r a s i l


diff -ur linux-2.6.10-rc2-bk15/fs/sysfs/sysfs.h linux/fs/sysfs/sysfs.h
--- linux-2.6.10-rc2-bk15/fs/sysfs/sysfs.h 2004-11-17 18:59:13.000000000 +0800
+++ linux/fs/sysfs/sysfs.h 2004-12-03 11:01:25.000000000 +0800
@@ -1,3 +1,20 @@
+struct sysfs_dirent {
+ atomic_t s_count;
+ struct list_head s_sibling;
+ struct list_head s_children;
+ void * s_element;
+ int s_type;
+ umode_t s_mode;
+ struct dentry * s_dentry;
+};
+
+#define SYSFS_ROOT 0x0001
+#define SYSFS_DIR 0x0002
+#define SYSFS_KOBJ_ATTR 0x0004
+#define SYSFS_KOBJ_BIN_ATTR 0x0008
+#define SYSFS_KOBJ_LINK 0x0020
+#define SYSFS_NOT_PINNED (SYSFS_KOBJ_ATTR | SYSFS_KOBJ_BIN_ATTR | SYSFS_KOBJ_LINK)
+

extern struct vfsmount * sysfs_mount;

diff -ur linux-2.6.10-rc2-bk15/include/linux/sysfs.h linux/include/linux/sysfs.h
--- linux-2.6.10-rc2-bk15/include/linux/sysfs.h 2004-11-17 18:59:17.000000000 +0800
+++ linux/include/linux/sysfs.h 2004-12-03 11:01:46.000000000 +0800
@@ -59,23 +59,6 @@
ssize_t (*store)(struct kobject *,struct attribute *,const char *, size_t);
};

-struct sysfs_dirent {
- atomic_t s_count;
- struct list_head s_sibling;
- struct list_head s_children;
- void * s_element;
- int s_type;
- umode_t s_mode;
- struct dentry * s_dentry;
-};
-
-#define SYSFS_ROOT 0x0001
-#define SYSFS_DIR 0x0002
-#define SYSFS_KOBJ_ATTR 0x0004
-#define SYSFS_KOBJ_BIN_ATTR 0x0008
-#define SYSFS_KOBJ_LINK 0x0020
-#define SYSFS_NOT_PINNED (SYSFS_KOBJ_ATTR | SYSFS_KOBJ_BIN_ATTR | SYSFS_KOBJ_LINK)
-
#ifdef CONFIG_SYSFS

extern int
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/