aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_gbl.h
diff options
context:
space:
mode:
authorAnirban Chakraborty <anirban.chakraborty@qlogic.com>2008-11-06 13:40:19 -0500
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-12-29 12:24:15 -0500
commit7b867cf76fbcc8d77867cbec6f509f71dce8a98f (patch)
treeef5fcc1e21701ed1baa1b131c7c29f29cd41d5d6 /drivers/scsi/qla2xxx/qla_gbl.h
parenta9b589d90e3d7748dae459031c2d912cd9e83c88 (diff)
[SCSI] qla2xxx: Refactor qla data structures
Following changes have been made to the qla2xxx FC driver in preparation for the multi- queue and future SR IOV hardware. 1. scsi_qla_host structure has been changed to contain scsi host specific data only. 2. A new structure, qla_hw_data is created to contain HBA specific hardware data. 3. Request and response IO specific data strucures are created. 4. The global list of fcports for the hba is not maintained anymore, instead a fcport list is construted on per scsi_qla_host. Signed-of-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_gbl.h')
-rw-r--r--drivers/scsi/qla2xxx/qla_gbl.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
index 753dbe6cce6e..c0cc686d6cc3 100644
--- a/drivers/scsi/qla2xxx/qla_gbl.h
+++ b/drivers/scsi/qla2xxx/qla_gbl.h
@@ -72,7 +72,10 @@ extern int qla2x00_post_hwe_work(struct scsi_qla_host *, uint16_t , uint16_t,
72 uint16_t, uint16_t); 72 uint16_t, uint16_t);
73 73
74extern void qla2x00_abort_fcport_cmds(fc_port_t *); 74extern void qla2x00_abort_fcport_cmds(fc_port_t *);
75 75extern struct scsi_qla_host *qla2x00_create_host(struct scsi_host_template *,
76 struct qla_hw_data *);
77extern void qla2x00_free_host(struct scsi_qla_host *);
78extern void qla2x00_relogin(struct scsi_qla_host *);
76/* 79/*
77 * Global Functions in qla_mid.c source file. 80 * Global Functions in qla_mid.c source file.
78 */ 81 */
@@ -105,10 +108,10 @@ extern struct fw_blob *qla2x00_request_firmware(scsi_qla_host_t *);
105 108
106extern int qla2x00_wait_for_hba_online(scsi_qla_host_t *); 109extern int qla2x00_wait_for_hba_online(scsi_qla_host_t *);
107 110
108extern void qla2xxx_wake_dpc(scsi_qla_host_t *); 111extern void qla2xxx_wake_dpc(struct scsi_qla_host *);
109extern void qla2x00_alert_all_vps(scsi_qla_host_t *, uint16_t *); 112extern void qla2x00_alert_all_vps(struct qla_hw_data *, uint16_t *);
110extern void qla2x00_async_event(scsi_qla_host_t *, uint16_t *); 113extern void qla2x00_async_event(scsi_qla_host_t *, uint16_t *);
111extern void qla2x00_vp_abort_isp(scsi_qla_host_t *); 114extern int qla2x00_vp_abort_isp(scsi_qla_host_t *);
112 115
113/* 116/*
114 * Global Function Prototypes in qla_iocb.c source file. 117 * Global Function Prototypes in qla_iocb.c source file.
@@ -267,7 +270,7 @@ extern irqreturn_t qla24xx_intr_handler(int, void *);
267extern void qla2x00_process_response_queue(struct scsi_qla_host *); 270extern void qla2x00_process_response_queue(struct scsi_qla_host *);
268extern void qla24xx_process_response_queue(struct scsi_qla_host *); 271extern void qla24xx_process_response_queue(struct scsi_qla_host *);
269 272
270extern int qla2x00_request_irqs(scsi_qla_host_t *); 273extern int qla2x00_request_irqs(struct qla_hw_data *);
271extern void qla2x00_free_irqs(scsi_qla_host_t *); 274extern void qla2x00_free_irqs(scsi_qla_host_t *);
272 275
273/* 276/*