aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorBartosz Barcinski <Bartosz.Barcinski@intel.com>2011-04-12 20:28:41 -0400
committerDan Williams <dan.j.williams@intel.com>2011-07-03 07:00:37 -0400
commit467e855a0331f619f41fbf7391bc29ec0ca923a0 (patch)
treeb41ed653dcb0b6a0f6c9ab1ee2cc5bfb129eda8c /drivers
parent26bace349ecd08b1d744f7067d24fd1bedb91020 (diff)
isci: sparse warnings cleanup
Clean warnings and errors reported by sparse tool. request.c:430:50: warning: mixing different enum types remote_device.c:534:39: warning: symbol 'flags' shadows an earlier one task.c:495:44: warning: mixing different enum types scic_sds_controller.c:2155:24: warning: mixing different enum types scic_sds_controller.c:2272:36: warning: mixing different enum types scic_sds_controller.c:2911:38: warning: incorrect type in initializer (different address spaces) scic_sds_controller.c:2913:25: warning: incorrect type in argument 2 (different address spaces) scic_sds_request.c:875:34: warning: cast removes address space of expression scic_sds_request.c:876:123: warning: incorrect type in argument 2 (different address spaces) scic_sds_port.c:585:51: warning: incorrect type in assignment (different address spaces) scic_sds_port.c:712:9: warning: incorrect type in argument 2 (different address spaces) scic_sds_port.c:1770:25: warning: incorrect type in argument 2 (different address spaces) Signed-off-by: Bartosz Barcinski <Bartosz.Barcinski@intel.com> Signed-off-by: Maciej Patelczyk <maciej.patelczyk@intel.com> [fixed up some false positives and misconversions] Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/scsi/isci/core/scic_controller.h2
-rw-r--r--drivers/scsi/isci/core/scic_sds_controller.c8
-rw-r--r--drivers/scsi/isci/core/scic_sds_port.h2
-rw-r--r--drivers/scsi/isci/core/scic_sds_request.c11
-rw-r--r--drivers/scsi/isci/remote_device.c6
-rw-r--r--drivers/scsi/isci/task.c4
6 files changed, 16 insertions, 17 deletions
diff --git a/drivers/scsi/isci/core/scic_controller.h b/drivers/scsi/isci/core/scic_controller.h
index 23a2c785fecd..23c7b5c004f4 100644
--- a/drivers/scsi/isci/core/scic_controller.h
+++ b/drivers/scsi/isci/core/scic_controller.h
@@ -98,7 +98,7 @@ enum sci_status scic_controller_stop(
98enum sci_status scic_controller_reset( 98enum sci_status scic_controller_reset(
99 struct scic_sds_controller *controller); 99 struct scic_sds_controller *controller);
100 100
101enum sci_io_status scic_controller_start_io( 101enum sci_status scic_controller_start_io(
102 struct scic_sds_controller *controller, 102 struct scic_sds_controller *controller,
103 struct scic_sds_remote_device *remote_device, 103 struct scic_sds_remote_device *remote_device,
104 struct scic_sds_request *io_request, 104 struct scic_sds_request *io_request,
diff --git a/drivers/scsi/isci/core/scic_sds_controller.c b/drivers/scsi/isci/core/scic_sds_controller.c
index 78b2e6f76d1a..8194618b76c6 100644
--- a/drivers/scsi/isci/core/scic_sds_controller.c
+++ b/drivers/scsi/isci/core/scic_sds_controller.c
@@ -1967,10 +1967,10 @@ enum sci_status scic_controller_reset(
1967 * requirement for the user to call scic_stp_io_set_ncq_tag() prior to invoking 1967 * requirement for the user to call scic_stp_io_set_ncq_tag() prior to invoking
1968 * the scic_controller_start_io() method. scic_controller_allocate_tag() for 1968 * the scic_controller_start_io() method. scic_controller_allocate_tag() for
1969 * more information on allocating a tag. Indicate if the controller 1969 * more information on allocating a tag. Indicate if the controller
1970 * successfully started the IO request. SCI_IO_SUCCESS if the IO request was 1970 * successfully started the IO request. SCI_SUCCESS if the IO request was
1971 * successfully started. Determine the failure situations and return values. 1971 * successfully started. Determine the failure situations and return values.
1972 */ 1972 */
1973enum sci_io_status scic_controller_start_io( 1973enum sci_status scic_controller_start_io(
1974 struct scic_sds_controller *scic, 1974 struct scic_sds_controller *scic,
1975 struct scic_sds_remote_device *rdev, 1975 struct scic_sds_remote_device *rdev,
1976 struct scic_sds_request *req, 1976 struct scic_sds_request *req,
@@ -2723,8 +2723,8 @@ enum sci_status scic_controller_initialize(
2723 * logical ports 2723 * logical ports
2724 */ 2724 */
2725 for (index = 0; index < max_supported_ports; index++) { 2725 for (index = 0; index < max_supported_ports; index++) {
2726 struct scu_port_task_scheduler_group_registers *ptsg = 2726 struct scu_port_task_scheduler_group_registers __iomem
2727 &scic->scu_registers->peg0.ptsg; 2727 *ptsg = &scic->scu_registers->peg0.ptsg;
2728 2728
2729 writel(index, &ptsg->protocol_engine[index]); 2729 writel(index, &ptsg->protocol_engine[index]);
2730 } 2730 }
diff --git a/drivers/scsi/isci/core/scic_sds_port.h b/drivers/scsi/isci/core/scic_sds_port.h
index a17c64a7cbf2..c7741e81336e 100644
--- a/drivers/scsi/isci/core/scic_sds_port.h
+++ b/drivers/scsi/isci/core/scic_sds_port.h
@@ -250,7 +250,7 @@ struct scic_sds_port {
250 * task scheduler group PE configuration registers. 250 * task scheduler group PE configuration registers.
251 * It is used to assign PEs to a port. 251 * It is used to assign PEs to a port.
252 */ 252 */
253 u32 *port_pe_configuration_register; 253 u32 __iomem *port_pe_configuration_register;
254 254
255 /** 255 /**
256 * This field is the VIIT register space for ths port object. 256 * This field is the VIIT register space for ths port object.
diff --git a/drivers/scsi/isci/core/scic_sds_request.c b/drivers/scsi/isci/core/scic_sds_request.c
index 191b5d0f1a53..64aa9c60836f 100644
--- a/drivers/scsi/isci/core/scic_sds_request.c
+++ b/drivers/scsi/isci/core/scic_sds_request.c
@@ -850,19 +850,20 @@ void *scic_io_request_get_response_iu_address(
850u32 scic_io_request_get_number_of_bytes_transferred( 850u32 scic_io_request_get_number_of_bytes_transferred(
851 struct scic_sds_request *scic_sds_request) 851 struct scic_sds_request *scic_sds_request)
852{ 852{
853 struct scic_sds_controller *scic = scic_sds_request->owning_controller;
853 u32 ret_val = 0; 854 u32 ret_val = 0;
854 855
855 if (readl(&scic_sds_request->owning_controller->smu_registers->address_modifier) == 0) { 856 if (readl(&scic->smu_registers->address_modifier) == 0) {
857 void __iomem *scu_reg_base = scic->scu_registers;
856 /* 858 /*
857 * get the bytes of data from the Address == BAR1 + 20002Ch + (256*TCi) where 859 * get the bytes of data from the Address == BAR1 + 20002Ch + (256*TCi) where
858 * BAR1 is the scu_registers 860 * BAR1 is the scu_registers
859 * 0x20002C = 0x200000 + 0x2c 861 * 0x20002C = 0x200000 + 0x2c
860 * = start of task context SRAM + offset of (type.ssp.data_offset) 862 * = start of task context SRAM + offset of (type.ssp.data_offset)
861 * TCi is the io_tag of struct scic_sds_request */ 863 * TCi is the io_tag of struct scic_sds_request */
862 ret_val = readl((u8 *)scic_sds_request->owning_controller->scu_registers + 864 ret_val = readl(scu_reg_base +
863 (SCU_TASK_CONTEXT_SRAM + SCI_FIELD_OFFSET(struct scu_task_context, type.ssp.data_offset)) + 865 (SCU_TASK_CONTEXT_SRAM + offsetof(struct scu_task_context, type.ssp.data_offset)) +
864 ((sizeof(struct scu_task_context)) * scic_sds_io_tag_get_index(scic_sds_request->io_tag)) 866 ((sizeof(struct scu_task_context)) * scic_sds_io_tag_get_index(scic_sds_request->io_tag)));
865 );
866 } 867 }
867 868
868 return ret_val; 869 return ret_val;
diff --git a/drivers/scsi/isci/remote_device.c b/drivers/scsi/isci/remote_device.c
index ab638ec5881c..320850cf46f2 100644
--- a/drivers/scsi/isci/remote_device.c
+++ b/drivers/scsi/isci/remote_device.c
@@ -513,15 +513,13 @@ bool isci_device_is_reset_pending(
513 __func__, isci_device, isci_request); 513 __func__, isci_device, isci_request);
514 514
515 if (isci_request->ttype == io_task) { 515 if (isci_request->ttype == io_task) {
516
517 unsigned long flags;
518 struct sas_task *task = isci_request_access_task( 516 struct sas_task *task = isci_request_access_task(
519 isci_request); 517 isci_request);
520 518
521 spin_lock_irqsave(&task->task_state_lock, flags); 519 spin_lock(&task->task_state_lock);
522 if (task->task_state_flags & SAS_TASK_NEED_DEV_RESET) 520 if (task->task_state_flags & SAS_TASK_NEED_DEV_RESET)
523 reset_is_pending = true; 521 reset_is_pending = true;
524 spin_unlock_irqrestore(&task->task_state_lock, flags); 522 spin_unlock(&task->task_state_lock);
525 } 523 }
526 } 524 }
527 525
diff --git a/drivers/scsi/isci/task.c b/drivers/scsi/isci/task.c
index aa6b43067e25..b88101e195d1 100644
--- a/drivers/scsi/isci/task.c
+++ b/drivers/scsi/isci/task.c
@@ -429,7 +429,7 @@ int isci_task_execute_tmf(
429 unsigned long timeout_ms) 429 unsigned long timeout_ms)
430{ 430{
431 DECLARE_COMPLETION_ONSTACK(completion); 431 DECLARE_COMPLETION_ONSTACK(completion);
432 enum sci_status status = SCI_FAILURE; 432 enum sci_task_status status = SCI_TASK_FAILURE;
433 struct scic_sds_remote_device *sci_device; 433 struct scic_sds_remote_device *sci_device;
434 struct isci_remote_device *isci_device = tmf->device; 434 struct isci_remote_device *isci_device = tmf->device;
435 struct isci_request *request; 435 struct isci_request *request;
@@ -488,7 +488,7 @@ int isci_task_execute_tmf(
488 SCI_CONTROLLER_INVALID_IO_TAG 488 SCI_CONTROLLER_INVALID_IO_TAG
489 ); 489 );
490 490
491 if (status != SCI_SUCCESS) { 491 if (status != SCI_TASK_SUCCESS) {
492 dev_warn(&isci_host->pdev->dev, 492 dev_warn(&isci_host->pdev->dev,
493 "%s: start_io failed - status = 0x%x, request = %p\n", 493 "%s: start_io failed - status = 0x%x, request = %p\n",
494 __func__, 494 __func__,