diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-10-13 15:39:30 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-10-13 15:39:30 -0400 |
commit | b14c72127fbe8f97e49de7437520175673f7306a (patch) | |
tree | 7cf54dd800cbb004cd44a947f2a4530fe132a26b /drivers/ide/ide-atapi.c | |
parent | 9b5a18e19f8c610c270ee9a0ba03177d737f6aa5 (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.c | 16 |
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); | |||
207 | ide_startstop_t ide_pc_intr(ide_drive_t *drive, struct ide_atapi_pc *pc, | 207 | ide_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 | } |
284 | cmd_finished: | 284 | cmd_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 | } |