linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas
@ 2024-03-08 11:43 John Garry
  2024-03-08 11:43 ` [PATCH v2 1/6] scsi: libsas: Add LIBSAS_SHT_BASE John Garry
                   ` (7 more replies)
  0 siblings, 8 replies; 20+ messages in thread
From: John Garry @ 2024-03-08 11:43 UTC (permalink / raw)
  To: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, ipylypiv, cassel
  Cc: linux-scsi, linux-kernel, John Garry

There is much duplication in the scsi_host_template structure for the
drivers which use libsas.

Similar to how a standard template is used in libata with __ATA_BASE_SHT,
create a standard template in LIBSAS_SHT_BASE.

Based on following:
b914227e4215 (tag: mkp-scsi-staging, mkp-scsi/staging, mkp-scsi/for-next, mkp-scsi/6.9/scsi-staging) Merge patch series "Pass data lifetime information to SCSI disk devices"

Differences to v1:
- tidy libsas.h change (Jason)
- Don't set eh_abort_handler in LIBSAS_SHT_BASE (Jason)
- Remove sg_tablesize in LIBSAS_SHT_BASE, as W=1 build dislikes it
- Add some RB tags (Thanks)

John Garry (6):
  scsi: libsas: Add LIBSAS_SHT_BASE
  scsi: pm8001: Use LIBSAS_SHT_BASE
  scsi: hisi_sas: Use LIBSAS_SHT_BASE_NO_SLAVE_INIT
  scsi: aic94xx: Use LIBSAS_SHT_BASE
  scsi: mvsas: Use LIBSAS_SHT_BASE
  scsi: isci: Use LIBSAS_SHT_BASE

 drivers/scsi/aic94xx/aic94xx_init.c    | 21 ++-----------------
 drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 18 +---------------
 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 18 +---------------
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 18 +---------------
 drivers/scsi/isci/init.c               | 23 ++------------------
 drivers/scsi/mvsas/mv_init.c           | 19 +----------------
 drivers/scsi/pm8001/pm8001_init.c      | 20 +-----------------
 include/scsi/libsas.h                  | 29 ++++++++++++++++++++++++++
 8 files changed, 38 insertions(+), 128 deletions(-)

-- 
2.31.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

* [PATCH v2 1/6] scsi: libsas: Add LIBSAS_SHT_BASE
  2024-03-08 11:43 [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas John Garry
@ 2024-03-08 11:43 ` John Garry
  2024-03-08 19:41   ` Igor Pylypiv
  2024-03-08 11:43 ` [PATCH v2 2/6] scsi: pm8001: Use LIBSAS_SHT_BASE John Garry
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 20+ messages in thread
From: John Garry @ 2024-03-08 11:43 UTC (permalink / raw)
  To: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, ipylypiv, cassel
  Cc: linux-scsi, linux-kernel, John Garry

There is much duplication in the scsi_host_template structure for the
drivers which use libsas.

Similar to how a standard template is used in libata with __ATA_BASE_SHT,
create a standard template in LIBSAS_SHT_BASE.

Don't set a default for max_sectors at SCSI_DEFAULT_MAX_SECTORS, as
scsi_host_alloc() will default to this value automatically.

Even though some drivers don't set proc_name, it won't make much difference
to set as DRV_NAME.

Also add LIBSAS_SHT_BASE_NO_SLAVE_INIT for the hisi_sas drivers which have
custom .slave_alloc and .slave_configure methods.

Reviewed-by: Jason Yan <yanaijie@huawei.com>
Signed-off-by: John Garry <john.g.garry@oracle.com>
---
 include/scsi/libsas.h | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
index f5257103fdb6..de842602f47e 100644
--- a/include/scsi/libsas.h
+++ b/include/scsi/libsas.h
@@ -726,4 +726,33 @@ void sas_notify_port_event(struct asd_sas_phy *phy, enum port_event event,
 void sas_notify_phy_event(struct asd_sas_phy *phy, enum phy_event event,
 			   gfp_t gfp_flags);
 
+#define __LIBSAS_SHT_BASE						\
+	.module				= THIS_MODULE,			\
+	.name				= DRV_NAME,			\
+	.proc_name			= DRV_NAME,			\
+	.queuecommand			= sas_queuecommand,		\
+	.dma_need_drain			= ata_scsi_dma_need_drain,	\
+	.target_alloc			= sas_target_alloc,		\
+	.change_queue_depth		= sas_change_queue_depth,	\
+	.bios_param			= sas_bios_param,		\
+	.this_id			= -1,				\
+	.eh_device_reset_handler	= sas_eh_device_reset_handler, 	\
+	.eh_target_reset_handler	= sas_eh_target_reset_handler,	\
+	.target_destroy			= sas_target_destroy,		\
+	.ioctl				= sas_ioctl,			\
+
+#ifdef CONFIG_COMPAT
+#define _LIBSAS_SHT_BASE		__LIBSAS_SHT_BASE		\
+	.compat_ioctl			= sas_ioctl,
+#else
+#define _LIBSAS_SHT_BASE		__LIBSAS_SHT_BASE
+#endif
+
+#define LIBSAS_SHT_BASE			_LIBSAS_SHT_BASE		\
+	.slave_configure		= sas_slave_configure,		\
+	.slave_alloc			= sas_slave_alloc,		\
+
+#define LIBSAS_SHT_BASE_NO_SLAVE_INIT	_LIBSAS_SHT_BASE
+
+
 #endif /* _SASLIB_H_ */
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 2/6] scsi: pm8001: Use LIBSAS_SHT_BASE
  2024-03-08 11:43 [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas John Garry
  2024-03-08 11:43 ` [PATCH v2 1/6] scsi: libsas: Add LIBSAS_SHT_BASE John Garry
@ 2024-03-08 11:43 ` John Garry
  2024-03-10 20:17   ` Igor Pylypiv
  2024-03-11  1:57   ` Jason Yan
  2024-03-08 11:43 ` [PATCH v2 3/6] scsi: hisi_sas: Use LIBSAS_SHT_BASE_NO_SLAVE_INIT John Garry
                   ` (5 subsequent siblings)
  7 siblings, 2 replies; 20+ messages in thread
From: John Garry @ 2024-03-08 11:43 UTC (permalink / raw)
  To: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, ipylypiv, cassel
  Cc: linux-scsi, linux-kernel, John Garry

Use standard template for scsi_host_template structure to reduce
duplication.

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

diff --git a/drivers/scsi/pm8001/pm8001_init.c b/drivers/scsi/pm8001/pm8001_init.c
index ed6b7d954dda..2ba320ff0d50 100644
--- a/drivers/scsi/pm8001/pm8001_init.c
+++ b/drivers/scsi/pm8001/pm8001_init.c
@@ -110,29 +110,11 @@ static void pm8001_map_queues(struct Scsi_Host *shost)
  * The main structure which LLDD must register for scsi core.
  */
 static const struct scsi_host_template pm8001_sht = {
-	.module			= THIS_MODULE,
-	.name			= DRV_NAME,
-	.proc_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		= pm8001_scan_finished,
 	.scan_start		= pm8001_scan_start,
-	.change_queue_depth	= sas_change_queue_depth,
-	.bios_param		= sas_bios_param,
 	.can_queue		= 1,
-	.this_id		= -1,
 	.sg_tablesize		= PM8001_MAX_DMA_SG,
-	.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		= pm8001_host_groups,
 	.track_queue_depth	= 1,
 	.cmd_per_lun		= 32,
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 3/6] scsi: hisi_sas: Use LIBSAS_SHT_BASE_NO_SLAVE_INIT
  2024-03-08 11:43 [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas John Garry
  2024-03-08 11:43 ` [PATCH v2 1/6] scsi: libsas: Add LIBSAS_SHT_BASE John Garry
  2024-03-08 11:43 ` [PATCH v2 2/6] scsi: pm8001: Use LIBSAS_SHT_BASE John Garry
@ 2024-03-08 11:43 ` John Garry
  2024-03-10 20:19   ` Igor Pylypiv
  2024-03-08 11:43 ` [PATCH v2 4/6] scsi: aic94xx: Use LIBSAS_SHT_BASE John Garry
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 20+ messages in thread
From: John Garry @ 2024-03-08 11:43 UTC (permalink / raw)
  To: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, ipylypiv, cassel
  Cc: linux-scsi, linux-kernel, John Garry

Use standard template for scsi_host_template structure to reduce
duplication.

Reviewed-by: Jason Yan <yanaijie@huawei.com>
Signed-off-by: John Garry <john.g.garry@oracle.com>
---
 drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 18 +-----------------
 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 18 +-----------------
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 18 +-----------------
 3 files changed, 3 insertions(+), 51 deletions(-)

diff --git a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
index 3c555579f9a1..161feae3acab 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
@@ -1735,28 +1735,12 @@ static struct attribute *host_v1_hw_attrs[] = {
 ATTRIBUTE_GROUPS(host_v1_hw);
 
 static const struct scsi_host_template sht_v1_hw = {
-	.name			= DRV_NAME,
-	.proc_name		= DRV_NAME,
-	.module			= THIS_MODULE,
-	.queuecommand		= sas_queuecommand,
-	.dma_need_drain		= ata_scsi_dma_need_drain,
-	.target_alloc		= sas_target_alloc,
+	LIBSAS_SHT_BASE_NO_SLAVE_INIT
 	.slave_configure	= hisi_sas_slave_configure,
 	.scan_finished		= hisi_sas_scan_finished,
 	.scan_start		= hisi_sas_scan_start,
-	.change_queue_depth	= sas_change_queue_depth,
-	.bios_param		= sas_bios_param,
-	.this_id		= -1,
 	.sg_tablesize		= HISI_SAS_SGE_PAGE_CNT,
-	.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		= hisi_sas_slave_alloc,
-	.target_destroy		= sas_target_destroy,
-	.ioctl			= sas_ioctl,
-#ifdef CONFIG_COMPAT
-	.compat_ioctl		= sas_ioctl,
-#endif
 	.shost_groups		= host_v1_hw_groups,
 	.host_reset             = hisi_sas_host_reset,
 };
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
index 73b378837da7..b8646f6e4c6d 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -3562,28 +3562,12 @@ static void map_queues_v2_hw(struct Scsi_Host *shost)
 }
 
 static const struct scsi_host_template sht_v2_hw = {
-	.name			= DRV_NAME,
-	.proc_name		= DRV_NAME,
-	.module			= THIS_MODULE,
-	.queuecommand		= sas_queuecommand,
-	.dma_need_drain		= ata_scsi_dma_need_drain,
-	.target_alloc		= sas_target_alloc,
+	LIBSAS_SHT_BASE_NO_SLAVE_INIT
 	.slave_configure	= hisi_sas_slave_configure,
 	.scan_finished		= hisi_sas_scan_finished,
 	.scan_start		= hisi_sas_scan_start,
-	.change_queue_depth	= sas_change_queue_depth,
-	.bios_param		= sas_bios_param,
-	.this_id		= -1,
 	.sg_tablesize		= HISI_SAS_SGE_PAGE_CNT,
-	.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		= hisi_sas_slave_alloc,
-	.target_destroy		= sas_target_destroy,
-	.ioctl			= sas_ioctl,
-#ifdef CONFIG_COMPAT
-	.compat_ioctl		= sas_ioctl,
-#endif
 	.shost_groups		= host_v2_hw_groups,
 	.host_reset		= hisi_sas_host_reset,
 	.map_queues		= map_queues_v2_hw,
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index 7d2a33514538..16ef89002fd4 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -3315,30 +3315,14 @@ static void hisi_sas_map_queues(struct Scsi_Host *shost)
 }
 
 static const struct scsi_host_template sht_v3_hw = {
-	.name			= DRV_NAME,
-	.proc_name		= DRV_NAME,
-	.module			= THIS_MODULE,
-	.queuecommand		= sas_queuecommand,
-	.dma_need_drain		= ata_scsi_dma_need_drain,
-	.target_alloc		= sas_target_alloc,
+	LIBSAS_SHT_BASE_NO_SLAVE_INIT
 	.slave_configure	= slave_configure_v3_hw,
 	.scan_finished		= hisi_sas_scan_finished,
 	.scan_start		= hisi_sas_scan_start,
 	.map_queues		= hisi_sas_map_queues,
-	.change_queue_depth	= sas_change_queue_depth,
-	.bios_param		= sas_bios_param,
-	.this_id		= -1,
 	.sg_tablesize		= HISI_SAS_SGE_PAGE_CNT,
 	.sg_prot_tablesize	= HISI_SAS_SGE_PAGE_CNT,
-	.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		= hisi_sas_slave_alloc,
-	.target_destroy		= sas_target_destroy,
-	.ioctl			= sas_ioctl,
-#ifdef CONFIG_COMPAT
-	.compat_ioctl		= sas_ioctl,
-#endif
 	.shost_groups		= host_v3_hw_groups,
 	.tag_alloc_policy	= BLK_TAG_ALLOC_RR,
 	.host_reset             = hisi_sas_host_reset,
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 4/6] scsi: aic94xx: Use LIBSAS_SHT_BASE
  2024-03-08 11:43 [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas John Garry
                   ` (2 preceding siblings ...)
  2024-03-08 11:43 ` [PATCH v2 3/6] scsi: hisi_sas: Use LIBSAS_SHT_BASE_NO_SLAVE_INIT John Garry
@ 2024-03-08 11:43 ` John Garry
  2024-03-10 20:22   ` Igor Pylypiv
  2024-03-08 11:43 ` [PATCH v2 5/6] scsi: mvsas: " John Garry
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 20+ messages in thread
From: John Garry @ 2024-03-08 11:43 UTC (permalink / raw)
  To: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, ipylypiv, cassel
  Cc: linux-scsi, linux-kernel, John Garry

Use standard template for scsi_host_template structure to reduce
duplication.

Reviewed-by: Jason Yan <yanaijie@huawei.com>
Signed-off-by: John Garry <john.g.garry@oracle.com>
---
 drivers/scsi/aic94xx/aic94xx_init.c | 21 ++-------------------
 1 file changed, 2 insertions(+), 19 deletions(-)

diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c
index 8a3340d8d7ad..53fe68124ff4 100644
--- a/drivers/scsi/aic94xx/aic94xx_init.c
+++ b/drivers/scsi/aic94xx/aic94xx_init.c
@@ -24,6 +24,7 @@
 
 /* The format is "version.release.patchlevel" */
 #define ASD_DRIVER_VERSION "1.0.3"
+#define DRV_NAME "aic94xx"
 
 static int use_msi = 0;
 module_param_named(use_msi, use_msi, int, S_IRUGO);
@@ -36,29 +37,11 @@ static int asd_scan_finished(struct Scsi_Host *, unsigned long);
 static void asd_scan_start(struct Scsi_Host *);
 
 static const struct scsi_host_template aic94xx_sht = {
-	.module			= THIS_MODULE,
-	/* .name is initialized */
-	.name			= "aic94xx",
-	.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		= asd_scan_finished,
 	.scan_start		= asd_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
 	.track_queue_depth	= 1,
 };
 
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 5/6] scsi: mvsas: Use LIBSAS_SHT_BASE
  2024-03-08 11:43 [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas John Garry
                   ` (3 preceding siblings ...)
  2024-03-08 11:43 ` [PATCH v2 4/6] scsi: aic94xx: Use LIBSAS_SHT_BASE John Garry
@ 2024-03-08 11:43 ` John Garry
  2024-03-10 20:24   ` Igor Pylypiv
  2024-03-11  2:04   ` Jason Yan
  2024-03-08 11:43 ` [PATCH v2 6/6] scsi: isci: " John Garry
                   ` (2 subsequent siblings)
  7 siblings, 2 replies; 20+ messages in thread
From: John Garry @ 2024-03-08 11:43 UTC (permalink / raw)
  To: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, ipylypiv, cassel
  Cc: linux-scsi, linux-kernel, John Garry

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 43ebb331e216..fb81d267c9cc 100644
--- a/drivers/scsi/mvsas/mv_init.c
+++ b/drivers/scsi/mvsas/mv_init.c
@@ -30,28 +30,11 @@ static const struct attribute_group *mvst_host_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,
 	.track_queue_depth	= 1,
 };
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH v2 6/6] scsi: isci: Use LIBSAS_SHT_BASE
  2024-03-08 11:43 [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas John Garry
                   ` (4 preceding siblings ...)
  2024-03-08 11:43 ` [PATCH v2 5/6] scsi: mvsas: " John Garry
@ 2024-03-08 11:43 ` John Garry
  2024-03-10 20:25   ` Igor Pylypiv
  2024-03-11  1:46 ` [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas Jason Yan
  2024-03-25 20:11 ` Martin K. Petersen
  7 siblings, 1 reply; 20+ messages in thread
From: John Garry @ 2024-03-08 11:43 UTC (permalink / raw)
  To: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, ipylypiv, cassel
  Cc: linux-scsi, linux-kernel, John Garry

Use standard template for scsi_host_template structure to reduce
duplication.

Reviewed-by: Jason Yan <yanaijie@huawei.com>
Signed-off-by: John Garry <john.g.garry@oracle.com>
---
 drivers/scsi/isci/init.c | 23 ++---------------------
 1 file changed, 2 insertions(+), 21 deletions(-)

diff --git a/drivers/scsi/isci/init.c b/drivers/scsi/isci/init.c
index c582a3932cea..2b29e8505987 100644
--- a/drivers/scsi/isci/init.c
+++ b/drivers/scsi/isci/init.c
@@ -150,31 +150,12 @@ static struct attribute *isci_host_attrs[] = {
 ATTRIBUTE_GROUPS(isci_host);
 
 static const struct scsi_host_template isci_sht = {
-
-	.module				= THIS_MODULE,
-	.name				= DRV_NAME,
-	.proc_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			= isci_host_scan_finished,
 	.scan_start			= isci_host_start,
-	.change_queue_depth		= sas_change_queue_depth,
-	.bios_param			= sas_bios_param,
 	.can_queue			= ISCI_CAN_QUEUE_VAL,
-	.this_id			= -1,
 	.sg_tablesize			= SG_ALL,
-	.max_sectors			= SCSI_DEFAULT_MAX_SECTORS,
-	.eh_abort_handler		= sas_eh_abort_handler,
-	.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
+	.eh_abort_handler               = sas_eh_abort_handler,
 	.shost_groups			= isci_host_groups,
 	.track_queue_depth		= 1,
 };
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 1/6] scsi: libsas: Add LIBSAS_SHT_BASE
  2024-03-08 11:43 ` [PATCH v2 1/6] scsi: libsas: Add LIBSAS_SHT_BASE John Garry
@ 2024-03-08 19:41   ` Igor Pylypiv
  2024-03-10 10:02     ` John Garry
  0 siblings, 1 reply; 20+ messages in thread
From: Igor Pylypiv @ 2024-03-08 19:41 UTC (permalink / raw)
  To: John Garry
  Cc: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, cassel, linux-scsi,
	linux-kernel

On Fri, Mar 08, 2024 at 11:43:34AM +0000, John Garry wrote:
> There is much duplication in the scsi_host_template structure for the
> drivers which use libsas.
> 
> Similar to how a standard template is used in libata with __ATA_BASE_SHT,
> create a standard template in LIBSAS_SHT_BASE.
> 
> Don't set a default for max_sectors at SCSI_DEFAULT_MAX_SECTORS, as
> scsi_host_alloc() will default to this value automatically.
> 
> Even though some drivers don't set proc_name, it won't make much difference
> to set as DRV_NAME.
> 
> Also add LIBSAS_SHT_BASE_NO_SLAVE_INIT for the hisi_sas drivers which have
> custom .slave_alloc and .slave_configure methods.

Looks like libata drivers have no problem overriding default values that were
set by __ATA_BASE_SHT. For example __ATA_BASE_SHT sets .can_queue .sdev_attrs
and then AHCI_SHT overrides those with AHCI specific values: 

#define AHCI_SHT(drv_name)                                              \       
        ATA_NCQ_SHT(drv_name),                                          \       
        .can_queue              = AHCI_MAX_CMDS,                        \       
        .sg_tablesize           = AHCI_MAX_SG,                          \       
        .dma_boundary           = AHCI_DMA_BOUNDARY,                    \       
        .shost_attrs            = ahci_shost_attrs,                     \       
        .sdev_attrs             = ahci_sdev_attrs 

Perhaps there is no need for LIBSAS_SHT_BASE_NO_SLAVE_INIT since hisi_sas
can use LIBSAS_SHT_BASE with .slave_alloc and .slave_configure overrides?

Similarly hisi_sas and pm8001 can override the default ".sg_tablesize = SG_ALL".

Thanks,
Igor

> 
> Reviewed-by: Jason Yan <yanaijie@huawei.com>
> Signed-off-by: John Garry <john.g.garry@oracle.com>
> ---
>  include/scsi/libsas.h | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
> 
> diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h
> index f5257103fdb6..de842602f47e 100644
> --- a/include/scsi/libsas.h
> +++ b/include/scsi/libsas.h
> @@ -726,4 +726,33 @@ void sas_notify_port_event(struct asd_sas_phy *phy, enum port_event event,
>  void sas_notify_phy_event(struct asd_sas_phy *phy, enum phy_event event,
>  			   gfp_t gfp_flags);
>  
> +#define __LIBSAS_SHT_BASE						\
> +	.module				= THIS_MODULE,			\
> +	.name				= DRV_NAME,			\
> +	.proc_name			= DRV_NAME,			\
> +	.queuecommand			= sas_queuecommand,		\
> +	.dma_need_drain			= ata_scsi_dma_need_drain,	\
> +	.target_alloc			= sas_target_alloc,		\
> +	.change_queue_depth		= sas_change_queue_depth,	\
> +	.bios_param			= sas_bios_param,		\
> +	.this_id			= -1,				\
> +	.eh_device_reset_handler	= sas_eh_device_reset_handler, 	\
> +	.eh_target_reset_handler	= sas_eh_target_reset_handler,	\
> +	.target_destroy			= sas_target_destroy,		\
> +	.ioctl				= sas_ioctl,			\
> +
> +#ifdef CONFIG_COMPAT
> +#define _LIBSAS_SHT_BASE		__LIBSAS_SHT_BASE		\
> +	.compat_ioctl			= sas_ioctl,
> +#else
> +#define _LIBSAS_SHT_BASE		__LIBSAS_SHT_BASE
> +#endif
> +
> +#define LIBSAS_SHT_BASE			_LIBSAS_SHT_BASE		\
> +	.slave_configure		= sas_slave_configure,		\
> +	.slave_alloc			= sas_slave_alloc,		\
> +
> +#define LIBSAS_SHT_BASE_NO_SLAVE_INIT	_LIBSAS_SHT_BASE
> +
> +
>  #endif /* _SASLIB_H_ */
> -- 
> 2.31.1
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 1/6] scsi: libsas: Add LIBSAS_SHT_BASE
  2024-03-08 19:41   ` Igor Pylypiv
@ 2024-03-10 10:02     ` John Garry
  2024-03-10 20:05       ` Igor Pylypiv
  0 siblings, 1 reply; 20+ messages in thread
From: John Garry @ 2024-03-10 10:02 UTC (permalink / raw)
  To: Igor Pylypiv
  Cc: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, cassel, linux-scsi,
	linux-kernel

On 08/03/2024 19:41, Igor Pylypiv wrote:
>> Even though some drivers don't set proc_name, it won't make much difference
>> to set as DRV_NAME.
>>
>> Also add LIBSAS_SHT_BASE_NO_SLAVE_INIT for the hisi_sas drivers which have
>> custom .slave_alloc and .slave_configure methods.
> Looks like libata drivers have no problem overriding default values that were
> set by __ATA_BASE_SHT. For example __ATA_BASE_SHT sets .can_queue .sdev_attrs
> and then AHCI_SHT overrides those with AHCI specific values:
> 
> #define AHCI_SHT(drv_name)                                              \
>          ATA_NCQ_SHT(drv_name),                                          \

which tag are you looking at here?

That looks like an old definition of AHCI_SHT().

There was a significant change for this in the following:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/ata/ahci.h?h=v5.14&id=071e86fe2872e7442e42ad26f71cd6bde55344f8

Thanks,
John

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 1/6] scsi: libsas: Add LIBSAS_SHT_BASE
  2024-03-10 10:02     ` John Garry
@ 2024-03-10 20:05       ` Igor Pylypiv
  0 siblings, 0 replies; 20+ messages in thread
From: Igor Pylypiv @ 2024-03-10 20:05 UTC (permalink / raw)
  To: John Garry
  Cc: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, cassel, linux-scsi,
	linux-kernel

On Sun, Mar 10, 2024 at 10:02:42AM +0000, John Garry wrote:
> On 08/03/2024 19:41, Igor Pylypiv wrote:
> > > Even though some drivers don't set proc_name, it won't make much difference
> > > to set as DRV_NAME.
> > > 
> > > Also add LIBSAS_SHT_BASE_NO_SLAVE_INIT for the hisi_sas drivers which have
> > > custom .slave_alloc and .slave_configure methods.
> > Looks like libata drivers have no problem overriding default values that were
> > set by __ATA_BASE_SHT. For example __ATA_BASE_SHT sets .can_queue .sdev_attrs
> > and then AHCI_SHT overrides those with AHCI specific values:
> > 
> > #define AHCI_SHT(drv_name)                                              \
> >          ATA_NCQ_SHT(drv_name),                                          \
> 
> which tag are you looking at here?
> 
> That looks like an old definition of AHCI_SHT().
> 
> There was a significant change for this in the following:
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/ata/ahci.h?h=v5.14&id=071e86fe2872e7442e42ad26f71cd6bde55344f8

Oh, my bad. I had some old kernel version checked out. Please disregard.

Reviewed-by: Igor Pylypiv <ipylypiv@google.com>

Thanks,
Igor

> 
> Thanks,
> John

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 2/6] scsi: pm8001: Use LIBSAS_SHT_BASE
  2024-03-08 11:43 ` [PATCH v2 2/6] scsi: pm8001: Use LIBSAS_SHT_BASE John Garry
@ 2024-03-10 20:17   ` Igor Pylypiv
  2024-03-11  1:57   ` Jason Yan
  1 sibling, 0 replies; 20+ messages in thread
From: Igor Pylypiv @ 2024-03-10 20:17 UTC (permalink / raw)
  To: John Garry
  Cc: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, cassel, linux-scsi,
	linux-kernel

On Fri, Mar 08, 2024 at 11:43:35AM +0000, 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/pm8001/pm8001_init.c | 20 +-------------------
>  1 file changed, 1 insertion(+), 19 deletions(-)

Reviewed-by: Igor Pylypiv <ipylypiv@google.com>

Thanks,
Igor

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 3/6] scsi: hisi_sas: Use LIBSAS_SHT_BASE_NO_SLAVE_INIT
  2024-03-08 11:43 ` [PATCH v2 3/6] scsi: hisi_sas: Use LIBSAS_SHT_BASE_NO_SLAVE_INIT John Garry
@ 2024-03-10 20:19   ` Igor Pylypiv
  0 siblings, 0 replies; 20+ messages in thread
From: Igor Pylypiv @ 2024-03-10 20:19 UTC (permalink / raw)
  To: John Garry
  Cc: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, cassel, linux-scsi,
	linux-kernel

On Fri, Mar 08, 2024 at 11:43:36AM +0000, John Garry wrote:
> Use standard template for scsi_host_template structure to reduce
> duplication.
> 
> Reviewed-by: Jason Yan <yanaijie@huawei.com>
> Signed-off-by: John Garry <john.g.garry@oracle.com>
> ---
>  drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 18 +-----------------
>  drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 18 +-----------------
>  drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 18 +-----------------
>  3 files changed, 3 insertions(+), 51 deletions(-)

Reviewed-by: Igor Pylypiv <ipylypiv@google.com>

Thanks,
Igor

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 4/6] scsi: aic94xx: Use LIBSAS_SHT_BASE
  2024-03-08 11:43 ` [PATCH v2 4/6] scsi: aic94xx: Use LIBSAS_SHT_BASE John Garry
@ 2024-03-10 20:22   ` Igor Pylypiv
  0 siblings, 0 replies; 20+ messages in thread
From: Igor Pylypiv @ 2024-03-10 20:22 UTC (permalink / raw)
  To: John Garry
  Cc: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, cassel, linux-scsi,
	linux-kernel

On Fri, Mar 08, 2024 at 11:43:37AM +0000, John Garry wrote:
> Use standard template for scsi_host_template structure to reduce
> duplication.
> 
> Reviewed-by: Jason Yan <yanaijie@huawei.com>
> Signed-off-by: John Garry <john.g.garry@oracle.com>
> ---
>  drivers/scsi/aic94xx/aic94xx_init.c | 21 ++-------------------
>  1 file changed, 2 insertions(+), 19 deletions(-)

Reviewed-by: Igor Pylypiv <ipylypiv@google.com>

Thanks,
Igor

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 5/6] scsi: mvsas: Use LIBSAS_SHT_BASE
  2024-03-08 11:43 ` [PATCH v2 5/6] scsi: mvsas: " John Garry
@ 2024-03-10 20:24   ` Igor Pylypiv
  2024-03-11  2:04   ` Jason Yan
  1 sibling, 0 replies; 20+ messages in thread
From: Igor Pylypiv @ 2024-03-10 20:24 UTC (permalink / raw)
  To: John Garry
  Cc: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, cassel, linux-scsi,
	linux-kernel

On Fri, Mar 08, 2024 at 11:43:38AM +0000, 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(-)

Reviewed-by: Igor Pylypiv <ipylypiv@google.com>

Thanks,
Igor

> 
> diff --git a/drivers/scsi/mvsas/mv_init.c b/drivers/scsi/mvsas/mv_init.c
> index 43ebb331e216..fb81d267c9cc 100644
> --- a/drivers/scsi/mvsas/mv_init.c
> +++ b/drivers/scsi/mvsas/mv_init.c
> @@ -30,28 +30,11 @@ static const struct attribute_group *mvst_host_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,
>  	.track_queue_depth	= 1,
>  };
> -- 
> 2.31.1
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 6/6] scsi: isci: Use LIBSAS_SHT_BASE
  2024-03-08 11:43 ` [PATCH v2 6/6] scsi: isci: " John Garry
@ 2024-03-10 20:25   ` Igor Pylypiv
  0 siblings, 0 replies; 20+ messages in thread
From: Igor Pylypiv @ 2024-03-10 20:25 UTC (permalink / raw)
  To: John Garry
  Cc: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, cassel, linux-scsi,
	linux-kernel

On Fri, Mar 08, 2024 at 11:43:39AM +0000, John Garry wrote:
> Use standard template for scsi_host_template structure to reduce
> duplication.
> 
> Reviewed-by: Jason Yan <yanaijie@huawei.com>
> Signed-off-by: John Garry <john.g.garry@oracle.com>
> ---
>  drivers/scsi/isci/init.c | 23 ++---------------------
>  1 file changed, 2 insertions(+), 21 deletions(-)
> 

Reviewed-by: Igor Pylypiv <ipylypiv@google.com>

Thanks,
Igor

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas
  2024-03-08 11:43 [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas John Garry
                   ` (5 preceding siblings ...)
  2024-03-08 11:43 ` [PATCH v2 6/6] scsi: isci: " John Garry
@ 2024-03-11  1:46 ` Jason Yan
  2024-03-11  7:41   ` John Garry
  2024-03-25 20:11 ` Martin K. Petersen
  7 siblings, 1 reply; 20+ messages in thread
From: Jason Yan @ 2024-03-11  1:46 UTC (permalink / raw)
  To: John Garry, jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, dlemoal, ipylypiv, cassel
  Cc: linux-scsi, linux-kernel

Hi John,

On 2024/3/8 19:43, John Garry wrote:
> There is much duplication in the scsi_host_template structure for the
> drivers which use libsas.
> 
> Similar to how a standard template is used in libata with __ATA_BASE_SHT,
> create a standard template in LIBSAS_SHT_BASE.
> 
> Based on following:
> b914227e4215 (tag: mkp-scsi-staging, mkp-scsi/staging, mkp-scsi/for-next, mkp-scsi/6.9/scsi-staging) Merge patch series "Pass data lifetime information to SCSI disk devices"
> 
> Differences to v1:
> - tidy libsas.h change (Jason)
> - Don't set eh_abort_handler in LIBSAS_SHT_BASE (Jason)
> - Remove sg_tablesize in LIBSAS_SHT_BASE, as W=1 build dislikes it

I cannot find sg_tablesize in LIBSAS_SHT_BASE in v1, did I misssed anything?

Thanks,
Jason

> - Add some RB tags (Thanks)
> 
> John Garry (6):
>    scsi: libsas: Add LIBSAS_SHT_BASE
>    scsi: pm8001: Use LIBSAS_SHT_BASE
>    scsi: hisi_sas: Use LIBSAS_SHT_BASE_NO_SLAVE_INIT
>    scsi: aic94xx: Use LIBSAS_SHT_BASE
>    scsi: mvsas: Use LIBSAS_SHT_BASE
>    scsi: isci: Use LIBSAS_SHT_BASE
> 
>   drivers/scsi/aic94xx/aic94xx_init.c    | 21 ++-----------------
>   drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 18 +---------------
>   drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 18 +---------------
>   drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 18 +---------------
>   drivers/scsi/isci/init.c               | 23 ++------------------
>   drivers/scsi/mvsas/mv_init.c           | 19 +----------------
>   drivers/scsi/pm8001/pm8001_init.c      | 20 +-----------------
>   include/scsi/libsas.h                  | 29 ++++++++++++++++++++++++++
>   8 files changed, 38 insertions(+), 128 deletions(-)
> 

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 2/6] scsi: pm8001: Use LIBSAS_SHT_BASE
  2024-03-08 11:43 ` [PATCH v2 2/6] scsi: pm8001: Use LIBSAS_SHT_BASE John Garry
  2024-03-10 20:17   ` Igor Pylypiv
@ 2024-03-11  1:57   ` Jason Yan
  1 sibling, 0 replies; 20+ messages in thread
From: Jason Yan @ 2024-03-11  1:57 UTC (permalink / raw)
  To: John Garry, jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, dlemoal, ipylypiv, cassel
  Cc: linux-scsi, linux-kernel


On 2024/3/8 19:43, 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/pm8001/pm8001_init.c | 20 +-------------------
>   1 file changed, 1 insertion(+), 19 deletions(-)

Reviewed-by: Jason Yan <yanaijie@huawei.com>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 5/6] scsi: mvsas: Use LIBSAS_SHT_BASE
  2024-03-08 11:43 ` [PATCH v2 5/6] scsi: mvsas: " John Garry
  2024-03-10 20:24   ` Igor Pylypiv
@ 2024-03-11  2:04   ` Jason Yan
  1 sibling, 0 replies; 20+ messages in thread
From: Jason Yan @ 2024-03-11  2:04 UTC (permalink / raw)
  To: John Garry, jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, dlemoal, ipylypiv, cassel
  Cc: linux-scsi, linux-kernel

On 2024/3/8 19:43, 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(-)

Reviewed-by: Jason Yan <yanaijie@huawei.com>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas
  2024-03-11  1:46 ` [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas Jason Yan
@ 2024-03-11  7:41   ` John Garry
  0 siblings, 0 replies; 20+ messages in thread
From: John Garry @ 2024-03-11  7:41 UTC (permalink / raw)
  To: Jason Yan, jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, dlemoal, ipylypiv, cassel
  Cc: linux-scsi, linux-kernel

On 11/03/2024 01:46, Jason Yan wrote:
>> - Remove sg_tablesize in LIBSAS_SHT_BASE, as W=1 build dislikes it
> 
> I cannot find sg_tablesize in LIBSAS_SHT_BASE in v1, did I misssed 
> anything?

Ah, I think that I just had that change local but then decided to drop 
it due to W=1 build issue.

Thanks for your eagle eye checking.

John

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas
  2024-03-08 11:43 [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas John Garry
                   ` (6 preceding siblings ...)
  2024-03-11  1:46 ` [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas Jason Yan
@ 2024-03-25 20:11 ` Martin K. Petersen
  7 siblings, 0 replies; 20+ messages in thread
From: Martin K. Petersen @ 2024-03-25 20:11 UTC (permalink / raw)
  To: John Garry
  Cc: jejb, martin.petersen, chenxiang66, jinpu.wang,
	artur.paszkiewicz, yanaijie, dlemoal, ipylypiv, cassel,
	linux-scsi, linux-kernel


John,

> There is much duplication in the scsi_host_template structure for the
> drivers which use libsas.
>
> Similar to how a standard template is used in libata with
> __ATA_BASE_SHT, create a standard template in LIBSAS_SHT_BASE.

Applied to 6.10/scsi-staging, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2024-03-25 20:11 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-08 11:43 [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas John Garry
2024-03-08 11:43 ` [PATCH v2 1/6] scsi: libsas: Add LIBSAS_SHT_BASE John Garry
2024-03-08 19:41   ` Igor Pylypiv
2024-03-10 10:02     ` John Garry
2024-03-10 20:05       ` Igor Pylypiv
2024-03-08 11:43 ` [PATCH v2 2/6] scsi: pm8001: Use LIBSAS_SHT_BASE John Garry
2024-03-10 20:17   ` Igor Pylypiv
2024-03-11  1:57   ` Jason Yan
2024-03-08 11:43 ` [PATCH v2 3/6] scsi: hisi_sas: Use LIBSAS_SHT_BASE_NO_SLAVE_INIT John Garry
2024-03-10 20:19   ` Igor Pylypiv
2024-03-08 11:43 ` [PATCH v2 4/6] scsi: aic94xx: Use LIBSAS_SHT_BASE John Garry
2024-03-10 20:22   ` Igor Pylypiv
2024-03-08 11:43 ` [PATCH v2 5/6] scsi: mvsas: " John Garry
2024-03-10 20:24   ` Igor Pylypiv
2024-03-11  2:04   ` Jason Yan
2024-03-08 11:43 ` [PATCH v2 6/6] scsi: isci: " John Garry
2024-03-10 20:25   ` Igor Pylypiv
2024-03-11  1:46 ` [PATCH v2 0/6] Add LIBSAS_SHT_BASE for libsas Jason Yan
2024-03-11  7:41   ` John Garry
2024-03-25 20:11 ` Martin K. Petersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).