Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux
[linux-2.6-microblaze.git] / drivers / scsi / ipr.c
index 5d78f7e..104bee9 100644 (file)
@@ -866,7 +866,7 @@ static void __ipr_scsi_eh_done(struct ipr_cmnd *ipr_cmd)
        scsi_cmd->result |= (DID_ERROR << 16);
 
        scsi_dma_unmap(ipr_cmd->scsi_cmd);
-       scsi_cmd->scsi_done(scsi_cmd);
+       scsi_done(scsi_cmd);
        if (ipr_cmd->eh_comp)
                complete(ipr_cmd->eh_comp);
        list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
@@ -4236,18 +4236,20 @@ static struct bin_attribute ipr_ioa_async_err_log = {
        .write = ipr_next_async_err_log
 };
 
-static struct device_attribute *ipr_ioa_attrs[] = {
-       &ipr_fw_version_attr,
-       &ipr_log_level_attr,
-       &ipr_diagnostics_attr,
-       &ipr_ioa_state_attr,
-       &ipr_ioa_reset_attr,
-       &ipr_update_fw_attr,
-       &ipr_ioa_fw_type_attr,
-       &ipr_iopoll_weight_attr,
+static struct attribute *ipr_ioa_attrs[] = {
+       &ipr_fw_version_attr.attr,
+       &ipr_log_level_attr.attr,
+       &ipr_diagnostics_attr.attr,
+       &ipr_ioa_state_attr.attr,
+       &ipr_ioa_reset_attr.attr,
+       &ipr_update_fw_attr.attr,
+       &ipr_ioa_fw_type_attr.attr,
+       &ipr_iopoll_weight_attr.attr,
        NULL,
 };
 
+ATTRIBUTE_GROUPS(ipr_ioa);
+
 #ifdef CONFIG_SCSI_IPR_DUMP
 /**
  * ipr_read_dump - Dump the adapter
@@ -4732,15 +4734,17 @@ static struct device_attribute ipr_raw_mode_attr = {
        .store = ipr_store_raw_mode
 };
 
-static struct device_attribute *ipr_dev_attrs[] = {
-       &ipr_adapter_handle_attr,
-       &ipr_resource_path_attr,
-       &ipr_device_id_attr,
-       &ipr_resource_type_attr,
-       &ipr_raw_mode_attr,
+static struct attribute *ipr_dev_attrs[] = {
+       &ipr_adapter_handle_attr.attr,
+       &ipr_resource_path_attr.attr,
+       &ipr_device_id_attr.attr,
+       &ipr_resource_type_attr.attr,
+       &ipr_raw_mode_attr.attr,
        NULL,
 };
 
+ATTRIBUTE_GROUPS(ipr_dev);
+
 /**
  * ipr_biosparam - Return the HSC mapping
  * @sdev:                      scsi device struct
@@ -6065,7 +6069,7 @@ static void __ipr_erp_done(struct ipr_cmnd *ipr_cmd)
                res->in_erp = 0;
        }
        scsi_dma_unmap(ipr_cmd->scsi_cmd);
-       scsi_cmd->scsi_done(scsi_cmd);
+       scsi_done(scsi_cmd);
        if (ipr_cmd->eh_comp)
                complete(ipr_cmd->eh_comp);
        list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
@@ -6502,7 +6506,7 @@ static void ipr_erp_start(struct ipr_ioa_cfg *ioa_cfg,
        }
 
        scsi_dma_unmap(ipr_cmd->scsi_cmd);
-       scsi_cmd->scsi_done(scsi_cmd);
+       scsi_done(scsi_cmd);
        if (ipr_cmd->eh_comp)
                complete(ipr_cmd->eh_comp);
        list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
@@ -6531,7 +6535,7 @@ static void ipr_scsi_done(struct ipr_cmnd *ipr_cmd)
                scsi_dma_unmap(scsi_cmd);
 
                spin_lock_irqsave(ipr_cmd->hrrq->lock, lock_flags);
-               scsi_cmd->scsi_done(scsi_cmd);
+               scsi_done(scsi_cmd);
                if (ipr_cmd->eh_comp)
                        complete(ipr_cmd->eh_comp);
                list_add_tail(&ipr_cmd->queue, &ipr_cmd->hrrq->hrrq_free_q);
@@ -6685,7 +6689,7 @@ err_nodev:
        spin_lock_irqsave(hrrq->lock, hrrq_flags);
        memset(scsi_cmd->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
        scsi_cmd->result = (DID_NO_CONNECT << 16);
-       scsi_cmd->scsi_done(scsi_cmd);
+       scsi_done(scsi_cmd);
        spin_unlock_irqrestore(hrrq->lock, hrrq_flags);
        return 0;
 }
@@ -6762,8 +6766,8 @@ static struct scsi_host_template driver_template = {
        .sg_tablesize = IPR_MAX_SGLIST,
        .max_sectors = IPR_IOA_MAX_SECTORS,
        .cmd_per_lun = IPR_MAX_CMD_PER_LUN,
-       .shost_attrs = ipr_ioa_attrs,
-       .sdev_attrs = ipr_dev_attrs,
+       .shost_groups = ipr_ioa_groups,
+       .sdev_groups = ipr_dev_groups,
        .proc_name = IPR_NAME,
 };