summaryrefslogtreecommitdiffstats
path: root/include/scsi
diff options
context:
space:
mode:
authorJames Bottomley <James.Bottomley@steeleye.com>2006-09-06 19:25:22 -0500
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2006-09-07 15:16:44 -0500
commitd24e1eeb3a16e4944288c2f3bf082e1513f4b425 (patch)
tree395812a03c26a8693c23362eb403048164352dd6 /include/scsi
parent88edf74610bd894b93438f389688bc8b4a2d3414 (diff)
downloadlinux-d24e1eeb3a16e4944288c2f3bf082e1513f4b425.tar.gz
linux-d24e1eeb3a16e4944288c2f3bf082e1513f4b425.tar.bz2
linux-d24e1eeb3a16e4944288c2f3bf082e1513f4b425.zip
[SCSI] scsi_transport_sas: make minimum and maximum linkrate settable quantities
According to SPEC, the minimum_linkrate and maximum_linkrate should be settable by the user. This patch introduces a callback that allows the sas class to pass these settings on to the driver. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'include/scsi')
-rw-r--r--include/scsi/scsi_transport_sas.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/scsi/scsi_transport_sas.h b/include/scsi/scsi_transport_sas.h
index 87de518960c1..53024377f3b8 100644
--- a/include/scsi/scsi_transport_sas.h
+++ b/include/scsi/scsi_transport_sas.h
@@ -150,12 +150,18 @@ struct sas_port {
#define transport_class_to_sas_port(cdev) \
dev_to_sas_port((cdev)->dev)
+struct sas_phy_linkrates {
+ enum sas_linkrate maximum_linkrate;
+ enum sas_linkrate minimum_linkrate;
+};
+
/* The functions by which the transport class and the driver communicate */
struct sas_function_template {
int (*get_linkerrors)(struct sas_phy *);
int (*get_enclosure_identifier)(struct sas_rphy *, u64 *);
int (*get_bay_identifier)(struct sas_rphy *);
int (*phy_reset)(struct sas_phy *, int);
+ int (*set_phy_speed)(struct sas_phy *, struct sas_phy_linkrates *);
};