diff options
Diffstat (limited to 'drivers/ide/ide-atapi.c')
-rw-r--r-- | drivers/ide/ide-atapi.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/ide/ide-atapi.c b/drivers/ide/ide-atapi.c index f46bc5124e00..b558663418d8 100644 --- a/drivers/ide/ide-atapi.c +++ b/drivers/ide/ide-atapi.c | |||
@@ -246,7 +246,12 @@ int ide_scsi_expiry(ide_drive_t *drive) | |||
246 | } | 246 | } |
247 | EXPORT_SYMBOL_GPL(ide_scsi_expiry); | 247 | EXPORT_SYMBOL_GPL(ide_scsi_expiry); |
248 | 248 | ||
249 | ide_startstop_t ide_pc_intr(ide_drive_t *drive, ide_handler_t *handler) | 249 | /* |
250 | * This is the usual interrupt handler which will be called during a packet | ||
251 | * command. We will transfer some of the data (as requested by the drive) | ||
252 | * and will re-point interrupt handler to us. | ||
253 | */ | ||
254 | static ide_startstop_t ide_pc_intr(ide_drive_t *drive) | ||
250 | { | 255 | { |
251 | struct ide_atapi_pc *pc = drive->pc; | 256 | struct ide_atapi_pc *pc = drive->pc; |
252 | ide_hwif_t *hwif = drive->hwif; | 257 | ide_hwif_t *hwif = drive->hwif; |
@@ -425,10 +430,9 @@ cmd_finished: | |||
425 | rq->cmd[0], bcount); | 430 | rq->cmd[0], bcount); |
426 | next_irq: | 431 | next_irq: |
427 | /* And set the interrupt handler again */ | 432 | /* And set the interrupt handler again */ |
428 | ide_set_handler(drive, handler, timeout, expiry); | 433 | ide_set_handler(drive, ide_pc_intr, timeout, expiry); |
429 | return ide_started; | 434 | return ide_started; |
430 | } | 435 | } |
431 | EXPORT_SYMBOL_GPL(ide_pc_intr); | ||
432 | 436 | ||
433 | static u8 ide_read_ireason(ide_drive_t *drive) | 437 | static u8 ide_read_ireason(ide_drive_t *drive) |
434 | { | 438 | { |
@@ -464,8 +468,7 @@ static u8 ide_wait_ireason(ide_drive_t *drive, u8 ireason) | |||
464 | return ireason; | 468 | return ireason; |
465 | } | 469 | } |
466 | 470 | ||
467 | ide_startstop_t ide_transfer_pc(ide_drive_t *drive, | 471 | ide_startstop_t ide_transfer_pc(ide_drive_t *drive, unsigned int timeout, |
468 | ide_handler_t *handler, unsigned int timeout, | ||
469 | ide_expiry_t *expiry) | 472 | ide_expiry_t *expiry) |
470 | { | 473 | { |
471 | struct ide_atapi_pc *pc = drive->pc; | 474 | struct ide_atapi_pc *pc = drive->pc; |
@@ -491,7 +494,7 @@ ide_startstop_t ide_transfer_pc(ide_drive_t *drive, | |||
491 | } | 494 | } |
492 | 495 | ||
493 | /* Set the interrupt routine */ | 496 | /* Set the interrupt routine */ |
494 | ide_set_handler(drive, handler, timeout, expiry); | 497 | ide_set_handler(drive, ide_pc_intr, timeout, expiry); |
495 | 498 | ||
496 | /* Begin DMA, if necessary */ | 499 | /* Begin DMA, if necessary */ |
497 | if (pc->flags & PC_FLAG_DMA_OK) { | 500 | if (pc->flags & PC_FLAG_DMA_OK) { |