]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
sysfs: make sysfs_root a regular directory dirent
authorTejun Heo <htejun@gmail.com>
Thu, 20 Sep 2007 07:05:12 +0000 (16:05 +0900)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 12 Oct 2007 21:51:11 +0000 (14:51 -0700)
sysfs_root is different from a regular directory dirent in that it's
of type SYSFS_ROOT and doesn't have a name.  These differences aren't
used by anybody and only adds to complexity.  Make sysfs_root a
regular directory dirent.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/sysfs/inode.c
fs/sysfs/mount.c
fs/sysfs/sysfs.h

index b6ac4e6d6e7913c822e32f16f7a74dafeed831b6..c40fb9fdd04c6d594e8c6ef44775ead9ad6f54ca 100644 (file)
@@ -157,11 +157,6 @@ static void sysfs_init_inode(struct sysfs_dirent *sd, struct inode *inode)
 
        /* initialize inode according to type */
        switch (sysfs_type(sd)) {
-       case SYSFS_ROOT:
-               inode->i_op = &sysfs_dir_inode_operations;
-               inode->i_fop = &sysfs_dir_operations;
-               inc_nlink(inode); /* directory, account for "." */
-               break;
        case SYSFS_DIR:
                inode->i_op = &sysfs_dir_inode_operations;
                inode->i_fop = &sysfs_dir_operations;
index 28bf359981fc678341af7e867d44dacfa2956647..465902c18d31b5b6ff881227a4f2d51ece58a1aa 100644 (file)
@@ -24,8 +24,9 @@ static const struct super_operations sysfs_ops = {
 };
 
 struct sysfs_dirent sysfs_root = {
+       .s_name         = "",
        .s_count        = ATOMIC_INIT(1),
-       .s_flags        = SYSFS_ROOT,
+       .s_flags        = SYSFS_DIR,
        .s_mode         = S_IFDIR | S_IRWXU | S_IRUGO | S_IXUGO,
        .s_ino          = 1,
 };
index 2a68bfa46e43c78bc6bdb26df8988525889dfc26..60405a6e4c226d44200bb21703505ca8d9c146ed 100644 (file)
@@ -48,11 +48,10 @@ struct sysfs_dirent {
 #define SD_DEACTIVATED_BIAS            INT_MIN
 
 #define SYSFS_TYPE_MASK                        0x00ff
-#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_DIR                      0x0001
+#define SYSFS_KOBJ_ATTR                        0x0002
+#define SYSFS_KOBJ_BIN_ATTR            0x0004
+#define SYSFS_KOBJ_LINK                        0x0008
 #define SYSFS_COPY_NAME                        (SYSFS_DIR | SYSFS_KOBJ_LINK)
 
 #define SYSFS_FLAG_MASK                        ~SYSFS_TYPE_MASK