aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-atapi.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-10-13 15:39:30 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-10-13 15:39:30 -0400
commitb14c72127fbe8f97e49de7437520175673f7306a (patch)
tree7cf54dd800cbb004cd44a947f2a4530fe132a26b /drivers/ide/ide-atapi.c
parent9b5a18e19f8c610c270ee9a0ba03177d737f6aa5 (diff)
ide: drop dsc_handle argument from ide_pc_intr()
* Add 'int dsc' argument to ->pc_callback method. * Call ide_tape_handle_dsc() internally in ide_tape_callback() if dsc argument is set and update ide_pc_intr() accordingly. There should be no functional changes caused by this patch. Cc: Borislav Petkov <petkovbb@gmail.com> Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-atapi.c')
-rw-r--r--drivers/ide/ide-atapi.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/ide/ide-atapi.c b/drivers/ide/ide-atapi.c
index 608c5bade929..fb27c94aeb0d 100644
--- a/drivers/ide/ide-atapi.c
+++ b/drivers/ide/ide-atapi.c
@@ -207,7 +207,7 @@ EXPORT_SYMBOL_GPL(ide_set_media_lock);
207ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc, 207ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc,
208 ide_handler_t *handler, unsigned int timeout, ide_expiry_t *expiry, 208 ide_handler_t *handler, unsigned int timeout, ide_expiry_t *expiry,
209 void (*update_buffers)(ide_drive_t *, struct ide_atapi_pc *), 209 void (*update_buffers)(ide_drive_t *, struct ide_atapi_pc *),
210 void (*retry_pc)(ide_drive_t *), void (*dsc_handle)(ide_drive_t *), 210 void (*retry_pc)(ide_drive_t *),
211 int (*io_buffers)(ide_drive_t *, struct ide_atapi_pc *, unsigned, int)) 211 int (*io_buffers)(ide_drive_t *, struct ide_atapi_pc *, unsigned, int))
212{ 212{
213 ide_hwif_t *hwif = drive->hwif; 213 ide_hwif_t *hwif = drive->hwif;
@@ -216,12 +216,12 @@ ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc,
216 xfer_func_t *xferfunc; 216 xfer_func_t *xferfunc;
217 unsigned int temp; 217 unsigned int temp;
218 u16 bcount; 218 u16 bcount;
219 u8 stat, ireason, scsi = drive->scsi; 219 u8 stat, ireason, scsi = drive->scsi, dsc = 0;
220 220
221 debug_log("Enter %s - interrupt handler\n", __func__); 221 debug_log("Enter %s - interrupt handler\n", __func__);
222 222
223 if (pc->flags & PC_FLAG_TIMEDOUT) { 223 if (pc->flags & PC_FLAG_TIMEDOUT) {
224 drive->pc_callback(drive); 224 drive->pc_callback(drive, 0);
225 return ide_stopped; 225 return ide_stopped;
226 } 226 }
227 227
@@ -283,14 +283,12 @@ ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc,
283 } 283 }
284cmd_finished: 284cmd_finished:
285 pc->error = 0; 285 pc->error = 0;
286 if ((pc->flags & PC_FLAG_WAIT_FOR_DSC) && 286
287 (stat & ATA_DSC) == 0) { 287 if ((pc->flags & PC_FLAG_WAIT_FOR_DSC) && (stat & ATA_DSC) == 0)
288 dsc_handle(drive); 288 dsc = 1;
289 return ide_stopped;
290 }
291 289
292 /* Command finished - Call the callback function */ 290 /* Command finished - Call the callback function */
293 drive->pc_callback(drive); 291 drive->pc_callback(drive, dsc);
294 292
295 return ide_stopped; 293 return ide_stopped;
296 } 294 }