Commit 1bb40589 authored by Finn Thain's avatar Finn Thain Committed by Martin K. Petersen

ncr5380: Drop DEF_SCSI_QCMD macro

Remove the DEF_SCSI_QCMD macro (already removed from atari_NCR5380.c). The
lock provided by DEF_SCSI_QCMD is only needed for queue data structures.
Signed-off-by: default avatarFinn Thain <fthain@telegraphics.com.au>
Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
Tested-by: default avatarOndrej Zary <linux@rainbow-software.org>
Tested-by: default avatarMichael Schmitz <schmitzmic@gmail.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 9dafbd93
...@@ -808,22 +808,21 @@ static void NCR5380_exit(struct Scsi_Host *instance) ...@@ -808,22 +808,21 @@ static void NCR5380_exit(struct Scsi_Host *instance)
} }
/** /**
* NCR5380_queue_command - queue a command * NCR5380_queue_command - queue a command
* @cmd: SCSI command * @instance: the relevant SCSI adapter
* @done: completion handler * @cmd: SCSI command
* *
* cmd is added to the per instance issue_queue, with minor * cmd is added to the per-instance issue queue, with minor
* twiddling done to the host specific fields of cmd. If the * twiddling done to the host specific fields of cmd. If the
* main coroutine is not running, it is restarted. * main coroutine is not running, it is restarted.
*
* Locks: host lock taken by caller
*/ */
static int NCR5380_queue_command_lck(struct scsi_cmnd *cmd, void (*done) (struct scsi_cmnd *)) static int NCR5380_queue_command(struct Scsi_Host *instance,
struct scsi_cmnd *cmd)
{ {
struct Scsi_Host *instance = cmd->device->host; struct NCR5380_hostdata *hostdata = shost_priv(instance);
struct NCR5380_hostdata *hostdata = (struct NCR5380_hostdata *) instance->hostdata;
struct scsi_cmnd *tmp; struct scsi_cmnd *tmp;
unsigned long flags;
#if (NDEBUG & NDEBUG_NO_WRITE) #if (NDEBUG & NDEBUG_NO_WRITE)
switch (cmd->cmnd[0]) { switch (cmd->cmnd[0]) {
...@@ -831,7 +830,7 @@ static int NCR5380_queue_command_lck(struct scsi_cmnd *cmd, void (*done) (struct ...@@ -831,7 +830,7 @@ static int NCR5380_queue_command_lck(struct scsi_cmnd *cmd, void (*done) (struct
case WRITE_10: case WRITE_10:
printk("scsi%d : WRITE attempted with NO_WRITE debugging flag set\n", instance->host_no); printk("scsi%d : WRITE attempted with NO_WRITE debugging flag set\n", instance->host_no);
cmd->result = (DID_ERROR << 16); cmd->result = (DID_ERROR << 16);
done(cmd); cmd->scsi_done(cmd);
return 0; return 0;
} }
#endif /* (NDEBUG & NDEBUG_NO_WRITE) */ #endif /* (NDEBUG & NDEBUG_NO_WRITE) */
...@@ -842,9 +841,10 @@ static int NCR5380_queue_command_lck(struct scsi_cmnd *cmd, void (*done) (struct ...@@ -842,9 +841,10 @@ static int NCR5380_queue_command_lck(struct scsi_cmnd *cmd, void (*done) (struct
*/ */
cmd->host_scribble = NULL; cmd->host_scribble = NULL;
cmd->scsi_done = done;
cmd->result = 0; cmd->result = 0;
spin_lock_irqsave(instance->host_lock, flags);
/* /*
* Insert the cmd into the issue queue. Note that REQUEST SENSE * Insert the cmd into the issue queue. Note that REQUEST SENSE
* commands are added to the head of the queue since any command will * commands are added to the head of the queue since any command will
...@@ -861,6 +861,8 @@ static int NCR5380_queue_command_lck(struct scsi_cmnd *cmd, void (*done) (struct ...@@ -861,6 +861,8 @@ static int NCR5380_queue_command_lck(struct scsi_cmnd *cmd, void (*done) (struct
LIST(cmd, tmp); LIST(cmd, tmp);
tmp->host_scribble = (unsigned char *) cmd; tmp->host_scribble = (unsigned char *) cmd;
} }
spin_unlock_irqrestore(instance->host_lock, flags);
dprintk(NDEBUG_QUEUES, "scsi%d : command added to %s of queue\n", instance->host_no, (cmd->cmnd[0] == REQUEST_SENSE) ? "head" : "tail"); dprintk(NDEBUG_QUEUES, "scsi%d : command added to %s of queue\n", instance->host_no, (cmd->cmnd[0] == REQUEST_SENSE) ? "head" : "tail");
/* Run the coroutine if it isn't already running. */ /* Run the coroutine if it isn't already running. */
...@@ -869,8 +871,6 @@ static int NCR5380_queue_command_lck(struct scsi_cmnd *cmd, void (*done) (struct ...@@ -869,8 +871,6 @@ static int NCR5380_queue_command_lck(struct scsi_cmnd *cmd, void (*done) (struct
return 0; return 0;
} }
static DEF_SCSI_QCMD(NCR5380_queue_command)
/** /**
* NCR5380_main - NCR state machines * NCR5380_main - NCR state machines
* *
......
...@@ -930,7 +930,7 @@ static void NCR5380_exit(struct Scsi_Host *instance) ...@@ -930,7 +930,7 @@ static void NCR5380_exit(struct Scsi_Host *instance)
* @instance: the relevant SCSI adapter * @instance: the relevant SCSI adapter
* @cmd: SCSI command * @cmd: SCSI command
* *
* cmd is added to the per instance issue_queue, with minor * cmd is added to the per-instance issue queue, with minor
* twiddling done to the host specific fields of cmd. If the * twiddling done to the host specific fields of cmd. If the
* main coroutine is not running, it is restarted. * main coroutine is not running, it is restarted.
*/ */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment