diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-07-23 13:55:52 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-07-23 13:55:52 -0400 |
commit | 6e6afb3b7401f0181da74a1add57f126946b43e6 (patch) | |
tree | 2ca80a7fa25a387b5f3d479d9e94b1339ee440ac /drivers/ide/ide-probe.c | |
parent | 1f6d8a0fd8f6cc5ee2219a8cf9b2da16dfd67397 (diff) |
ide: add ->set_irq method
Add ->set_irq method for setting nIEN bit of ATA Device Control
register and use it instead of ide_set_irq().
While at it:
* Use ->set_irq in init_irq() and do_reset1().
* Don't use HWIF() macro in ide_check_pm_state().
There should be no functional changes caused by this patch.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-probe.c')
-rw-r--r-- | drivers/ide/ide-probe.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c index fe14d576ef01..475bd7263184 100644 --- a/drivers/ide/ide-probe.c +++ b/drivers/ide/ide-probe.c | |||
@@ -361,7 +361,7 @@ static int try_to_identify (ide_drive_t *drive, u8 cmd) | |||
361 | autoprobe = 1; | 361 | autoprobe = 1; |
362 | cookie = probe_irq_on(); | 362 | cookie = probe_irq_on(); |
363 | } | 363 | } |
364 | ide_set_irq(drive, autoprobe); | 364 | hwif->set_irq(hwif, autoprobe); |
365 | } | 365 | } |
366 | 366 | ||
367 | retval = actual_try_to_identify(drive, cmd); | 367 | retval = actual_try_to_identify(drive, cmd); |
@@ -369,7 +369,7 @@ static int try_to_identify (ide_drive_t *drive, u8 cmd) | |||
369 | if (autoprobe) { | 369 | if (autoprobe) { |
370 | int irq; | 370 | int irq; |
371 | 371 | ||
372 | ide_set_irq(drive, 0); | 372 | hwif->set_irq(hwif, 0); |
373 | /* clear drive IRQ */ | 373 | /* clear drive IRQ */ |
374 | (void)hwif->read_status(hwif); | 374 | (void)hwif->read_status(hwif); |
375 | udelay(5); | 375 | udelay(5); |
@@ -709,7 +709,7 @@ static int ide_port_wait_ready(ide_hwif_t *hwif) | |||
709 | /* Ignore disks that we will not probe for later. */ | 709 | /* Ignore disks that we will not probe for later. */ |
710 | if (!drive->noprobe || drive->present) { | 710 | if (!drive->noprobe || drive->present) { |
711 | SELECT_DRIVE(drive); | 711 | SELECT_DRIVE(drive); |
712 | ide_set_irq(drive, 1); | 712 | hwif->set_irq(hwif, 1); |
713 | mdelay(2); | 713 | mdelay(2); |
714 | rc = ide_wait_not_busy(hwif, 35000); | 714 | rc = ide_wait_not_busy(hwif, 35000); |
715 | if (rc) | 715 | if (rc) |
@@ -1066,8 +1066,7 @@ static int init_irq (ide_hwif_t *hwif) | |||
1066 | sa = IRQF_SHARED; | 1066 | sa = IRQF_SHARED; |
1067 | 1067 | ||
1068 | if (io_ports->ctl_addr) | 1068 | if (io_ports->ctl_addr) |
1069 | /* clear nIEN */ | 1069 | hwif->set_irq(hwif, 1); |
1070 | hwif->OUTBSYNC(hwif, ATA_DEVCTL_OBS, io_ports->ctl_addr); | ||
1071 | 1070 | ||
1072 | if (request_irq(hwif->irq,&ide_intr,sa,hwif->name,hwgroup)) | 1071 | if (request_irq(hwif->irq,&ide_intr,sa,hwif->name,hwgroup)) |
1073 | goto out_unlink; | 1072 | goto out_unlink; |