OSDN Git Service

scsi: esp_scsi: remove union in esp_cmd_priv
authorChristoph Hellwig <hch@lst.de>
Sat, 13 Oct 2018 07:26:28 +0000 (09:26 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 16 Oct 2018 03:00:39 +0000 (23:00 -0400)
The dma_addr_t member is unused ever since we switched the SCSI
layer to send down single-segement command using a scatterlist
as well many years ago.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/esp_scsi.c
drivers/scsi/esp_scsi.h

index c88d0cb..5cd97d2 100644 (file)
@@ -379,14 +379,14 @@ static void esp_map_dma(struct esp *esp, struct scsi_cmnd *cmd)
                 * For pseudo DMA and PIO we need the virtual address instead of
                 * a dma address, so perform an identity mapping.
                 */
-               spriv->u.num_sg = scsi_sg_count(cmd);
-               for (i = 0; i < spriv->u.num_sg; i++) {
+               spriv->num_sg = scsi_sg_count(cmd);
+               for (i = 0; i < spriv->num_sg; i++) {
                        sg[i].dma_address = (uintptr_t)sg_virt(&sg[i]);
                        total += sg_dma_len(&sg[i]);
                }
        } else {
-               spriv->u.num_sg = scsi_dma_map(cmd);
-               for (i = 0; i < spriv->u.num_sg; i++)
+               spriv->num_sg = scsi_dma_map(cmd);
+               for (i = 0; i < spriv->num_sg; i++)
                        total += sg_dma_len(&sg[i]);
        }
        spriv->cur_residue = sg_dma_len(sg);
@@ -982,7 +982,7 @@ static int esp_queuecommand_lck(struct scsi_cmnd *cmd, void (*done)(struct scsi_
        cmd->scsi_done = done;
 
        spriv = ESP_CMD_PRIV(cmd);
-       spriv->u.dma_addr = ~(dma_addr_t)0x0;
+       spriv->num_sg = 0;
 
        list_add_tail(&ent->list, &esp->queued_cmds);
 
@@ -1372,7 +1372,7 @@ static int esp_data_bytes_sent(struct esp *esp, struct esp_cmd_entry *ent,
                        struct esp_cmd_priv *p = ESP_CMD_PRIV(cmd);
                        u8 *ptr;
 
-                       ptr = scsi_kmap_atomic_sg(p->cur_sg, p->u.num_sg,
+                       ptr = scsi_kmap_atomic_sg(p->cur_sg, p->num_sg,
                                                  &offset, &count);
                        if (likely(ptr)) {
                                *(ptr + offset) = bval;
index 4ce2b8d..3b1b501 100644 (file)
 #define SYNC_DEFP_FAST            0x19   /* 10mb/s */
 
 struct esp_cmd_priv {
-       union {
-               dma_addr_t      dma_addr;
-               int             num_sg;
-       } u;
-
+       int                     num_sg;
        int                     cur_residue;
        struct scatterlist      *cur_sg;
        int                     tot_residue;