m68knommu: merge system reset for code ColdFire 523x family
[safe/jmp/linux-2.6] / arch / m68k / include / asm / system_no.h
index 5fbc96d..a0a1ae8 100644 (file)
@@ -264,7 +264,7 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
        : /* No output */               \
        : "o" (*(char *)MCF_MBAR) );    \
 })
-#elif defined(CONFIG_M528x) || defined(CONFIG_M527x)
+#elif defined(CONFIG_M523x) || defined(CONFIG_M528x) || defined(CONFIG_M527x)
 /*
  * Most of the newer ColdFire family members have a proper RESET unit.
  * Use the software reset control bit in the Reset Control Register (RCR).
@@ -275,16 +275,7 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
        asm("move.w #0x2700, %sr");                                     \
        reset = ((volatile unsigned char *)(MCF_IPSBAR + 0x110000));    \
        while (1)                                                       \
-               *reset |= (0x01 << 7);                                  \
-})
-#elif defined(CONFIG_M523x)
-#define HARD_RESET_NOW() ({            \
-       asm("                           \
-       movew #0x2700, %sr;             \
-       movel #0x01000000, %sp;         \
-       moveal #0x40110000, %a0;        \
-       moveb #0x80, (%a0);             \
-       ");                             \
+               *reset |= 0x80;                                         \
 })
 #elif defined(CONFIG_M520x)
        /*