diff options
author | Martin K. Petersen <martin.petersen@oracle.com> | 2024-03-25 21:09:36 +0100 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2024-03-25 21:09:36 +0100 |
commit | 4f378a7501b2a6cd886a1422fbd7e7fa12770598 (patch) | |
tree | 3e8063f9ee9ed9ffdc8c85b7b7b7f2956f3dd058 /include/scsi | |
parent | Merge patch series "NCQ Priority sysfs sttributes for libsas" (diff) | |
parent | scsi: isci: Use LIBSAS_SHT_BASE (diff) | |
download | linux-4f378a7501b2a6cd886a1422fbd7e7fa12770598.tar.xz linux-4f378a7501b2a6cd886a1422fbd7e7fa12770598.zip |
Merge patch series "Add LIBSAS_SHT_BASE for libsas"
John Garry <john.g.garry@oracle.com> says:
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.
Link: https://lore.kernel.org/r/20240308114339.1340549-1-john.g.garry@oracle.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'include/scsi')
-rw-r--r-- | include/scsi/libsas.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h index f5257103fdb6..d06a0570f4c5 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_ */ |