[PATCH] atomic.h : atomic_t "counter" members should be volatile

From: Robert P. J. Day
Date: Mon Oct 30 2006 - 16:24:00 EST



Make sure all typedef struct's for atomic_t have a "volatile" counter
member.

Signed-off-by: Robert P. J. Day <rpjday@xxxxxxxxxxxxxx>
---
According to what I read, it's highly recommended that that counter
member be declared with storage class "volatile". This patch just
makes it consistently volatile across all architectures.

asm-frv/atomic.h | 2 +-
asm-h8300/atomic.h | 2 +-
asm-m68k/atomic.h | 2 +-
asm-m68knommu/atomic.h | 2 +-
asm-v850/atomic.h | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/asm-frv/atomic.h b/include/asm-frv/atomic.h
index 066386a..df564bb 100644
--- a/include/asm-frv/atomic.h
+++ b/include/asm-frv/atomic.h
@@ -35,7 +35,7 @@ #define smp_mb__before_atomic_inc() barr
#define smp_mb__after_atomic_inc() barrier()

typedef struct {
- int counter;
+ volatile int counter;
} atomic_t;

#define ATOMIC_INIT(i) { (i) }
diff --git a/include/asm-h8300/atomic.h b/include/asm-h8300/atomic.h
index 21f5442..3436bda 100644
--- a/include/asm-h8300/atomic.h
+++ b/include/asm-h8300/atomic.h
@@ -6,7 +6,7 @@ #define __ARCH_H8300_ATOMIC__
* resource counting etc..
*/

-typedef struct { int counter; } atomic_t;
+typedef struct { volatile int counter; } atomic_t;
#define ATOMIC_INIT(i) { (i) }

#define atomic_read(v) ((v)->counter)
diff --git a/include/asm-m68k/atomic.h b/include/asm-m68k/atomic.h
index d5eed64..4a8c625 100644
--- a/include/asm-m68k/atomic.h
+++ b/include/asm-m68k/atomic.h
@@ -13,7 +13,7 @@ #include <asm/system.h> /* local_irq_XXX
* We do not have SMP m68k systems, so we don't have to deal with that.
*/

-typedef struct { int counter; } atomic_t;
+typedef struct { volatile int counter; } atomic_t;
#define ATOMIC_INIT(i) { (i) }

#define atomic_read(v) ((v)->counter)
diff --git a/include/asm-m68knommu/atomic.h b/include/asm-m68knommu/atomic.h
index 6c4e4b6..c77e601 100644
--- a/include/asm-m68knommu/atomic.h
+++ b/include/asm-m68knommu/atomic.h
@@ -12,7 +12,7 @@ #include <asm/system.h> /* local_irq_XXX
* We do not have SMP m68k systems, so we don't have to deal with that.
*/

-typedef struct { int counter; } atomic_t;
+typedef struct { volatile int counter; } atomic_t;
#define ATOMIC_INIT(i) { (i) }

#define atomic_read(v) ((v)->counter)
diff --git a/include/asm-v850/atomic.h b/include/asm-v850/atomic.h
index e4e57de..527480e 100644
--- a/include/asm-v850/atomic.h
+++ b/include/asm-v850/atomic.h
@@ -21,7 +21,7 @@ #ifdef CONFIG_SMP
#error SMP not supported
#endif

-typedef struct { int counter; } atomic_t;
+typedef struct { volatile int counter; } atomic_t;

#define ATOMIC_INIT(i) { (i) }

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/