mfd: Add all twl4030 regulators to the twl4030 mfd driver
[safe/jmp/linux-2.6] / include / linux / ext2_fs.h
index c77c3bb..2dfa707 100644 (file)
@@ -47,7 +47,7 @@
 #ifdef EXT2FS_DEBUG
 #      define ext2_debug(f, a...)      { \
                                        printk ("EXT2-fs DEBUG (%s, %d): %s:", \
-                                               __FILE__, __LINE__, __FUNCTION__); \
+                                               __FILE__, __LINE__, __func__); \
                                        printk (f, ## a); \
                                        }
 #else
@@ -194,6 +194,30 @@ struct ext2_group_desc
 #define EXT2_FL_USER_VISIBLE           FS_FL_USER_VISIBLE      /* User visible flags */
 #define EXT2_FL_USER_MODIFIABLE                FS_FL_USER_MODIFIABLE   /* User modifiable flags */
 
+/* Flags that should be inherited by new inodes from their parent. */
+#define EXT2_FL_INHERITED (EXT2_SECRM_FL | EXT2_UNRM_FL | EXT2_COMPR_FL |\
+                          EXT2_SYNC_FL | EXT2_IMMUTABLE_FL | EXT2_APPEND_FL |\
+                          EXT2_NODUMP_FL | EXT2_NOATIME_FL | EXT2_COMPRBLK_FL|\
+                          EXT2_NOCOMP_FL | EXT2_JOURNAL_DATA_FL |\
+                          EXT2_NOTAIL_FL | EXT2_DIRSYNC_FL)
+
+/* Flags that are appropriate for regular files (all but dir-specific ones). */
+#define EXT2_REG_FLMASK (~(EXT2_DIRSYNC_FL | EXT2_TOPDIR_FL))
+
+/* Flags that are appropriate for non-directories/regular files. */
+#define EXT2_OTHER_FLMASK (EXT2_NODUMP_FL | EXT2_NOATIME_FL)
+
+/* Mask out flags that are inappropriate for the given type of inode. */
+static inline __u32 ext2_mask_flags(umode_t mode, __u32 flags)
+{
+       if (S_ISDIR(mode))
+               return flags;
+       else if (S_ISREG(mode))
+               return flags & EXT2_REG_FLMASK;
+       else
+               return flags & EXT2_OTHER_FLMASK;
+}
+
 /*
  * ioctl commands
  */
@@ -284,8 +308,8 @@ struct ext2_inode {
 
 #ifdef __hurd__
 #define i_translator   osd1.hurd1.h_i_translator
-#define i_frag         osd2.hurd2.h_i_frag;
-#define i_fsize                osd2.hurd2.h_i_fsize;
+#define i_frag         osd2.hurd2.h_i_frag
+#define i_fsize                osd2.hurd2.h_i_fsize
 #define i_uid_high     osd2.hurd2.h_i_uid_high
 #define i_gid_high     osd2.hurd2.h_i_gid_high
 #define i_author       osd2.hurd2.h_i_author
@@ -541,14 +565,14 @@ struct ext2_dir_entry_2 {
  * other bits are reserved for now.
  */
 enum {
-       EXT2_FT_UNKNOWN,
-       EXT2_FT_REG_FILE,
-       EXT2_FT_DIR,
-       EXT2_FT_CHRDEV,
-       EXT2_FT_BLKDEV,
-       EXT2_FT_FIFO,
-       EXT2_FT_SOCK,
-       EXT2_FT_SYMLINK,
+       EXT2_FT_UNKNOWN         = 0,
+       EXT2_FT_REG_FILE        = 1,
+       EXT2_FT_DIR             = 2,
+       EXT2_FT_CHRDEV          = 3,
+       EXT2_FT_BLKDEV          = 4,
+       EXT2_FT_FIFO            = 5,
+       EXT2_FT_SOCK            = 6,
+       EXT2_FT_SYMLINK         = 7,
        EXT2_FT_MAX
 };
 
@@ -561,12 +585,6 @@ enum {
 #define EXT2_DIR_ROUND                         (EXT2_DIR_PAD - 1)
 #define EXT2_DIR_REC_LEN(name_len)     (((name_len) + 8 + EXT2_DIR_ROUND) & \
                                         ~EXT2_DIR_ROUND)
-
-static inline ext2_fsblk_t
-ext2_group_first_block_no(struct super_block *sb, unsigned long group_no)
-{
-       return group_no * (ext2_fsblk_t)EXT2_BLOCKS_PER_GROUP(sb) +
-               le32_to_cpu(EXT2_SB(sb)->s_es->s_first_data_block);
-}
+#define EXT2_MAX_REC_LEN               ((1<<16)-1)
 
 #endif /* _LINUX_EXT2_FS_H */