Introduce a structure with driver-private data per SCSI command. This data structure will be used by the next patch to store a function pointer. Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> --- drivers/scsi/arm/arxescsi.c | 1 + drivers/scsi/arm/cumana_2.c | 1 + drivers/scsi/arm/eesox.c | 1 + drivers/scsi/arm/fas216.h | 10 ++++++++++ drivers/scsi/arm/powertec.c | 2 +- 5 files changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/arm/arxescsi.c b/drivers/scsi/arm/arxescsi.c index 591414120754..7f667c198f6d 100644 --- a/drivers/scsi/arm/arxescsi.c +++ b/drivers/scsi/arm/arxescsi.c @@ -243,6 +243,7 @@ static struct scsi_host_template arxescsi_template = { .eh_bus_reset_handler = fas216_eh_bus_reset, .eh_device_reset_handler = fas216_eh_device_reset, .eh_abort_handler = fas216_eh_abort, + .cmd_size = sizeof(struct fas216_cmd_priv), .can_queue = 0, .this_id = 7, .sg_tablesize = SG_ALL, diff --git a/drivers/scsi/arm/cumana_2.c b/drivers/scsi/arm/cumana_2.c index 9dcd912267e6..3c00d7773876 100644 --- a/drivers/scsi/arm/cumana_2.c +++ b/drivers/scsi/arm/cumana_2.c @@ -363,6 +363,7 @@ static struct scsi_host_template cumanascsi2_template = { .eh_bus_reset_handler = fas216_eh_bus_reset, .eh_device_reset_handler = fas216_eh_device_reset, .eh_abort_handler = fas216_eh_abort, + .cmd_size = sizeof(struct fas216_cmd_priv), .can_queue = 1, .this_id = 7, .sg_tablesize = SG_MAX_SEGMENTS, diff --git a/drivers/scsi/arm/eesox.c b/drivers/scsi/arm/eesox.c index 5eb2415dda9d..1394590eecea 100644 --- a/drivers/scsi/arm/eesox.c +++ b/drivers/scsi/arm/eesox.c @@ -480,6 +480,7 @@ static struct scsi_host_template eesox_template = { .eh_bus_reset_handler = fas216_eh_bus_reset, .eh_device_reset_handler = fas216_eh_device_reset, .eh_abort_handler = fas216_eh_abort, + .cmd_size = sizeof(struct fas216_cmd_priv), .can_queue = 1, .this_id = 7, .sg_tablesize = SG_MAX_SEGMENTS, diff --git a/drivers/scsi/arm/fas216.h b/drivers/scsi/arm/fas216.h index 847413ce14cf..abf960487314 100644 --- a/drivers/scsi/arm/fas216.h +++ b/drivers/scsi/arm/fas216.h @@ -310,6 +310,16 @@ typedef struct { unsigned long magic_end; } FAS216_Info; +/* driver-private data per SCSI command. */ +struct fas216_cmd_priv { + void (*scsi_done)(struct scsi_cmnd *cmd); +}; + +static inline struct fas216_cmd_priv *fas216_cmd_priv(struct scsi_cmnd *cmd) +{ + return scsi_cmd_priv(cmd); +} + /* Function: int fas216_init (struct Scsi_Host *instance) * Purpose : initialise FAS/NCR/AMD SCSI structures. * Params : instance - a driver-specific filled-out structure diff --git a/drivers/scsi/arm/powertec.c b/drivers/scsi/arm/powertec.c index 9cc73da4e876..8fec435cee18 100644 --- a/drivers/scsi/arm/powertec.c +++ b/drivers/scsi/arm/powertec.c @@ -286,7 +286,7 @@ static struct scsi_host_template powertecscsi_template = { .eh_bus_reset_handler = fas216_eh_bus_reset, .eh_device_reset_handler = fas216_eh_device_reset, .eh_abort_handler = fas216_eh_abort, - + .cmd_size = sizeof(struct fas216_cmd_priv), .can_queue = 8, .this_id = 7, .sg_tablesize = SG_MAX_SEGMENTS,