aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ide/ide-io.c9
-rw-r--r--drivers/ide/ide.c1
-rw-r--r--drivers/ide/pci/hpt366.c10
-rw-r--r--drivers/ide/pci/sgiioc4.c1
-rw-r--r--include/linux/ide.h2
5 files changed, 5 insertions, 18 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
index 6b70ab9566d9..6ee7458d34ed 100644
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -1200,10 +1200,11 @@ static void ide_do_request (ide_hwgroup_t *hwgroup, int masked_irq)
1200 if (hwgroup->hwif->sharing_irq && 1200 if (hwgroup->hwif->sharing_irq &&
1201 hwif != hwgroup->hwif && 1201 hwif != hwgroup->hwif &&
1202 hwif->io_ports[IDE_CONTROL_OFFSET]) { 1202 hwif->io_ports[IDE_CONTROL_OFFSET]) {
1203 /* set nIEN for previous hwif */ 1203 /*
1204 if (hwif->intrproc) 1204 * set nIEN for previous hwif, drives in the
1205 hwif->intrproc(drive); 1205 * quirk_list may not like intr setups/cleanups
1206 else 1206 */
1207 if (drive->quirk_list != 1)
1207 hwif->OUTB(drive->ctl | 2, IDE_CONTROL_REG); 1208 hwif->OUTB(drive->ctl | 2, IDE_CONTROL_REG);
1208 } 1209 }
1209 hwgroup->hwif = hwif; 1210 hwgroup->hwif = hwif;
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index 9ab5458fe950..4acd87e92cca 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -424,7 +424,6 @@ static void ide_hwif_restore(ide_hwif_t *hwif, ide_hwif_t *tmp_hwif)
424 hwif->reset_poll = tmp_hwif->reset_poll; 424 hwif->reset_poll = tmp_hwif->reset_poll;
425 hwif->pre_reset = tmp_hwif->pre_reset; 425 hwif->pre_reset = tmp_hwif->pre_reset;
426 hwif->resetproc = tmp_hwif->resetproc; 426 hwif->resetproc = tmp_hwif->resetproc;
427 hwif->intrproc = tmp_hwif->intrproc;
428 hwif->maskproc = tmp_hwif->maskproc; 427 hwif->maskproc = tmp_hwif->maskproc;
429 hwif->quirkproc = tmp_hwif->quirkproc; 428 hwif->quirkproc = tmp_hwif->quirkproc;
430 hwif->busproc = tmp_hwif->busproc; 429 hwif->busproc = tmp_hwif->busproc;
diff --git a/drivers/ide/pci/hpt366.c b/drivers/ide/pci/hpt366.c
index d3826a66834d..24d645751e0f 100644
--- a/drivers/ide/pci/hpt366.c
+++ b/drivers/ide/pci/hpt366.c
@@ -736,15 +736,6 @@ static int hpt3xx_quirkproc(ide_drive_t *drive)
736 return 0; 736 return 0;
737} 737}
738 738
739static void hpt3xx_intrproc(ide_drive_t *drive)
740{
741 if (drive->quirk_list)
742 return;
743
744 /* drives in the quirk_list may not like intr setups/cleanups */
745 outb(drive->ctl | 2, IDE_CONTROL_REG);
746}
747
748static void hpt3xx_maskproc(ide_drive_t *drive, int mask) 739static void hpt3xx_maskproc(ide_drive_t *drive, int mask)
749{ 740{
750 ide_hwif_t *hwif = HWIF(drive); 741 ide_hwif_t *hwif = HWIF(drive);
@@ -1298,7 +1289,6 @@ static void __devinit init_hwif_hpt366(ide_hwif_t *hwif)
1298 hwif->set_dma_mode = &hpt3xx_set_mode; 1289 hwif->set_dma_mode = &hpt3xx_set_mode;
1299 1290
1300 hwif->quirkproc = &hpt3xx_quirkproc; 1291 hwif->quirkproc = &hpt3xx_quirkproc;
1301 hwif->intrproc = &hpt3xx_intrproc;
1302 hwif->maskproc = &hpt3xx_maskproc; 1292 hwif->maskproc = &hpt3xx_maskproc;
1303 hwif->busproc = &hpt3xx_busproc; 1293 hwif->busproc = &hpt3xx_busproc;
1304 1294
diff --git a/drivers/ide/pci/sgiioc4.c b/drivers/ide/pci/sgiioc4.c
index de820aa58cd0..7e9dade5648d 100644
--- a/drivers/ide/pci/sgiioc4.c
+++ b/drivers/ide/pci/sgiioc4.c
@@ -582,7 +582,6 @@ ide_init_sgiioc4(ide_hwif_t * hwif)
582 hwif->pre_reset = NULL; /* No HBA specific pre_set needed */ 582 hwif->pre_reset = NULL; /* No HBA specific pre_set needed */
583 hwif->resetproc = &sgiioc4_resetproc;/* Reset DMA engine, 583 hwif->resetproc = &sgiioc4_resetproc;/* Reset DMA engine,
584 clear interrupts */ 584 clear interrupts */
585 hwif->intrproc = NULL; /* Enable or Disable interrupt from drive */
586 hwif->maskproc = &sgiioc4_maskproc; /* Mask on/off NIEN register */ 585 hwif->maskproc = &sgiioc4_maskproc; /* Mask on/off NIEN register */
587 hwif->quirkproc = NULL; 586 hwif->quirkproc = NULL;
588 hwif->busproc = NULL; 587 hwif->busproc = NULL;
diff --git a/include/linux/ide.h b/include/linux/ide.h
index e80351878b8b..90f83b65eb8f 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -524,8 +524,6 @@ typedef struct hwif_s {
524 void (*pre_reset)(ide_drive_t *); 524 void (*pre_reset)(ide_drive_t *);
525 /* routine to reset controller after a disk reset */ 525 /* routine to reset controller after a disk reset */
526 void (*resetproc)(ide_drive_t *); 526 void (*resetproc)(ide_drive_t *);
527 /* special interrupt handling for shared pci interrupts */
528 void (*intrproc)(ide_drive_t *);
529 /* special host masking for drive selection */ 527 /* special host masking for drive selection */
530 void (*maskproc)(ide_drive_t *, int); 528 void (*maskproc)(ide_drive_t *, int);
531 /* check host's drive quirk list */ 529 /* check host's drive quirk list */