Commit 00c45815 authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by Linus Torvalds

[PATCH] remove dead and broken DISK_RECOVERY_TIME support

It was also removed in 2.4.23.
parent 26e36b9c
...@@ -54,37 +54,6 @@ ...@@ -54,37 +54,6 @@
#include <asm/io.h> #include <asm/io.h>
#include <asm/bitops.h> #include <asm/bitops.h>
#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 * ide_end_request - complete an IDE I/O
* @drive: IDE device for the I/O * @drive: IDE device for the I/O
...@@ -653,10 +622,6 @@ ide_startstop_t start_request (ide_drive_t *drive, struct request *rq) ...@@ -653,10 +622,6 @@ ide_startstop_t start_request (ide_drive_t *drive, struct request *rq)
if (block == 0 && drive->remap_0_to_1 == 1) if (block == 0 && drive->remap_0_to_1 == 1)
block = 1; /* redirect MBR access to EZ-Drive partn table */ 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) && if (blk_pm_suspend_request(rq) &&
rq->pm->pm_step == ide_pm_state_start_suspend) rq->pm->pm_step == ide_pm_state_start_suspend)
/* Mark drive blocked when starting the suspend sequence. */ /* Mark drive blocked when starting the suspend sequence. */
...@@ -1116,7 +1081,6 @@ void ide_timer_expiry (unsigned long data) ...@@ -1116,7 +1081,6 @@ void ide_timer_expiry (unsigned long data)
startstop = startstop =
DRIVER(drive)->error(drive, "irq timeout", hwif->INB(IDE_STATUS_REG)); DRIVER(drive)->error(drive, "irq timeout", hwif->INB(IDE_STATUS_REG));
} }
set_recovery_timer(hwif);
drive->service_time = jiffies - drive->service_start; drive->service_time = jiffies - drive->service_start;
spin_lock_irq(&ide_lock); spin_lock_irq(&ide_lock);
enable_irq(hwif->irq); enable_irq(hwif->irq);
...@@ -1313,7 +1277,6 @@ irqreturn_t ide_intr (int irq, void *dev_id, struct pt_regs *regs) ...@@ -1313,7 +1277,6 @@ irqreturn_t ide_intr (int irq, void *dev_id, struct pt_regs *regs)
* same irq as is currently being serviced here, and Linux * same irq as is currently being serviced here, and Linux
* won't allow another of the same (on any CPU) until we return. * 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; drive->service_time = jiffies - drive->service_start;
if (startstop == ide_stopped) { if (startstop == ide_stopped) {
if (hwgroup->handler == NULL) { /* paranoia */ if (hwgroup->handler == NULL) { /* paranoia */
......
...@@ -51,9 +51,6 @@ ...@@ -51,9 +51,6 @@
#ifndef SUPPORT_VLB_SYNC /* 1 to support weird 32-bit chips */ #ifndef SUPPORT_VLB_SYNC /* 1 to support weird 32-bit chips */
#define SUPPORT_VLB_SYNC 1 /* 0 to reduce kernel size */ #define SUPPORT_VLB_SYNC 1 /* 0 to reduce kernel size */
#endif #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 */ #ifndef OK_TO_RESET_CONTROLLER /* 1 needed for good error recovery */
#define OK_TO_RESET_CONTROLLER 1 /* 0 for use with AH2372A/B interface */ #define OK_TO_RESET_CONTROLLER 1 /* 0 for use with AH2372A/B interface */
#endif #endif
...@@ -999,10 +996,6 @@ typedef struct hwif_s { ...@@ -999,10 +996,6 @@ typedef struct hwif_s {
unsigned dma_extra; /* extra addr for dma ports */ unsigned dma_extra; /* extra addr for dma ports */
unsigned long config_data; /* for use by chipset-specific code */ unsigned long config_data; /* for use by chipset-specific code */
unsigned long select_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 noprobe : 1; /* don't probe for this interface */
unsigned present : 1; /* this interface exists */ unsigned present : 1; /* this interface exists */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment