diff options
author | Dan Williams <dan.j.williams@intel.com> | 2011-12-20 04:03:48 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-02-19 15:11:33 -0500 |
commit | 0b3e09da1350397f3f8b6fd839ab455b0b587451 (patch) | |
tree | f822bb4dcaa52d5d568104932ee55ee136dcf039 /include/scsi | |
parent | b52df4174dff7e587f6fbfb21e3c2cb57109e5cf (diff) |
[SCSI] libsas: perform sas-transport resets in shost->workq context
Extend the sas transport class to allow transport users to attach extra
data to a sas_phy (->hostdata). Use this area in libsas to move resets
to workq context in preparation for scheduling ata device resets through
libata-eh.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'include/scsi')
-rw-r--r-- | include/scsi/scsi_transport_sas.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/scsi/scsi_transport_sas.h b/include/scsi/scsi_transport_sas.h index 6d14daac7589..42817facaeda 100644 --- a/include/scsi/scsi_transport_sas.h +++ b/include/scsi/scsi_transport_sas.h | |||
@@ -75,7 +75,8 @@ struct sas_phy { | |||
75 | /* for the list of phys belonging to a port */ | 75 | /* for the list of phys belonging to a port */ |
76 | struct list_head port_siblings; | 76 | struct list_head port_siblings; |
77 | 77 | ||
78 | struct work_struct reset_work; | 78 | /* available to the lldd */ |
79 | void *hostdata; | ||
79 | }; | 80 | }; |
80 | 81 | ||
81 | #define dev_to_phy(d) \ | 82 | #define dev_to_phy(d) \ |
@@ -169,6 +170,8 @@ struct sas_function_template { | |||
169 | int (*get_bay_identifier)(struct sas_rphy *); | 170 | int (*get_bay_identifier)(struct sas_rphy *); |
170 | int (*phy_reset)(struct sas_phy *, int); | 171 | int (*phy_reset)(struct sas_phy *, int); |
171 | int (*phy_enable)(struct sas_phy *, int); | 172 | int (*phy_enable)(struct sas_phy *, int); |
173 | int (*phy_setup)(struct sas_phy *); | ||
174 | void (*phy_release)(struct sas_phy *); | ||
172 | int (*set_phy_speed)(struct sas_phy *, struct sas_phy_linkrates *); | 175 | int (*set_phy_speed)(struct sas_phy *, struct sas_phy_linkrates *); |
173 | int (*smp_handler)(struct Scsi_Host *, struct sas_rphy *, struct request *); | 176 | int (*smp_handler)(struct Scsi_Host *, struct sas_rphy *, struct request *); |
174 | }; | 177 | }; |