diff options
Diffstat (limited to 'drivers/scsi/snic')
-rw-r--r-- | drivers/scsi/snic/snic.h | 2 | ||||
-rw-r--r-- | drivers/scsi/snic/snic_attrs.c | 19 | ||||
-rw-r--r-- | drivers/scsi/snic/snic_main.c | 2 | ||||
-rw-r--r-- | drivers/scsi/snic/snic_scsi.c | 33 |
4 files changed, 30 insertions, 26 deletions
diff --git a/drivers/scsi/snic/snic.h b/drivers/scsi/snic/snic.h index f4c666285bba..4ec7e30678e1 100644 --- a/drivers/scsi/snic/snic.h +++ b/drivers/scsi/snic/snic.h @@ -374,7 +374,7 @@ int snic_glob_init(void); void snic_glob_cleanup(void); extern struct workqueue_struct *snic_event_queue; -extern struct device_attribute *snic_attrs[]; +extern const struct attribute_group *snic_host_groups[]; int snic_queuecommand(struct Scsi_Host *, struct scsi_cmnd *); int snic_abort_cmd(struct scsi_cmnd *); diff --git a/drivers/scsi/snic/snic_attrs.c b/drivers/scsi/snic/snic_attrs.c index 32d5d556b6f8..dc03ce1ec909 100644 --- a/drivers/scsi/snic/snic_attrs.c +++ b/drivers/scsi/snic/snic_attrs.c @@ -68,10 +68,19 @@ static DEVICE_ATTR(snic_state, S_IRUGO, snic_show_state, NULL); static DEVICE_ATTR(drv_version, S_IRUGO, snic_show_drv_version, NULL); static DEVICE_ATTR(link_state, S_IRUGO, snic_show_link_state, NULL); -struct device_attribute *snic_attrs[] = { - &dev_attr_snic_sym_name, - &dev_attr_snic_state, - &dev_attr_drv_version, - &dev_attr_link_state, +static struct attribute *snic_host_attrs[] = { + &dev_attr_snic_sym_name.attr, + &dev_attr_snic_state.attr, + &dev_attr_drv_version.attr, + &dev_attr_link_state.attr, NULL, }; + +static const struct attribute_group snic_host_attr_group = { + .attrs = snic_host_attrs +}; + +const struct attribute_group *snic_host_groups[] = { + &snic_host_attr_group, + NULL +}; diff --git a/drivers/scsi/snic/snic_main.c b/drivers/scsi/snic/snic_main.c index 14f4ce665e58..29d56396058c 100644 --- a/drivers/scsi/snic/snic_main.c +++ b/drivers/scsi/snic/snic_main.c @@ -129,7 +129,7 @@ static struct scsi_host_template snic_host_template = { .can_queue = SNIC_MAX_IO_REQ, .sg_tablesize = SNIC_MAX_SG_DESC_CNT, .max_sectors = 0x800, - .shost_attrs = snic_attrs, + .shost_groups = snic_host_groups, .track_queue_depth = 1, .cmd_size = sizeof(struct snic_internal_io_state), .proc_name = "snic_scsi", diff --git a/drivers/scsi/snic/snic_scsi.c b/drivers/scsi/snic/snic_scsi.c index 43a950185e24..5f17666f3e1d 100644 --- a/drivers/scsi/snic/snic_scsi.c +++ b/drivers/scsi/snic/snic_scsi.c @@ -342,7 +342,7 @@ snic_queuecommand(struct Scsi_Host *shost, struct scsi_cmnd *sc) SNIC_HOST_ERR(shost, "Tgt %p id %d Not Ready.\n", tgt, tgt->id); atomic64_inc(&snic->s_stats.misc.tgt_not_rdy); sc->result = ret; - sc->scsi_done(sc); + scsi_done(sc); return 0; } @@ -676,8 +676,7 @@ snic_icmnd_cmpl_handler(struct snic *snic, struct snic_fw_req *fwreq) SNIC_TRC_CMD(sc), SNIC_TRC_CMD_STATE_FLAGS(sc)); - if (sc->scsi_done) - sc->scsi_done(sc); + scsi_done(sc); snic_stats_update_io_cmpl(&snic->s_stats); } /* end of snic_icmnd_cmpl_handler */ @@ -855,14 +854,12 @@ snic_process_itmf_cmpl(struct snic *snic, snic_release_req_buf(snic, rqi, sc); - if (sc->scsi_done) { - SNIC_TRC(snic->shost->host_no, cmnd_id, (ulong) sc, - jiffies_to_msecs(jiffies - start_time), - (ulong) fwreq, SNIC_TRC_CMD(sc), - SNIC_TRC_CMD_STATE_FLAGS(sc)); + SNIC_TRC(snic->shost->host_no, cmnd_id, (ulong) sc, + jiffies_to_msecs(jiffies - start_time), + (ulong) fwreq, SNIC_TRC_CMD(sc), + SNIC_TRC_CMD_STATE_FLAGS(sc)); - sc->scsi_done(sc); - } + scsi_done(sc); break; @@ -1475,7 +1472,7 @@ snic_abort_finish(struct snic *snic, struct scsi_cmnd *sc) * Call scsi_done to complete the IO. */ sc->result = (DID_ERROR << 16); - sc->scsi_done(sc); + scsi_done(sc); break; default: @@ -1855,7 +1852,7 @@ snic_dr_clean_single_req(struct snic *snic, snic_release_req_buf(snic, rqi, sc); sc->result = (DID_ERROR << 16); - sc->scsi_done(sc); + scsi_done(sc); ret = 0; @@ -2500,14 +2497,12 @@ cleanup: /* Update IO stats */ snic_stats_update_io_cmpl(&snic->s_stats); - if (sc->scsi_done) { - SNIC_TRC(snic->shost->host_no, tag, (ulong) sc, - jiffies_to_msecs(jiffies - st_time), 0, - SNIC_TRC_CMD(sc), - SNIC_TRC_CMD_STATE_FLAGS(sc)); + SNIC_TRC(snic->shost->host_no, tag, (ulong) sc, + jiffies_to_msecs(jiffies - st_time), 0, + SNIC_TRC_CMD(sc), + SNIC_TRC_CMD_STATE_FLAGS(sc)); - sc->scsi_done(sc); - } + scsi_done(sc); } } /* end of snic_scsi_cleanup */ |