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>
        .sg_tablesize           = SG_ALL,
        .max_sectors            = 0xffff,
        .skip_settle_delay      = 1,
+       .cmd_size               = sizeof(struct esp_cmd_priv),
 };
 EXPORT_SYMBOL(scsi_esp_template);
 
 
 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;
 
        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 {