diff options
Diffstat (limited to 'include/scsi')
-rw-r--r-- | include/scsi/libsas.h | 23 | ||||
-rw-r--r-- | include/scsi/scsi_transport_fc.h | 4 | ||||
-rw-r--r-- | include/scsi/scsi_transport_iscsi.h | 2 |
3 files changed, 22 insertions, 7 deletions
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h index 9582e8401669..9ccc0365aa89 100644 --- a/include/scsi/libsas.h +++ b/include/scsi/libsas.h | |||
@@ -200,9 +200,14 @@ struct domain_device { | |||
200 | void *lldd_dev; | 200 | void *lldd_dev; |
201 | }; | 201 | }; |
202 | 202 | ||
203 | struct sas_discovery_event { | ||
204 | struct work_struct work; | ||
205 | struct asd_sas_port *port; | ||
206 | }; | ||
207 | |||
203 | struct sas_discovery { | 208 | struct sas_discovery { |
204 | spinlock_t disc_event_lock; | 209 | spinlock_t disc_event_lock; |
205 | struct work_struct disc_work[DISC_NUM_EVENTS]; | 210 | struct sas_discovery_event disc_work[DISC_NUM_EVENTS]; |
206 | unsigned long pending; | 211 | unsigned long pending; |
207 | u8 fanout_sas_addr[8]; | 212 | u8 fanout_sas_addr[8]; |
208 | u8 eeds_a[8]; | 213 | u8 eeds_a[8]; |
@@ -248,14 +253,19 @@ struct asd_sas_port { | |||
248 | void *lldd_port; /* not touched by the sas class code */ | 253 | void *lldd_port; /* not touched by the sas class code */ |
249 | }; | 254 | }; |
250 | 255 | ||
256 | struct asd_sas_event { | ||
257 | struct work_struct work; | ||
258 | struct asd_sas_phy *phy; | ||
259 | }; | ||
260 | |||
251 | /* The phy pretty much is controlled by the LLDD. | 261 | /* The phy pretty much is controlled by the LLDD. |
252 | * The class only reads those fields. | 262 | * The class only reads those fields. |
253 | */ | 263 | */ |
254 | struct asd_sas_phy { | 264 | struct asd_sas_phy { |
255 | /* private: */ | 265 | /* private: */ |
256 | /* protected by ha->event_lock */ | 266 | /* protected by ha->event_lock */ |
257 | struct work_struct port_events[PORT_NUM_EVENTS]; | 267 | struct asd_sas_event port_events[PORT_NUM_EVENTS]; |
258 | struct work_struct phy_events[PHY_NUM_EVENTS]; | 268 | struct asd_sas_event phy_events[PHY_NUM_EVENTS]; |
259 | 269 | ||
260 | unsigned long port_events_pending; | 270 | unsigned long port_events_pending; |
261 | unsigned long phy_events_pending; | 271 | unsigned long phy_events_pending; |
@@ -307,10 +317,15 @@ struct scsi_core { | |||
307 | int queue_thread_kill; | 317 | int queue_thread_kill; |
308 | }; | 318 | }; |
309 | 319 | ||
320 | struct sas_ha_event { | ||
321 | struct work_struct work; | ||
322 | struct sas_ha_struct *ha; | ||
323 | }; | ||
324 | |||
310 | struct sas_ha_struct { | 325 | struct sas_ha_struct { |
311 | /* private: */ | 326 | /* private: */ |
312 | spinlock_t event_lock; | 327 | spinlock_t event_lock; |
313 | struct work_struct ha_events[HA_NUM_EVENTS]; | 328 | struct sas_ha_event ha_events[HA_NUM_EVENTS]; |
314 | unsigned long pending; | 329 | unsigned long pending; |
315 | 330 | ||
316 | struct scsi_core core; | 331 | struct scsi_core core; |
diff --git a/include/scsi/scsi_transport_fc.h b/include/scsi/scsi_transport_fc.h index fd352323378b..798f7c7ee426 100644 --- a/include/scsi/scsi_transport_fc.h +++ b/include/scsi/scsi_transport_fc.h | |||
@@ -206,9 +206,9 @@ struct fc_rport { /* aka fc_starget_attrs */ | |||
206 | u8 flags; | 206 | u8 flags; |
207 | struct list_head peers; | 207 | struct list_head peers; |
208 | struct device dev; | 208 | struct device dev; |
209 | struct work_struct dev_loss_work; | 209 | struct delayed_work dev_loss_work; |
210 | struct work_struct scan_work; | 210 | struct work_struct scan_work; |
211 | struct work_struct fail_io_work; | 211 | struct delayed_work fail_io_work; |
212 | struct work_struct stgt_delete_work; | 212 | struct work_struct stgt_delete_work; |
213 | struct work_struct rport_delete_work; | 213 | struct work_struct rport_delete_work; |
214 | } __attribute__((aligned(sizeof(unsigned long)))); | 214 | } __attribute__((aligned(sizeof(unsigned long)))); |
diff --git a/include/scsi/scsi_transport_iscsi.h b/include/scsi/scsi_transport_iscsi.h index 4b95c89c95c9..d5c218ddc527 100644 --- a/include/scsi/scsi_transport_iscsi.h +++ b/include/scsi/scsi_transport_iscsi.h | |||
@@ -176,7 +176,7 @@ struct iscsi_cls_session { | |||
176 | 176 | ||
177 | /* recovery fields */ | 177 | /* recovery fields */ |
178 | int recovery_tmo; | 178 | int recovery_tmo; |
179 | struct work_struct recovery_work; | 179 | struct delayed_work recovery_work; |
180 | 180 | ||
181 | int target_id; | 181 | int target_id; |
182 | 182 | ||