The patch titled local_t-mips-extension fix has been added to the -mm tree. Its filename is local_t-mips-extension-fix.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: local_t-mips-extension fix From: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx> Correction of MIPS variables and config options. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- include/asm-mips/local.h | 85 ++++++++++++++++++------------------- 1 files changed, 43 insertions(+), 42 deletions(-) diff -puN include/asm-mips/local.h~local_t-mips-extension-fix include/asm-mips/local.h --- a/include/asm-mips/local.h~local_t-mips-extension-fix +++ a/include/asm-mips/local.h @@ -1,8 +1,9 @@ -#ifndef _ARCH_POWERPC_LOCAL_H -#define _ARCH_POWERPC_LOCAL_H +#ifndef _ARCH_MIPS_LOCAL_H +#define _ARCH_MIPSRPC_LOCAL_H #include <linux/percpu.h> #include <asm/atomic.h> +#include <asm/war.h> typedef struct { @@ -20,7 +21,7 @@ typedef struct #define local_dec(l) local_long_dec(&(l)->a) -#ifndef CONFIG_64BITS +#ifndef CONFIG_64BIT /* * Same as above, but return the result value @@ -40,8 +41,8 @@ static __inline__ int local_add_return(i " beqzl %0, 1b \n" " addu %0, %1, %3 \n" " .set mips0 \n" - : "=&r" (result), "=&r" (temp), "=m" (&(l->a.counter)) - : "Ir" (i), "m" (&(l->a.counter)) + : "=&r" (result), "=&r" (temp), "=m" (l->a.counter) + : "Ir" (i), "m" (l->a.counter) : "memory"); } else if (cpu_has_llsc) { unsigned long temp; @@ -54,16 +55,16 @@ static __inline__ int local_add_return(i " beqz %0, 1b \n" " addu %0, %1, %3 \n" " .set mips0 \n" - : "=&r" (result), "=&r" (temp), "=m" (&(l->a.counter)) - : "Ir" (i), "m" (&(l->a.counter)) + : "=&r" (result), "=&r" (temp), "=m" (l->a.counter) + : "Ir" (i), "m" (l->a.counter) : "memory"); } else { unsigned long flags; local_irq_save(flags); - result = &(l->a.counter); + result = l->a.counter; result += i; - &(l->a.counter) = result; + l->a.counter = result; local_irq_restore(flags); } @@ -85,8 +86,8 @@ static __inline__ int local_sub_return(i " beqzl %0, 1b \n" " subu %0, %1, %3 \n" " .set mips0 \n" - : "=&r" (result), "=&r" (temp), "=m" (&(l->a.counter)) - : "Ir" (i), "m" (&(l->a.counter)) + : "=&r" (result), "=&r" (temp), "=m" (l->a.counter) + : "Ir" (i), "m" (l->a.counter) : "memory"); } else if (cpu_has_llsc) { unsigned long temp; @@ -99,16 +100,16 @@ static __inline__ int local_sub_return(i " beqz %0, 1b \n" " subu %0, %1, %3 \n" " .set mips0 \n" - : "=&r" (result), "=&r" (temp), "=m" (&(l->a.counter)) - : "Ir" (i), "m" (&(l->a.counter)) + : "=&r" (result), "=&r" (temp), "=m" (l->a.counter) + : "Ir" (i), "m" (l->a.counter) : "memory"); } else { unsigned long flags; local_irq_save(flags); - result = &(l->a.counter); + result = l->a.counter; result -= i; - &(l->a.counter) = result; + l->a.counter = result; local_irq_restore(flags); } @@ -142,8 +143,8 @@ static __inline__ int local_sub_if_posit " .set reorder \n" "1: \n" " .set mips0 \n" - : "=&r" (result), "=&r" (temp), "=m" (&(l->a.counter)) - : "Ir" (i), "m" (&(l->a.counter)) + : "=&r" (result), "=&r" (temp), "=m" (l->a.counter) + : "Ir" (i), "m" (l->a.counter) : "memory"); } else if (cpu_has_llsc) { unsigned long temp; @@ -160,17 +161,17 @@ static __inline__ int local_sub_if_posit " .set reorder \n" "1: \n" " .set mips0 \n" - : "=&r" (result), "=&r" (temp), "=m" (&(l->a.counter)) - : "Ir" (i), "m" (&(l->a.counter)) + : "=&r" (result), "=&r" (temp), "=m" (l->a.counter) + : "Ir" (i), "m" (l->a.counter) : "memory"); } else { unsigned long flags; local_irq_save(flags); - result = &(l->a.counter); + result = l->a.counter; result -= i; if (result >= 0) - &(l->a.counter) = result; + l->a.counter = result; local_irq_restore(flags); } @@ -251,7 +252,7 @@ static __inline__ int local_sub_if_posit */ #define local_add_negative(i,l) (local_add_return(i, (l)) < 0) -#else /* CONFIG_64BITS */ +#else /* CONFIG_64BIT */ /* * Same as above, but return the result value @@ -271,8 +272,8 @@ static __inline__ long local_add_return( " beqzl %0, 1b \n" " addu %0, %1, %3 \n" " .set mips0 \n" - : "=&r" (result), "=&r" (temp), "=m" (&(l->a.counter)) - : "Ir" (i), "m" (&(l->a.counter)) + : "=&r" (result), "=&r" (temp), "=m" (l->a.counter) + : "Ir" (i), "m" (l->a.counter) : "memory"); } else if (cpu_has_llsc) { unsigned long temp; @@ -285,16 +286,16 @@ static __inline__ long local_add_return( " beqz %0, 1b \n" " addu %0, %1, %3 \n" " .set mips0 \n" - : "=&r" (result), "=&r" (temp), "=m" (&(l->a.counter)) - : "Ir" (i), "m" (&(l->a.counter)) + : "=&r" (result), "=&r" (temp), "=m" (l->a.counter) + : "Ir" (i), "m" (l->a.counter) : "memory"); } else { unsigned long flags; local_irq_save(flags); - result = &(l->a.counter); + result = l->a.counter; result += i; - &(l->a.counter) = result; + l->a.counter = result; local_irq_restore(flags); } @@ -316,8 +317,8 @@ static __inline__ long local_sub_return( " beqzl %0, 1b \n" " subu %0, %1, %3 \n" " .set mips0 \n" - : "=&r" (result), "=&r" (temp), "=m" (&(l->a.counter)) - : "Ir" (i), "m" (&(l->a.counter)) + : "=&r" (result), "=&r" (temp), "=m" (l->a.counter) + : "Ir" (i), "m" (l->a.counter) : "memory"); } else if (cpu_has_llsc) { unsigned long temp; @@ -330,16 +331,16 @@ static __inline__ long local_sub_return( " beqz %0, 1b \n" " subu %0, %1, %3 \n" " .set mips0 \n" - : "=&r" (result), "=&r" (temp), "=m" (&(l->a.counter)) - : "Ir" (i), "m" (&(l->a.counter)) + : "=&r" (result), "=&r" (temp), "=m" (l->a.counter) + : "Ir" (i), "m" (l->a.counter) : "memory"); } else { unsigned long flags; local_irq_save(flags); - result = &(l->a.counter); + result = l->a.counter; result -= i; - &(l->a.counter) = result; + l->a.counter = result; local_irq_restore(flags); } @@ -373,8 +374,8 @@ static __inline__ long local_sub_if_posi " .set reorder \n" "1: \n" " .set mips0 \n" - : "=&r" (result), "=&r" (temp), "=m" (&(l->a.counter)) - : "Ir" (i), "m" (&(l->a.counter)) + : "=&r" (result), "=&r" (temp), "=m" (l->a.counter) + : "Ir" (i), "m" (l->a.counter) : "memory"); } else if (cpu_has_llsc) { unsigned long temp; @@ -391,17 +392,17 @@ static __inline__ long local_sub_if_posi " .set reorder \n" "1: \n" " .set mips0 \n" - : "=&r" (result), "=&r" (temp), "=m" (&(l->a.counter)) - : "Ir" (i), "m" (&(l->a.counter)) + : "=&r" (result), "=&r" (temp), "=m" (l->a.counter) + : "Ir" (i), "m" (l->a.counter) : "memory"); } else { unsigned long flags; local_irq_save(flags); - result = &(l->a.counter); + result = l->a.counter; result -= i; if (result >= 0) - &(l->a.counter) = result; + l->a.counter = result; local_irq_restore(flags); } @@ -483,7 +484,7 @@ static __inline__ long local_sub_if_posi */ #define local_add_negative(i,l) (local_add_return(i, (l)) < 0) -#endif /* !CONFIG_64BITS */ +#endif /* !CONFIG_64BIT */ /* Use these for per-cpu local_t variables: on some archs they are @@ -521,4 +522,4 @@ static __inline__ long local_sub_if_posi #define __cpu_local_add(i, l) cpu_local_add((i), (l)) #define __cpu_local_sub(i, l) cpu_local_sub((i), (l)) -#endif /* _ARCH_POWERPC_LOCAL_H */ +#endif /* _ARCH_MIPS_LOCAL_H */ _ Patches currently in -mm which might be from mathieu.desnoyers@xxxxxxxxxx are relay-add-cpu-hotplug-support.patch local_t-documentation.patch local_t-documentation-fix.patch order-of-lockdep-off-on-in-vprintk-should-be-changed.patch minimize-lockdep_on-off-side-effect.patch atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-alpha.patch atomich-complete-atomic_long-operations-in-asm-generic.patch atomich-complete-atomic_long-operations-in-asm-generic-fix.patch atomich-complete-atomic_long-operations-in-asm-generic-fix-2.patch atomich-i386-type-safety-fix.patch atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-ia64.patch atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-mips.patch atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-parisc.patch atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-powerpc.patch atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-sparc64.patch atomich-add-atomic64-cmpxchg-xchg-and-add_unless-to-x86_64.patch local_t-architecture-independent-extension.patch local_t-alpha-extension.patch local_t-i386-extension.patch local_t-ia64-extension.patch local_t-mips-extension.patch local_t-mips-extension-fix.patch local_t-parisc-cleanup.patch local_t-powerpc-extension.patch local_t-s390-cleanup.patch local_t-sparc64-cleanup.patch local_t-x86_64-extension.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html