Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
 struct attribute {
         char                    * name;
         struct module          *owner;
-        mode_t                  mode;
+        umode_t                 mode;
 };
 
 
 
 }
 
 int sysfs_add_file_mode(struct sysfs_dirent *dir_sd,
-                       const struct attribute *attr, int type, mode_t amode)
+                       const struct attribute *attr, int type, umode_t amode)
 {
        umode_t mode = (amode & S_IALLUGO) | S_IFREG;
        struct sysfs_addrm_cxt acxt;
 
        return error;
 }
 
-static inline void set_default_inode_attr(struct inode * inode, mode_t mode)
+static inline void set_default_inode_attr(struct inode * inode, umode_t mode)
 {
        inode->i_mode = mode;
        inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
 
        };
 
        unsigned int            s_flags;
-       unsigned short          s_mode;
+       umode_t                 s_mode;
        ino_t                   s_ino;
        struct sysfs_inode_attrs *s_iattr;
 };
                   const struct attribute *attr, int type);
 
 int sysfs_add_file_mode(struct sysfs_dirent *dir_sd,
-                       const struct attribute *attr, int type, mode_t amode);
+                       const struct attribute *attr, int type, umode_t amode);
 /*
  * bin.c
  */