scsi: esp_scsi: Stop using the SCSI pointer
authorBart Van Assche <bvanassche@acm.org>
Fri, 18 Feb 2022 19:50:47 +0000 (11:50 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 23 Feb 2022 02:11:04 +0000 (21:11 -0500)
Set .cmd_size in the SCSI host template instead of using the SCSI pointer
from struct scsi_cmnd. This patch prepares for removal of the SCSI pointer
from struct scsi_cmnd.

Link: https://lore.kernel.org/r/20220218195117.25689-20-bvanassche@acm.org
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/esp_scsi.c
drivers/scsi/esp_scsi.h

index 5778753..64ec6bb 100644 (file)
@@ -2678,6 +2678,7 @@ struct scsi_host_template scsi_esp_template = {
        .sg_tablesize           = SG_ALL,
        .max_sectors            = 0xffff,
        .skip_settle_delay      = 1,
+       .cmd_size               = sizeof(struct esp_cmd_priv),
 };
 EXPORT_SYMBOL(scsi_esp_template);
 
@@ -2739,9 +2740,6 @@ static struct spi_function_template esp_transport_ops = {
 
 static int __init esp_init(void)
 {
-       BUILD_BUG_ON(sizeof(struct scsi_pointer) <
-                    sizeof(struct esp_cmd_priv));
-
        esp_transport_template = spi_attach_transport(&esp_transport_ops);
        if (!esp_transport_template)
                return -ENODEV;
index 446a3d1..c73760d 100644 (file)
@@ -262,7 +262,8 @@ struct esp_cmd_priv {
        struct scatterlist      *cur_sg;
        int                     tot_residue;
 };
-#define ESP_CMD_PRIV(CMD)      ((struct esp_cmd_priv *)(&(CMD)->SCp))
+
+#define ESP_CMD_PRIV(cmd)      ((struct esp_cmd_priv *)scsi_cmd_priv(cmd))
 
 /* NOTE: this enum is ordered based on chip features! */
 enum esp_rev {