[PATCH] introduce fmode_t, do annotations
[safe/jmp/linux-2.6] / sound / oss / sound_config.h
index 1a00a32..55271fb 100644 (file)
@@ -110,24 +110,16 @@ struct channel_info {
 #define OPEN_WRITE     PCM_ENABLE_OUTPUT
 #define OPEN_READWRITE (OPEN_READ|OPEN_WRITE)
 
-#if OPEN_READ == FMODE_READ && OPEN_WRITE == FMODE_WRITE
-
-static inline int translate_mode(struct file *file)
-{
-       return file->f_mode;
-}
-
-#else
-
 static inline int translate_mode(struct file *file)
 {
-       return ((file->f_mode & FMODE_READ) ? OPEN_READ : 0) |
-               ((file->f_mode & FMODE_WRITE) ? OPEN_WRITE : 0);
+       if (OPEN_READ == (__force int)FMODE_READ &&
+           OPEN_WRITE == (__force int)FMODE_WRITE)
+               return (__force int)(file->f_mode & (FMODE_READ | FMODE_WRITE));
+       else
+               return ((file->f_mode & FMODE_READ) ? OPEN_READ : 0) |
+                       ((file->f_mode & FMODE_WRITE) ? OPEN_WRITE : 0);
 }
 
-#endif
-
-
 #include "sound_calls.h"
 #include "dev_table.h"