* But after the word is updated, the routine issues an "mf" before returning,
  * and since it's a function call, we don't even need a compiler barrier.
  */
-#define smp_mb__before_atomic()        smp_mb()
-#define smp_mb__after_atomic() do { } while (0)
+#define __smp_mb__before_atomic()      __smp_mb()
+#define __smp_mb__after_atomic()       do { } while (0)
+#define smp_mb__after_atomic() __smp_mb__after_atomic()
 #else /* 64 bit */
-#define smp_mb__before_atomic()        smp_mb()
-#define smp_mb__after_atomic() smp_mb()
+#define __smp_mb__before_atomic()      __smp_mb()
+#define __smp_mb__after_atomic()       __smp_mb()
 #endif
 
 #include <asm-generic/barrier.h>