summaryrefslogtreecommitdiffstats
path: root/include/scsi/scsi_host.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2024-04-09 16:37:35 +0200
committerMartin K. Petersen <martin.petersen@oracle.com>2024-04-11 21:37:49 -0400
commitb7eefcf11f3fb1703ddfa075d4f4bc30b9c50eb4 (patch)
treed46c9bec32f36cb235c4d88f060d0926fec6ffa4 /include/scsi/scsi_host.h
parent693a1e8cbe121bcef3331152259216bc397b6db6 (diff)
downloadlinux-b7eefcf11f3fb1703ddfa075d4f4bc30b9c50eb4.tar.gz
linux-b7eefcf11f3fb1703ddfa075d4f4bc30b9c50eb4.tar.bz2
linux-b7eefcf11f3fb1703ddfa075d4f4bc30b9c50eb4.zip
scsi: core: Add a device_configure method to the host template
This is a version of ->slave_configure that also takes a queue_limits structure that the caller applies, and thus allows drivers to reconfigure the queue using the atomic queue limits API. In the long run it should also replace ->slave_configure entirely as there is no need to have two different methods here, and the slave name in addition to being politically charged also has no basis in the SCSI standards or the kernel code. Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20240409143748.980206-11-hch@lst.de Reviewed-by: Bart Van Assche <bvanassche@acm.org> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'include/scsi/scsi_host.h')
-rw-r--r--include/scsi/scsi_host.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h
index b0948ab69e0f..92c8c3b08dfc 100644
--- a/include/scsi/scsi_host.h
+++ b/include/scsi/scsi_host.h
@@ -211,7 +211,11 @@ struct scsi_host_template {
* up after yourself before returning non-0
*
* Status: OPTIONAL
+ *
+ * Note: slave_configure is the legacy version, use device_configure for
+ * all new code. A driver must never define both.
*/
+ int (* device_configure)(struct scsi_device *, struct queue_limits *lim);
int (* slave_configure)(struct scsi_device *);
/*