diff mbox series

[5/6] scsi: mvsas: Use LIBSAS_SHT_BASE

Message ID 20240305122452.340471-6-john.g.garry@oracle.com (mailing list archive)
State Superseded
Headers show
Series Add LIBSAS_SHT_BASE for libsas | expand

Commit Message

John Garry March 5, 2024, 12:24 p.m. UTC
Use standard template for scsi_host_template structure to reduce
duplication.

Signed-off-by: John Garry <john.g.garry@oracle.com>
---
 drivers/scsi/mvsas/mv_init.c | 19 +------------------
 1 file changed, 1 insertion(+), 18 deletions(-)

Comments

Jason Yan March 5, 2024, 1:19 p.m. UTC | #1
On 2024/3/5 20:24, John Garry wrote:
> Use standard template for scsi_host_template structure to reduce
> duplication.
> 
> Signed-off-by: John Garry <john.g.garry@oracle.com>
> ---
>   drivers/scsi/mvsas/mv_init.c | 19 +------------------
>   1 file changed, 1 insertion(+), 18 deletions(-)
> 
> diff --git a/drivers/scsi/mvsas/mv_init.c b/drivers/scsi/mvsas/mv_init.c
> index f1090bb5f2c9..c792e4486e54 100644
> --- a/drivers/scsi/mvsas/mv_init.c
> +++ b/drivers/scsi/mvsas/mv_init.c
> @@ -31,28 +31,11 @@ static const struct attribute_group *mvst_sdev_groups[];
>   #define SOC_SAS_NUM 2
>   
>   static const struct scsi_host_template mvs_sht = {
> -	.module			= THIS_MODULE,
> -	.name			= DRV_NAME,
> -	.queuecommand		= sas_queuecommand,
> -	.dma_need_drain		= ata_scsi_dma_need_drain,
> -	.target_alloc		= sas_target_alloc,
> -	.slave_configure	= sas_slave_configure,
> +	LIBSAS_SHT_BASE
>   	.scan_finished		= mvs_scan_finished,
>   	.scan_start		= mvs_scan_start,
> -	.change_queue_depth	= sas_change_queue_depth,
> -	.bios_param		= sas_bios_param,
>   	.can_queue		= 1,
> -	.this_id		= -1,
>   	.sg_tablesize		= SG_ALL,
> -	.max_sectors		= SCSI_DEFAULT_MAX_SECTORS,
> -	.eh_device_reset_handler = sas_eh_device_reset_handler,
> -	.eh_target_reset_handler = sas_eh_target_reset_handler,
> -	.slave_alloc		= sas_slave_alloc,
> -	.target_destroy		= sas_target_destroy,
> -	.ioctl			= sas_ioctl,
> -#ifdef CONFIG_COMPAT
> -	.compat_ioctl		= sas_ioctl,
> -#endif
>   	.shost_groups		= mvst_host_groups,
>   	.sdev_groups		= mvst_sdev_groups,
>   	.track_queue_depth	= 1,
> 

Doesn't hvae ->eh_abort_handler too.

Thanks,
Jason
John Garry March 5, 2024, 1:28 p.m. UTC | #2
On 05/03/2024 13:19, Jason Yan wrote:
>> -    .ioctl            = sas_ioctl,
>> -#ifdef CONFIG_COMPAT
>> -    .compat_ioctl        = sas_ioctl,
>> -#endif
>>       .shost_groups        = mvst_host_groups,
>>       .sdev_groups        = mvst_sdev_groups,
>>       .track_queue_depth    = 1,
>>
> 
> Doesn't hvae ->eh_abort_handler too.

Is setting eh_abort_handler actually really ever required for libsas 
drivers? We have sas_eh_abort_handler, so I assume so..

Thanks,
John
Jason Yan March 5, 2024, 1:47 p.m. UTC | #3
On 2024/3/5 21:28, John Garry wrote:
> On 05/03/2024 13:19, Jason Yan wrote:
>>> -    .ioctl            = sas_ioctl,
>>> -#ifdef CONFIG_COMPAT
>>> -    .compat_ioctl        = sas_ioctl,
>>> -#endif
>>>       .shost_groups        = mvst_host_groups,
>>>       .sdev_groups        = mvst_sdev_groups,
>>>       .track_queue_depth    = 1,
>>>
>>
>> Doesn't hvae ->eh_abort_handler too.
> 
> Is setting eh_abort_handler actually really ever required for libsas 
> drivers? We have sas_eh_abort_handler, so I assume so..

For now among libsas drivers only isci has eh_abort_handler. But 
LIBSAS_SHT_BASE is setting it by default. I think it's better to keep 
the same as before for other four drivers.

Thanks,
Jason

> 
> Thanks,
> John
> .
John Garry March 5, 2024, 3:26 p.m. UTC | #4
On 05/03/2024 13:47, Jason Yan wrote:
>>>
>>> Doesn't hvae ->eh_abort_handler too.
>>
>> Is setting eh_abort_handler actually really ever required for libsas 
>> drivers? We have sas_eh_abort_handler, so I assume so..
> 
> For now among libsas drivers only isci has eh_abort_handler. But 
> LIBSAS_SHT_BASE is setting it by default. I think it's better to keep 
> the same as before for other four drivers.

Sure, but I do wonder why it is required for isci, if at all - I'll check.

The motivation to not require it is a smaller and consistent API used by 
all the libsas drivers.

Thanks,
John
diff mbox series

Patch

diff --git a/drivers/scsi/mvsas/mv_init.c b/drivers/scsi/mvsas/mv_init.c
index f1090bb5f2c9..c792e4486e54 100644
--- a/drivers/scsi/mvsas/mv_init.c
+++ b/drivers/scsi/mvsas/mv_init.c
@@ -31,28 +31,11 @@  static const struct attribute_group *mvst_sdev_groups[];
 #define SOC_SAS_NUM 2
 
 static const struct scsi_host_template mvs_sht = {
-	.module			= THIS_MODULE,
-	.name			= DRV_NAME,
-	.queuecommand		= sas_queuecommand,
-	.dma_need_drain		= ata_scsi_dma_need_drain,
-	.target_alloc		= sas_target_alloc,
-	.slave_configure	= sas_slave_configure,
+	LIBSAS_SHT_BASE
 	.scan_finished		= mvs_scan_finished,
 	.scan_start		= mvs_scan_start,
-	.change_queue_depth	= sas_change_queue_depth,
-	.bios_param		= sas_bios_param,
 	.can_queue		= 1,
-	.this_id		= -1,
 	.sg_tablesize		= SG_ALL,
-	.max_sectors		= SCSI_DEFAULT_MAX_SECTORS,
-	.eh_device_reset_handler = sas_eh_device_reset_handler,
-	.eh_target_reset_handler = sas_eh_target_reset_handler,
-	.slave_alloc		= sas_slave_alloc,
-	.target_destroy		= sas_target_destroy,
-	.ioctl			= sas_ioctl,
-#ifdef CONFIG_COMPAT
-	.compat_ioctl		= sas_ioctl,
-#endif
 	.shost_groups		= mvst_host_groups,
 	.sdev_groups		= mvst_sdev_groups,
 	.track_queue_depth	= 1,