mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 23:27:06 +00:00
ide: remove ide_do_drive_cmd()
* Use elv_add_request() instead of __elv_add_request() in ide_do_drive_cmd(). * ide_do_drive_cmd() is used only in ide-{atapi,cd}.c so inline it there. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
65ca537732
commit
1866082339
4 changed files with 7 additions and 32 deletions
|
@ -149,7 +149,10 @@ static void ide_queue_pc_head(ide_drive_t *drive, struct gendisk *disk,
|
||||||
memcpy(rq->cmd, pc->c, 12);
|
memcpy(rq->cmd, pc->c, 12);
|
||||||
if (drive->media == ide_tape)
|
if (drive->media == ide_tape)
|
||||||
rq->cmd[13] = REQ_IDETAPE_PC1;
|
rq->cmd[13] = REQ_IDETAPE_PC1;
|
||||||
ide_do_drive_cmd(drive, rq);
|
|
||||||
|
drive->hwif->rq = NULL;
|
||||||
|
|
||||||
|
elv_add_request(drive->queue, rq, ELEVATOR_INSERT_FRONT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -242,7 +242,9 @@ static void cdrom_queue_request_sense(ide_drive_t *drive, void *sense,
|
||||||
ide_debug_log(IDE_DBG_SENSE, "failed_cmd: 0x%x\n",
|
ide_debug_log(IDE_DBG_SENSE, "failed_cmd: 0x%x\n",
|
||||||
failed_command->cmd[0]);
|
failed_command->cmd[0]);
|
||||||
|
|
||||||
ide_do_drive_cmd(drive, rq);
|
drive->hwif->rq = NULL;
|
||||||
|
|
||||||
|
elv_add_request(drive->queue, rq, ELEVATOR_INSERT_FRONT, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void cdrom_end_request(ide_drive_t *drive, int uptodate)
|
static void cdrom_end_request(ide_drive_t *drive, int uptodate)
|
||||||
|
|
|
@ -1129,34 +1129,6 @@ irqreturn_t ide_intr (int irq, void *dev_id)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(ide_intr);
|
EXPORT_SYMBOL_GPL(ide_intr);
|
||||||
|
|
||||||
/**
|
|
||||||
* ide_do_drive_cmd - issue IDE special command
|
|
||||||
* @drive: device to issue command
|
|
||||||
* @rq: request to issue
|
|
||||||
*
|
|
||||||
* This function issues a special IDE device request
|
|
||||||
* onto the request queue.
|
|
||||||
*
|
|
||||||
* the rq is queued at the head of the request queue, displacing
|
|
||||||
* the currently-being-processed request and this function
|
|
||||||
* returns immediately without waiting for the new rq to be
|
|
||||||
* completed. This is VERY DANGEROUS, and is intended for
|
|
||||||
* careful use by the ATAPI tape/cdrom driver code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
void ide_do_drive_cmd(ide_drive_t *drive, struct request *rq)
|
|
||||||
{
|
|
||||||
struct request_queue *q = drive->queue;
|
|
||||||
unsigned long flags;
|
|
||||||
|
|
||||||
drive->hwif->rq = NULL;
|
|
||||||
|
|
||||||
spin_lock_irqsave(q->queue_lock, flags);
|
|
||||||
__elv_add_request(q, rq, ELEVATOR_INSERT_FRONT, 0);
|
|
||||||
spin_unlock_irqrestore(q->queue_lock, flags);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(ide_do_drive_cmd);
|
|
||||||
|
|
||||||
void ide_pad_transfer(ide_drive_t *drive, int write, int len)
|
void ide_pad_transfer(ide_drive_t *drive, int write, int len)
|
||||||
{
|
{
|
||||||
ide_hwif_t *hwif = drive->hwif;
|
ide_hwif_t *hwif = drive->hwif;
|
||||||
|
|
|
@ -1174,8 +1174,6 @@ extern ide_startstop_t ide_do_reset (ide_drive_t *);
|
||||||
extern int ide_devset_execute(ide_drive_t *drive,
|
extern int ide_devset_execute(ide_drive_t *drive,
|
||||||
const struct ide_devset *setting, int arg);
|
const struct ide_devset *setting, int arg);
|
||||||
|
|
||||||
extern void ide_do_drive_cmd(ide_drive_t *, struct request *);
|
|
||||||
|
|
||||||
extern void ide_end_drive_cmd(ide_drive_t *, u8, u8);
|
extern void ide_end_drive_cmd(ide_drive_t *, u8, u8);
|
||||||
|
|
||||||
void ide_tf_dump(const char *, struct ide_taskfile *);
|
void ide_tf_dump(const char *, struct ide_taskfile *);
|
||||||
|
|
Loading…
Reference in a new issue