m68k/mac: Use '030 reset method on SE/30
authorFinn Thain <fthain@telegraphics.com.au>
Sat, 22 Dec 2018 02:18:01 +0000 (13:18 +1100)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Mon, 21 Jan 2019 09:36:53 +0000 (10:36 +0100)
The comment says that calling the ROM routine doesn't work. But testing
shows that the 68030 fall-back reset method does work, so just use that.

Tested-by: Stan Johnson <userm57@yahoo.com>
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
arch/m68k/mac/misc.c

index 71c4735a31ee0a5f2ef2b25276bdb7284abdbdd0..1423e1fe02618ff32571e50fd9431ea957cf068e 100644 (file)
@@ -410,9 +410,8 @@ void mac_poweroff(void)
 
 void mac_reset(void)
 {
-       if (macintosh_config->adb_type == MAC_ADB_II) {
-               unsigned long flags;
-
+       if (macintosh_config->adb_type == MAC_ADB_II &&
+           macintosh_config->ident != MAC_MODEL_SE30) {
                /* need ROMBASE in booter */
                /* indeed, plus need to MAP THE ROM !! */
 
@@ -422,17 +421,8 @@ void mac_reset(void)
                /* works on some */
                rom_reset = (void *) (mac_bi_data.rombase + 0xa);
 
-               if (macintosh_config->ident == MAC_MODEL_SE30) {
-                       /*
-                        * MSch: Machines known to crash on ROM reset ...
-                        */
-               } else {
-                       local_irq_save(flags);
-
-                       rom_reset();
-
-                       local_irq_restore(flags);
-               }
+               local_irq_disable();
+               rom_reset();
 #ifdef CONFIG_ADB_CUDA
        } else if (macintosh_config->adb_type == MAC_ADB_EGRET ||
                   macintosh_config->adb_type == MAC_ADB_CUDA) {