aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla4xxx/ql4_os.c
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2007-05-30 13:57:10 -0400
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-06-01 12:23:12 -0400
commit2174a04ee7d8304a270de183fbc58b36dd05b395 (patch)
tree26fbb873bf9c0f4ef65ec748d4c3f22e12b0a157 /drivers/scsi/qla4xxx/ql4_os.c
parentaa1e93a2fe0392588220d491454e7752d0fdb251 (diff)
[SCSI] iscsi_transport, qla4xxx: have class lookup host for drivers
We are going to be adding more host level sysfs attrs and set_params, so this patch has them take a scsi_host instead of either a scsi_host or host no. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Cc: David C Somayajulu <david.somayajulu@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_os.c')
-rw-r--r--drivers/scsi/qla4xxx/ql4_os.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index 01308e7ef2a..29cd4b90ebe 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -54,8 +54,9 @@ static void qla4xxx_config_dma_addressing(struct scsi_qla_host *ha);
54/* 54/*
55 * iSCSI template entry points 55 * iSCSI template entry points
56 */ 56 */
57static int qla4xxx_tgt_dscvr(enum iscsi_tgt_dscvr type, uint32_t host_no, 57static int qla4xxx_tgt_dscvr(struct Scsi_Host *shost,
58 uint32_t enable, struct sockaddr *dst_addr); 58 enum iscsi_tgt_dscvr type, uint32_t enable,
59 struct sockaddr *dst_addr);
59static int qla4xxx_conn_get_param(struct iscsi_cls_conn *conn, 60static int qla4xxx_conn_get_param(struct iscsi_cls_conn *conn,
60 enum iscsi_param param, char *buf); 61 enum iscsi_param param, char *buf);
61static int qla4xxx_sess_get_param(struct iscsi_cls_session *sess, 62static int qla4xxx_sess_get_param(struct iscsi_cls_session *sess,
@@ -243,21 +244,15 @@ static int qla4xxx_conn_get_param(struct iscsi_cls_conn *conn,
243 return len; 244 return len;
244} 245}
245 246
246static int qla4xxx_tgt_dscvr(enum iscsi_tgt_dscvr type, uint32_t host_no, 247static int qla4xxx_tgt_dscvr(struct Scsi_Host *shost,
247 uint32_t enable, struct sockaddr *dst_addr) 248 enum iscsi_tgt_dscvr type, uint32_t enable,
249 struct sockaddr *dst_addr)
248{ 250{
249 struct scsi_qla_host *ha; 251 struct scsi_qla_host *ha;
250 struct Scsi_Host *shost;
251 struct sockaddr_in *addr; 252 struct sockaddr_in *addr;
252 struct sockaddr_in6 *addr6; 253 struct sockaddr_in6 *addr6;
253 int ret = 0; 254 int ret = 0;
254 255
255 shost = scsi_host_lookup(host_no);
256 if (IS_ERR(shost)) {
257 printk(KERN_ERR "Could not find host no %u\n", host_no);
258 return -ENODEV;
259 }
260
261 ha = (struct scsi_qla_host *) shost->hostdata; 256 ha = (struct scsi_qla_host *) shost->hostdata;
262 257
263 switch (type) { 258 switch (type) {
@@ -281,8 +276,6 @@ static int qla4xxx_tgt_dscvr(enum iscsi_tgt_dscvr type, uint32_t host_no,
281 default: 276 default:
282 ret = -ENOSYS; 277 ret = -ENOSYS;
283 } 278 }
284
285 scsi_host_put(shost);
286 return ret; 279 return ret;
287} 280}
288 281