]> err.no Git - linux-2.6/blobdiff - include/asm-m68knommu/system.h
Merge commit 'upstream/master'
[linux-2.6] / include / asm-m68knommu / system.h
index 039ab3f817328ec639cc2a59ea7a9581463e6623..40f49de69821df7c98f523bf32800228ace3d339 100644 (file)
@@ -104,7 +104,7 @@ asmlinkage void resume(void);
 #define mb()   asm volatile (""   : : :"memory")
 #define rmb()  asm volatile (""   : : :"memory")
 #define wmb()  asm volatile (""   : : :"memory")
-#define set_mb(var, value) do { xchg(&var, value); } while (0)
+#define set_mb(var, value)     ({ (var) = (value); wmb(); })
 
 #ifdef CONFIG_SMP
 #define smp_mb()       mb()
@@ -118,6 +118,8 @@ asmlinkage void resume(void);
 #define smp_read_barrier_depends()     do { } while(0)
 #endif
 
+#define read_barrier_depends()  ((void)0)
+
 #define xchg(ptr,x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr))))
 
 struct __xchg_dummy { unsigned long a[100]; };
@@ -310,4 +312,13 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
 #endif
 #define arch_align_stack(x) (x)
 
+
+static inline int irqs_disabled_flags(unsigned long flags)
+{
+       if (flags & 0x0700)
+               return 0;
+       else
+               return 1;
+}
+
 #endif /* _M68KNOMMU_SYSTEM_H */