summaryrefslogtreecommitdiff
path: root/include/scsi
diff options
context:
space:
mode:
authorJames Bottomley <James.Bottomley@HansenPartnership.com>2015-12-09 22:12:03 +0300
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2015-12-19 06:06:21 +0300
commit3b91d09c1ca69a69c470efe5fbf346e3e90181d5 (patch)
tree8b76b33089e2d7ae8c96e9919da48f217141da25 /include/scsi
parented94724bedcbc40cbfc12d16990e834d64220d3f (diff)
downloadlinux-3b91d09c1ca69a69c470efe5fbf346e3e90181d5.tar.xz
scsi_transport_sas: add is_sas_attached() function
Adds a function designed to be callable any time (regardless of whether the transport attributes are configured or not) which returns true if the device is attached over a SAS transport. The design of this function is that transport specific functions can be embedded within a if (is_sas_attached(sdev)) { ... } which would be compiled out (and thus eliminate the symbols) if SAS is not configured. Reviewed-by: Hannes Reinecke <hare@suse.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'include/scsi')
-rw-r--r--include/scsi/scsi_transport_sas.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/scsi/scsi_transport_sas.h b/include/scsi/scsi_transport_sas.h
index 0bd71e2702e3..a8fdd10fc9c5 100644
--- a/include/scsi/scsi_transport_sas.h
+++ b/include/scsi/scsi_transport_sas.h
@@ -10,6 +10,15 @@ struct scsi_transport_template;
struct sas_rphy;
struct request;
+#if !IS_ENABLED(CONFIG_SCSI_SAS_ATTRS)
+static inline int is_sas_attached(struct scsi_device *sdev)
+{
+ return 0;
+}
+#else
+extern int is_sas_attached(struct scsi_device *sdev);
+#endif
+
static inline int sas_protocol_ata(enum sas_protocol proto)
{
return ((proto & SAS_PROTOCOL_SATA) ||