| Subject: | [PATCH] Bring SMTC up to date on set/clear/change_c0_## return value semantics |
|---|---|
| From: | Kevin D. Kissell <kevink@paralogos.com> |
| Date: | Tue, 31 Mar 2009 12:42:12 +0200 |
Signed-off-by: Kevin D. Kissell <kevink@paralogos.com>
---
arch/mips/include/asm/mipsregs.h | 19 +++++++++++--------
1 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/arch/mips/include/asm/mipsregs.h b/arch/mips/include/asm/mipsregs.h
index 526f327..1f79877 100644
--- a/arch/mips/include/asm/mipsregs.h
+++ b/arch/mips/include/asm/mipsregs.h
@@ -1484,14 +1484,15 @@ static inline unsigned int
\
set_c0_##name(unsigned int set) \
{ \
unsigned int res; \
+ unsigned int new; \
unsigned int omt; \
unsigned long flags; \
\
local_irq_save(flags); \
omt = __dmt(); \
res = read_c0_##name(); \
- res |= set; \
- write_c0_##name(res); \
+ new = res | set; \
+ write_c0_##name(new); \
__emt(omt); \
local_irq_restore(flags); \
\
@@ -1502,14 +1503,15 @@ static inline unsigned int
\
clear_c0_##name(unsigned int clear) \
{ \
unsigned int res; \
+ unsigned int new; \
unsigned int omt; \
unsigned long flags; \
\
local_irq_save(flags); \
omt = __dmt(); \
res = read_c0_##name(); \
- res &= ~clear; \
- write_c0_##name(res); \
+ new = res & ~clear; \
+ write_c0_##name(new); \
__emt(omt); \
local_irq_restore(flags); \
\
@@ -1517,9 +1519,10 @@ clear_c0_##name(unsigned int clear)
\
} \
\
static inline unsigned int \
-change_c0_##name(unsigned int change, unsigned int new) \
+change_c0_##name(unsigned int change, unsigned int newbits) \
{ \
unsigned int res; \
+ unsigned int new; \
unsigned int omt; \
unsigned long flags; \
\
@@ -1527,9 +1530,9 @@ change_c0_##name(unsigned int change, unsigned int new)
\
\
omt = __dmt(); \
res = read_c0_##name(); \
- res &= ~change; \
- res |= (new & change); \
- write_c0_##name(res); \
+ new = res & ~change; \
+ new |= (newbits & change); \
+ write_c0_##name(new); \
__emt(omt); \
local_irq_restore(flags); \
\
--
1.5.3.3
--------------070001080009090005070202--
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH] linux-next remove wmb() from ide-dma-sff.c and scc_pata.c, KOBAYASHI Yoshitake |
|---|---|
| Next by Date: | [PATCH] Fix xxx_clockevent_init() naming conflict for SMTC, Kevin D . Kissell |
| Previous by Thread: | Re: [PATCH] linux-next remove wmb() from ide-dma-sff.c and scc_pata.c, Geert Uytterhoeven |
| Next by Thread: | [PATCH] Fix xxx_clockevent_init() naming conflict for SMTC, Kevin D . Kissell |
| Indexes: | [Date] [Thread] [Top] [All Lists] |