[IDE] remove dead and broken DISK_RECOVERY_TIME support It was also removed in 2.4.23. drivers/ide/ide-io.c | 37 ------------------------------------- include/linux/ide.h | 7 ------- 2 files changed, 44 deletions(-) diff -puN drivers/ide/ide-io.c~ide-recovery-timer drivers/ide/ide-io.c --- linux-2.6.0-test11/drivers/ide/ide-io.c~ide-recovery-timer 2003-12-06 17:01:32.300652688 +0100 +++ linux-2.6.0-test11-root/drivers/ide/ide-io.c 2003-12-06 17:04:53.222107984 +0100 @@ -54,37 +54,6 @@ #include #include -#if (DISK_RECOVERY_TIME > 0) - -#error So the User Has To Fix the Compilation And Stop Hacking Port 0x43. Does anyone ever use this anyway ?? - -/* - * For really screwy hardware (hey, at least it *can* be used with Linux) - * we can enforce a minimum delay time between successive operations. - */ -static unsigned long read_timer (ide_hwif_t *hwif) -{ - unsigned long t, flags; - int i; - - /* FIXME this is completely unsafe! */ - local_irq_save(flags); - t = jiffies * 11932; - outb_p(0, 0x43); - i = inb_p(0x40); - i |= inb_p(0x40) << 8; - local_irq_restore(flags); - return (t - i); -} -#endif /* DISK_RECOVERY_TIME */ - -static inline void set_recovery_timer (ide_hwif_t *hwif) -{ -#if (DISK_RECOVERY_TIME > 0) - hwif->last_time = read_timer(hwif); -#endif /* DISK_RECOVERY_TIME */ -} - /** * ide_end_request - complete an IDE I/O * @drive: IDE device for the I/O @@ -653,10 +622,6 @@ ide_startstop_t start_request (ide_drive if (block == 0 && drive->remap_0_to_1 == 1) block = 1; /* redirect MBR access to EZ-Drive partn table */ -#if (DISK_RECOVERY_TIME > 0) - while ((read_timer() - HWIF(drive)->last_time) < DISK_RECOVERY_TIME); -#endif - if (blk_pm_suspend_request(rq) && rq->pm->pm_step == ide_pm_state_start_suspend) /* Mark drive blocked when starting the suspend sequence. */ @@ -1116,7 +1081,6 @@ void ide_timer_expiry (unsigned long dat startstop = DRIVER(drive)->error(drive, "irq timeout", hwif->INB(IDE_STATUS_REG)); } - set_recovery_timer(hwif); drive->service_time = jiffies - drive->service_start; spin_lock_irq(&ide_lock); enable_irq(hwif->irq); @@ -1313,7 +1277,6 @@ irqreturn_t ide_intr (int irq, void *dev * same irq as is currently being serviced here, and Linux * won't allow another of the same (on any CPU) until we return. */ - set_recovery_timer(HWIF(drive)); drive->service_time = jiffies - drive->service_start; if (startstop == ide_stopped) { if (hwgroup->handler == NULL) { /* paranoia */ diff -puN include/linux/ide.h~ide-recovery-timer include/linux/ide.h --- linux-2.6.0-test11/include/linux/ide.h~ide-recovery-timer 2003-12-06 17:05:36.305558304 +0100 +++ linux-2.6.0-test11-root/include/linux/ide.h 2003-12-06 17:06:12.958986136 +0100 @@ -51,9 +51,6 @@ #ifndef SUPPORT_VLB_SYNC /* 1 to support weird 32-bit chips */ #define SUPPORT_VLB_SYNC 1 /* 0 to reduce kernel size */ #endif -#ifndef DISK_RECOVERY_TIME /* off=0; on=access_delay_time */ -#define DISK_RECOVERY_TIME 0 /* for hardware that needs it */ -#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 @@ -999,10 +996,6 @@ typedef struct hwif_s { unsigned dma_extra; /* extra addr for dma ports */ unsigned long config_data; /* for use by chipset-specific code */ unsigned long select_data; /* for use by chipset-specific code */ -#if (DISK_RECOVERY_TIME > 0) - unsigned long last_time; /* time when previous rq was done */ -#endif - unsigned noprobe : 1; /* don't probe for this interface */ unsigned present : 1; /* this interface exists */ _