+++ /dev/null
-#ifndef _ASM_POWERPC_ASM_405_H
-#define _ASM_POWERPC_ASM_405_H
-
-#include <asm/asm-const.h>
-
-#ifdef __KERNEL__
-#ifdef CONFIG_IBM405_ERR77
-/* Erratum #77 on the 405 means we need a sync or dcbt before every
- * stwcx.  The old ATOMIC_SYNC_FIX covered some but not all of this.
- */
-#define PPC405_ERR77(ra,rb)    stringify_in_c(dcbt     ra, rb;)
-#define        PPC405_ERR77_SYNC       stringify_in_c(sync;)
-#else
-#define PPC405_ERR77(ra,rb)
-#define PPC405_ERR77_SYNC
-#endif
-#endif
-
-#endif /* _ASM_POWERPC_ASM_405_H */
 
 #include <linux/types.h>
 #include <asm/cmpxchg.h>
 #include <asm/barrier.h>
-#include <asm/asm-405.h>
 
 #define ATOMIC_INIT(i)         { (i) }
 
        __asm__ __volatile__(                                           \
 "1:    lwarx   %0,0,%3         # atomic_" #op "\n"                     \
        #asm_op " %0,%2,%0\n"                                           \
-       PPC405_ERR77(0,%3)                                              \
 "      stwcx.  %0,0,%3 \n"                                             \
 "      bne-    1b\n"                                                   \
        : "=&r" (t), "+m" (v->counter)                                  \
        __asm__ __volatile__(                                           \
 "1:    lwarx   %0,0,%3         # atomic_" #op "_return_relaxed\n"      \
        #asm_op " %0,%2,%0\n"                                           \
-       PPC405_ERR77(0, %3)                                             \
 "      stwcx.  %0,0,%3\n"                                              \
 "      bne-    1b\n"                                                   \
        : "=&r" (t), "+m" (v->counter)                                  \
        __asm__ __volatile__(                                           \
 "1:    lwarx   %0,0,%4         # atomic_fetch_" #op "_relaxed\n"       \
        #asm_op " %1,%3,%0\n"                                           \
-       PPC405_ERR77(0, %4)                                             \
 "      stwcx.  %1,0,%4\n"                                              \
 "      bne-    1b\n"                                                   \
        : "=&r" (res), "=&r" (t), "+m" (v->counter)                     \
        __asm__ __volatile__(
 "1:    lwarx   %0,0,%2         # atomic_inc\n\
        addic   %0,%0,1\n"
-       PPC405_ERR77(0,%2)
 "      stwcx.  %0,0,%2 \n\
        bne-    1b"
        : "=&r" (t), "+m" (v->counter)
        __asm__ __volatile__(
 "1:    lwarx   %0,0,%2         # atomic_inc_return_relaxed\n"
 "      addic   %0,%0,1\n"
-       PPC405_ERR77(0, %2)
 "      stwcx.  %0,0,%2\n"
 "      bne-    1b"
        : "=&r" (t), "+m" (v->counter)
        __asm__ __volatile__(
 "1:    lwarx   %0,0,%2         # atomic_dec\n\
        addic   %0,%0,-1\n"
-       PPC405_ERR77(0,%2)\
 "      stwcx.  %0,0,%2\n\
        bne-    1b"
        : "=&r" (t), "+m" (v->counter)
        __asm__ __volatile__(
 "1:    lwarx   %0,0,%2         # atomic_dec_return_relaxed\n"
 "      addic   %0,%0,-1\n"
-       PPC405_ERR77(0, %2)
 "      stwcx.  %0,0,%2\n"
 "      bne-    1b"
        : "=&r" (t), "+m" (v->counter)
        cmpw    0,%0,%3 \n\
        beq     2f \n\
        add     %0,%2,%0 \n"
-       PPC405_ERR77(0,%2)
 "      stwcx.  %0,0,%1 \n\
        bne-    1b \n"
        PPC_ATOMIC_EXIT_BARRIER
        cmpwi   0,%0,0\n\
        beq-    2f\n\
        addic   %1,%0,1\n"
-       PPC405_ERR77(0,%2)
 "      stwcx.  %1,0,%2\n\
        bne-    1b\n"
        PPC_ATOMIC_EXIT_BARRIER
        cmpwi   %0,1\n\
        addi    %0,%0,-1\n\
        blt-    2f\n"
-       PPC405_ERR77(0,%1)
 "      stwcx.  %0,0,%1\n\
        bne-    1b"
        PPC_ATOMIC_EXIT_BARRIER
 
 #include <linux/compiler.h>
 #include <asm/asm-compat.h>
 #include <asm/synch.h>
-#include <asm/asm-405.h>
 
 /* PPC bit number conversion */
 #define PPC_BITLSHIFT(be)      (BITS_PER_LONG - 1 - (be))
        prefix                                  \
 "1:"   PPC_LLARX(%0,0,%3,0) "\n"               \
        stringify_in_c(op) "%0,%0,%2\n"         \
-       PPC405_ERR77(0,%3)                      \
        PPC_STLCX "%0,0,%3\n"                   \
        "bne- 1b\n"                             \
        : "=&r" (old), "+m" (*p)                \
        prefix                                          \
 "1:"   PPC_LLARX(%0,0,%3,eh) "\n"                      \
        stringify_in_c(op) "%1,%0,%2\n"                 \
-       PPC405_ERR77(0,%3)                              \
        PPC_STLCX "%1,0,%3\n"                           \
        "bne- 1b\n"                                     \
        postfix                                         \
        PPC_RELEASE_BARRIER
 "1:"   PPC_LLARX(%0,0,%3,0) "\n"
        "andc %1,%0,%2\n"
-       PPC405_ERR77(0,%3)
        PPC_STLCX "%1,0,%3\n"
        "bne- 1b\n"
        : "=&r" (old), "=&r" (t)
 
 #include <linux/compiler.h>
 #include <asm/synch.h>
 #include <linux/bug.h>
-#include <asm/asm-405.h>
 
 #ifdef __BIG_ENDIAN
 #define BITOFF_CAL(size, off)  ((sizeof(u32) - size - off) * BITS_PER_BYTE)
 "1:    lwarx   %0,0,%3\n"                                      \
 "      andc    %1,%0,%5\n"                                     \
 "      or      %1,%1,%4\n"                                     \
-       PPC405_ERR77(0,%3)                                      \
 "      stwcx.  %1,0,%3\n"                                      \
 "      bne-    1b\n"                                           \
        : "=&r" (prev), "=&r" (tmp), "+m" (*(u32*)p)            \
 "      bne-    2f\n"                                           \
 "      andc    %1,%0,%6\n"                                     \
 "      or      %1,%1,%5\n"                                     \
-       PPC405_ERR77(0,%3)                                      \
 "      stwcx.  %1,0,%3\n"                                      \
 "      bne-    1b\n"                                           \
        br2                                                     \
 
        __asm__ __volatile__(
 "1:    lwarx   %0,0,%2 \n"
-       PPC405_ERR77(0,%2)
 "      stwcx.  %3,0,%2 \n\
        bne-    1b"
        : "=&r" (prev), "+m" (*(volatile unsigned int *)p)
 
        __asm__ __volatile__(
 "1:    lwarx   %0,0,%2\n"
-       PPC405_ERR77(0, %2)
 "      stwcx.  %3,0,%2\n"
 "      bne-    1b"
        : "=&r" (prev), "+m" (*p)
 
        __asm__ __volatile__(
 "1:    ldarx   %0,0,%2 \n"
-       PPC405_ERR77(0,%2)
 "      stdcx.  %3,0,%2 \n\
        bne-    1b"
        : "=&r" (prev), "+m" (*(volatile unsigned long *)p)
 
        __asm__ __volatile__(
 "1:    ldarx   %0,0,%2\n"
-       PPC405_ERR77(0, %2)
 "      stdcx.  %3,0,%2\n"
 "      bne-    1b"
        : "=&r" (prev), "+m" (*p)
 "1:    lwarx   %0,0,%2         # __cmpxchg_u32\n\
        cmpw    0,%0,%3\n\
        bne-    2f\n"
-       PPC405_ERR77(0,%2)
 "      stwcx.  %4,0,%2\n\
        bne-    1b"
        PPC_ATOMIC_EXIT_BARRIER
 "1:    lwarx   %0,0,%2         # __cmpxchg_u32\n\
        cmpw    0,%0,%3\n\
        bne-    2f\n"
-       PPC405_ERR77(0,%2)
 "      stwcx.  %4,0,%2\n\
        bne-    1b"
        "\n\
 "1:    lwarx   %0,0,%2         # __cmpxchg_u32_relaxed\n"
 "      cmpw    0,%0,%3\n"
 "      bne-    2f\n"
-       PPC405_ERR77(0, %2)
 "      stwcx.  %4,0,%2\n"
 "      bne-    1b\n"
 "2:"
 "1:    lwarx   %0,0,%2         # __cmpxchg_u32_acquire\n"
 "      cmpw    0,%0,%3\n"
 "      bne-    2f\n"
-       PPC405_ERR77(0, %2)
 "      stwcx.  %4,0,%2\n"
 "      bne-    1b\n"
        PPC_ACQUIRE_BARRIER
 
 #include <linux/uaccess.h>
 #include <asm/errno.h>
 #include <asm/synch.h>
-#include <asm/asm-405.h>
 
 #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \
   __asm__ __volatile ( \
        PPC_ATOMIC_ENTRY_BARRIER \
 "1:    lwarx   %0,0,%2\n" \
        insn \
-       PPC405_ERR77(0, %2) \
 "2:    stwcx.  %1,0,%2\n" \
        "bne-   1b\n" \
        PPC_ATOMIC_EXIT_BARRIER \
 "1:     lwarx   %1,0,%3         # futex_atomic_cmpxchg_inatomic\n\
         cmpw    0,%1,%4\n\
         bne-    3f\n"
-        PPC405_ERR77(0,%3)
 "2:     stwcx.  %5,0,%3\n\
         bne-    1b\n"
         PPC_ATOMIC_EXIT_BARRIER
 
 #include <linux/sched.h>
 #include <linux/threads.h>
 #include <asm/mmu.h>                   /* For sub-arch specific PPC_PIN_SIZE */
-#include <asm/asm-405.h>
 
 #ifdef CONFIG_44x
 extern int icache_44x_need_flush;
 
 #endif
 #include <asm/synch.h>
 #include <asm/ppc-opcode.h>
-#include <asm/asm-405.h>
 
 #ifdef CONFIG_PPC64
 /* use 0x800000yy when locked, where yy == CPU number */
        __DO_SIGN_EXTEND
 "      addic.          %0,%0,1\n\
        ble-            2f\n"
-       PPC405_ERR77(0,%1)
 "      stwcx.          %0,0,%1\n\
        bne-            1b\n"
        PPC_ACQUIRE_BARRIER
 "1:    " PPC_LWARX(%0,0,%2,1) "\n\
        cmpwi           0,%0,0\n\
        bne-            2f\n"
-       PPC405_ERR77(0,%1)
 "      stwcx.          %1,0,%2\n\
        bne-            1b\n"
        PPC_ACQUIRE_BARRIER
        PPC_RELEASE_BARRIER
 "1:    lwarx           %0,0,%1\n\
        addic           %0,%0,-1\n"
-       PPC405_ERR77(0,%1)
 "      stwcx.          %0,0,%1\n\
        bne-            1b"
        : "=&r"(tmp)
 
 #include <asm/unistd.h>
 #include <asm/ptrace.h>
 #include <asm/export.h>
-#include <asm/asm-405.h>
 #include <asm/feature-fixups.h>
 #include <asm/barrier.h>
 #include <asm/kup.h>
        addi    r12,r2,TI_FLAGS
 3:     lwarx   r8,0,r12
        andc    r8,r8,r11
-#ifdef CONFIG_IBM405_ERR77
-       dcbt    0,r12
-#endif
        stwcx.  r8,0,r12
        bne-    3b
        
        addi    r5,r2,TI_FLAGS
 0:     lwarx   r8,0,r5
        andc    r8,r8,r11
-#ifdef CONFIG_IBM405_ERR77
-       dcbt    0,r5
-#endif
        stwcx.  r8,0,r5
        bne-    0b
 1:
        mtspr   SPRN_XER,r10
        mtctr   r11
 
-       PPC405_ERR77(0,r1)
 BEGIN_FTR_SECTION
        lwarx   r11,0,r1
 END_FTR_SECTION_IFSET(CPU_FTR_NEED_PAIRED_STWCX)
        lwz     r1,GPR1(r1)
        .globl exc_exit_restart_end
 exc_exit_restart_end:
-       PPC405_ERR77_SYNC
        rfi
        b       .                       /* prevent prefetch past rfi */
 
        lwz     r11,_CTR(r1);                                           \
        mtspr   SPRN_XER,r10;                                           \
        mtctr   r11;                                                    \
-       PPC405_ERR77(0,r1);                                             \
        stwcx.  r0,0,r1;                /* to clear the reservation */  \
        lwz     r11,_LINK(r1);                                          \
        mtlr    r11;                                                    \
        lwz     r10,GPR10(r1);                                          \
        lwz     r11,GPR11(r1);                                          \
        lwz     r1,GPR1(r1);                                            \
-       PPC405_ERR77_SYNC;                                              \
        exc_lvl_rfi;                                                    \
        b       .;              /* prevent prefetch past exc_lvl_rfi */
 
 
 #include <asm/asm-offsets.h>
 #include <asm/ptrace.h>
 #include <asm/export.h>
-#include <asm/asm-405.h>
 
 #include "head_32.h"
 
        lwz     r12,GPR12(r11)
        lwz     r10,crit_r10@l(0)
        lwz     r11,crit_r11@l(0)
-       PPC405_ERR77_SYNC
        rfci
        b       .
 
        mfspr   r12, SPRN_SPRG_SCRATCH3
        mfspr   r11, SPRN_SPRG_SCRATCH1
        mfspr   r10, SPRN_SPRG_SCRATCH0
-       PPC405_ERR77_SYNC
        rfi                     /* Should sync shadow TLBs */
        b       .               /* prevent prefetch past rfi */
 
 
        help
          Enable gpiolib support for ppc40x based boards
 
-# 40x errata/workaround config symbols, selected by the CPU models above
-
-# All 405-based cores up until the 405GPR and 405EP have this errata.
-config IBM405_ERR77
-       bool
-
 config APM8018X
        bool "APM8018X"
        depends on 40x