*/
                        spin_unlock(&ide_lock);
                        hwif  = HWIF(drive);
-#if DISABLE_IRQ_NOSYNC
-                       disable_irq_nosync(hwif->irq);
-#else
                        /* disable_irq_nosync ?? */
                        disable_irq(hwif->irq);
-#endif /* DISABLE_IRQ_NOSYNC */
                        /* local CPU only,
                         * as if we were handling an interrupt */
                        local_irq_disable();
 
        drive->special.all = 0;
        drive->special.b.set_geometry = legacy;
        drive->special.b.recalibrate  = legacy;
-       if (OK_TO_RESET_CONTROLLER)
-               drive->mult_count = 0;
+       drive->mult_count = 0;
        if (!drive->keep_settings && !drive->using_dma)
                drive->mult_req = 0;
        if (drive->mult_req != drive->mult_count)
        for (unit = 0; unit < MAX_DRIVES; ++unit)
                pre_reset(&hwif->drives[unit]);
 
-#if OK_TO_RESET_CONTROLLER
        if (!IDE_CONTROL_REG) {
                spin_unlock_irqrestore(&ide_lock, flags);
                return ide_stopped;
         * state when the disks are reset this way. At least, the Winbond
         * 553 documentation says that
         */
-       if (hwif->resetproc != NULL) {
+       if (hwif->resetproc)
                hwif->resetproc(drive);
-       }
-       
-#endif /* OK_TO_RESET_CONTROLLER */
 
        spin_unlock_irqrestore(&ide_lock, flags);
        return ide_started;
 
 #ifdef CONFIG_IDEDISK_MULTI_MODE
                id->multsect = ((id->max_multsect/2) > 1) ? id->max_multsect : 0;
                id->multsect_valid = id->multsect ? 1 : 0;
-               drive->mult_req = id->multsect_valid ? id->max_multsect : INITIAL_MULT_COUNT;
+               drive->mult_req = id->multsect_valid ? id->max_multsect : 0;
                drive->special.b.set_multmode = drive->mult_req ? 1 : 0;
 #else  /* original, pre IDE-NFG, per request of AC */
-               drive->mult_req = INITIAL_MULT_COUNT;
+               drive->mult_req = 0;
                if (drive->mult_req > id->max_multsect)
                        drive->mult_req = id->max_multsect;
                if (drive->mult_req || ((id->multsect_valid & 1) && id->multsect))
 
        }
 }
 
-/* some configuration options we don't need */
-
-#undef SUPPORT_VLB_SYNC
-#define SUPPORT_VLB_SYNC 0
-
 #endif /* __KERNEL__ */
 
 #endif /* __ASMCRIS_IDE_H */
 
        return REG_TYPE_CONV(unsigned long, reg_ata_rw_ctrl2, ctrl2);
 }
 
-/* some configuration options we don't need */
-
-#undef SUPPORT_VLB_SYNC
-#define SUPPORT_VLB_SYNC 0
-
 #define IDE_ARCH_ACK_INTR
 #define ide_ack_intr(hwif)     ((hwif)->ack_intr(hwif))
 
 
 #include <asm/io.h>
 #include <asm/irq.h>
 
-#undef SUPPORT_SLOW_DATA_PORTS
-#define SUPPORT_SLOW_DATA_PORTS 0
-
-#undef SUPPORT_VLB_SYNC
-#define SUPPORT_VLB_SYNC 0
-
 #ifndef MAX_HWIFS
 #define MAX_HWIFS 8
 #endif
 
 
 extern struct ide_machdep_calls ppc_ide_md;
 
-#undef SUPPORT_SLOW_DATA_PORTS
-#define        SUPPORT_SLOW_DATA_PORTS 0
-
 #define IDE_ARCH_OBSOLETE_DEFAULTS
 
 static __inline__ int ide_default_irq(unsigned long base)
 
 #include <asm/semaphore.h>
 #include <asm/mutex.h>
 
-/******************************************************************************
- * IDE driver configuration options (play with these as desired):
- *
- * REALLY_SLOW_IO can be defined in ide.c and ide-cd.c, if necessary
- */
-#define INITIAL_MULT_COUNT     0       /* off=0; on=2,4,8,16,32, etc.. */
-
-#ifndef SUPPORT_SLOW_DATA_PORTS                /* 1 to support slow data ports */
-#define SUPPORT_SLOW_DATA_PORTS        1       /* 0 to reduce kernel size */
-#endif
-#ifndef SUPPORT_VLB_SYNC               /* 1 to support weird 32-bit chips */
-#define SUPPORT_VLB_SYNC       1       /* 0 to reduce kernel size */
-#endif
-#ifndef OK_TO_RESET_CONTROLLER         /* 1 needed for good error recovery */
-#define OK_TO_RESET_CONTROLLER 1       /* 0 for use with AH2372A/B interface */
-#endif
-
-#ifndef DISABLE_IRQ_NOSYNC
-#define DISABLE_IRQ_NOSYNC     0
+#if defined(CRIS) || defined(FRV)
+# define SUPPORT_VLB_SYNC 0
+#else
+# define SUPPORT_VLB_SYNC 1
 #endif
 
 /*
  
 #define IDE_NO_IRQ             (-1)
 
-/*
- *  "No user-serviceable parts" beyond this point  :)
- *****************************************************************************/
-
 typedef unsigned char  byte;   /* used everywhere */
 
 /*