scsi: remove current_cmnd field from struct scsi_device
authorChristoph Hellwig <hch@lst.de>
Mon, 11 Jul 2016 04:34:55 +0000 (13:34 +0900)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 14 Jul 2016 02:33:23 +0000 (22:33 -0400)
The field is only used by the 53c700 driver, so move it into the
driver-private device data instead of having it in the common structure.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/53c700.c
drivers/scsi/53c700.h
include/scsi/scsi_device.h

index 55562019acf81578b227f9380b3fe4dbb9222b94..95e32a47face78967efe394f86c7e7c281c7c466 100644 (file)
@@ -1120,9 +1120,9 @@ process_script_interrupt(__u32 dsps, __u32 dsp, struct scsi_cmnd *SCp,
                                "reselection is tag %d, slot %p(%d)\n",
                                hostdata->msgin[2], slot, slot->tag);
                } else {
-                       struct scsi_cmnd *SCp;
+                       struct NCR_700_Device_Parameters *p = SDp->hostdata;
+                       struct scsi_cmnd *SCp = p->current_cmnd;
 
-                       SCp = SDp->current_cmnd;
                        if(unlikely(SCp == NULL)) {
                                sdev_printk(KERN_ERR, SDp,
                                        "no saved request for untagged cmd\n");
@@ -1825,9 +1825,11 @@ NCR_700_queuecommand_lck(struct scsi_cmnd *SCp, void (*done)(struct scsi_cmnd *)
                CDEBUG(KERN_DEBUG, SCp, "sending out tag %d, slot %p\n",
                       slot->tag, slot);
        } else {
+               struct NCR_700_Device_Parameters *p = SCp->device->hostdata;
+
                slot->tag = SCSI_NO_TAG;
                /* save current command for reselection */
-               SCp->device->current_cmnd = SCp;
+               p->current_cmnd = SCp;
        }
        /* sanity check: some of the commands generated by the mid-layer
         * have an eccentric idea of their sc_data_direction */
index c893a5d3ff8d99488f44a984d1db88de5ee85615..f34c916b95bc02f13c819f8796d71ef69e7de1bb 100644 (file)
@@ -82,6 +82,7 @@ struct NCR_700_Device_Parameters {
         * cmnd[1], this could be in static storage */
        unsigned char cmnd[MAX_COMMAND_SIZE];
        __u8    depth;
+       struct scsi_cmnd *current_cmnd; /* currently active command */
 };
 
 
index a6c346df290d26fe0be34bdcd5bda2fc6bcff125..8a95631448905022c8ca3ce5df8c6dc09221d390 100644 (file)
@@ -94,7 +94,6 @@ struct scsi_device {
        spinlock_t list_lock;
        struct list_head cmd_list;      /* queue of in use SCSI Command structures */
        struct list_head starved_entry;
-       struct scsi_cmnd *current_cmnd; /* currently active command */
        unsigned short queue_depth;     /* How deep of a queue we want */
        unsigned short max_queue_depth; /* max queue depth */
        unsigned short last_queue_full_depth; /* These two are used by */