diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-01-25 16:17:14 -0500 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-01-25 16:17:14 -0500 |
commit | 7299a3918442dc9a5abb71b9f65b1dd17637c8c0 (patch) | |
tree | 50ace6bed3d1cc73a184270743d5c5d46ab4f2c7 /drivers/ide | |
parent | f919790f8c929ab1b392ad1a0c2e1b53337b5071 (diff) |
ide: remove hwif->intrproc
Given that:
* hpt366.c::hpt3xx_intrproc() is the only user of hwif->intrproc
* hpt366.c::hpt3xx_quirkproc() sets drive->quirk_list to 1 for quirky drives
which is a value unique to hpt366 host driver
we can remove hwif->intproc and just check for drive->quirk_list == 1
in ide_do_request().
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/ide-io.c | 9 | ||||
-rw-r--r-- | drivers/ide/ide.c | 1 | ||||
-rw-r--r-- | drivers/ide/pci/hpt366.c | 10 | ||||
-rw-r--r-- | drivers/ide/pci/sgiioc4.c | 1 |
4 files changed, 5 insertions, 16 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 | ||
739 | static 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 | |||
748 | static void hpt3xx_maskproc(ide_drive_t *drive, int mask) | 739 | static 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; |