aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_def.h
diff options
context:
space:
mode:
authorAndrew Vasquez <andrew.vasquez@qlogic.com>2010-05-04 18:01:25 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-05-16 18:21:44 -0400
commit99b0bec7bbf3350d1a920a7138fa62c456a8ecf1 (patch)
tree89e2265ec02f650e11a3ae8c53bcba295f9b3f76 /drivers/scsi/qla2xxx/qla_def.h
parent6a03b4cd78f3f2695a2d0e6343d555b3de0e67c1 (diff)
[SCSI] qla2xxx: Further generalization of SRB CTX infrastructure.
Prepare CTX infrastructure for additional asynchronous executions, add generic done() operator, pull CMD definitions. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_def.h')
-rw-r--r--drivers/scsi/qla2xxx/qla_def.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index d4a53e5549b9..b3cf6099600b 100644
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -214,14 +214,21 @@ typedef struct srb {
214/* 214/*
215 * SRB extensions. 215 * SRB extensions.
216 */ 216 */
217struct srb_ctx {
218#define SRB_LOGIN_CMD 1 217#define SRB_LOGIN_CMD 1
219#define SRB_LOGOUT_CMD 2 218#define SRB_LOGOUT_CMD 2
219#define SRB_ELS_CMD_RPT 3
220#define SRB_ELS_CMD_HST 4
221#define SRB_CT_CMD 5
222
223struct srb_ctx {
220 uint16_t type; 224 uint16_t type;
225 char *name;
226
221 struct timer_list timer; 227 struct timer_list timer;
222 228
223 void (*free)(srb_t *sp); 229 void (*done)(srb_t *);
224 void (*timeout)(srb_t *sp); 230 void (*free)(srb_t *);
231 void (*timeout)(srb_t *);
225}; 232};
226 233
227struct srb_logio { 234struct srb_logio {
@@ -231,12 +238,10 @@ struct srb_logio {
231#define SRB_LOGIN_COND_PLOGI BIT_1 238#define SRB_LOGIN_COND_PLOGI BIT_1
232#define SRB_LOGIN_SKIP_PRLI BIT_2 239#define SRB_LOGIN_SKIP_PRLI BIT_2
233 uint16_t flags; 240 uint16_t flags;
241 uint16_t data[2];
234}; 242};
235 243
236struct srb_bsg_ctx { 244struct srb_bsg_ctx {
237#define SRB_ELS_CMD_RPT 3
238#define SRB_ELS_CMD_HST 4
239#define SRB_CT_CMD 5
240 uint16_t type; 245 uint16_t type;
241}; 246};
242 247