aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2011-05-01 19:01:05 -0400
committerDan Williams <dan.j.williams@intel.com>2011-07-03 07:04:45 -0400
commite4a867bb4a7617dc1067e1c41627782f3c6c284c (patch)
tree25c7b370fa09df1c0913c219e51fc9c762872f12
parent84b9b029bc4121c43294e27aeaa0350a6d07450c (diff)
isci: kill remote_device complete_task_handler
This is unused infrastructure. Reported-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
-rw-r--r--drivers/scsi/isci/remote_device.c152
-rw-r--r--drivers/scsi/isci/remote_device.h7
2 files changed, 0 insertions, 159 deletions
diff --git a/drivers/scsi/isci/remote_device.c b/drivers/scsi/isci/remote_device.c
index 3e7e95200a1e..3344f38355cd 100644
--- a/drivers/scsi/isci/remote_device.c
+++ b/drivers/scsi/isci/remote_device.c
@@ -795,13 +795,6 @@ static enum sci_status scic_sds_remote_device_default_frame_handler(
795 return SCI_FAILURE_INVALID_STATE; 795 return SCI_FAILURE_INVALID_STATE;
796} 796}
797 797
798static enum sci_status scic_sds_remote_device_default_complete_request_handler(
799 struct scic_sds_remote_device *sci_dev,
800 struct scic_sds_request *request)
801{
802 return default_device_handler(sci_dev, __func__);
803}
804
805/** 798/**
806 * 799 *
807 * @device: The struct scic_sds_remote_device which is then cast into a 800 * @device: The struct scic_sds_remote_device which is then cast into a
@@ -867,136 +860,6 @@ static enum sci_status scic_sds_remote_device_general_event_handler(
867 true); 860 true);
868} 861}
869 862
870/*
871 * This method will complete the request for the remote device object. The
872 * method will call the completion handler for the request object and if
873 * successful it will complete the request on the port object then decrement
874 * its own started_request_count. enum sci_status
875 */
876static enum sci_status scic_sds_remote_device_ready_state_complete_request_handler(
877 struct scic_sds_remote_device *sci_dev,
878 struct scic_sds_request *request)
879{
880 enum sci_status result;
881
882 result = scic_sds_request_complete(request);
883
884 if (result != SCI_SUCCESS)
885 return result;
886
887 /* See if the port is in a state
888 * where we can start the IO request */
889 result = scic_sds_port_complete_io(
890 scic_sds_remote_device_get_port(sci_dev),
891 sci_dev, request);
892
893 if (result == SCI_SUCCESS)
894 scic_sds_remote_device_decrement_request_count(sci_dev);
895
896 return result;
897}
898
899/**
900 *
901 * @device: The device object for which the request is completing.
902 * @request: The task request that is being completed.
903 *
904 * This method completes requests for this struct scic_sds_remote_device while it is
905 * in the SCI_BASE_REMOTE_DEVICE_STATE_STOPPING state. This method calls the
906 * complete method for the request object and if that is successful the port
907 * object is called to complete the task request. Then the device object itself
908 * completes the task request. If struct scic_sds_remote_device started_request_count
909 * goes to 0 and the invalidate RNC request has completed the device object can
910 * transition to the SCI_BASE_REMOTE_DEVICE_STATE_STOPPED. enum sci_status
911 */
912static enum sci_status scic_sds_remote_device_stopping_state_complete_request_handler(
913 struct scic_sds_remote_device *sci_dev,
914 struct scic_sds_request *request)
915{
916 enum sci_status status = SCI_SUCCESS;
917
918 status = scic_sds_request_complete(request);
919
920 if (status != SCI_SUCCESS)
921 return status;
922
923 status = scic_sds_port_complete_io(scic_sds_remote_device_get_port(sci_dev),
924 sci_dev, request);
925 if (status != SCI_SUCCESS)
926 return status;
927
928 scic_sds_remote_device_decrement_request_count(sci_dev);
929
930 if (scic_sds_remote_device_get_request_count(sci_dev) == 0)
931 scic_sds_remote_node_context_destruct(&sci_dev->rnc,
932 rnc_destruct_done, sci_dev);
933 return SCI_SUCCESS;
934}
935
936/* complete requests for this device while it is in the
937 * SCI_BASE_REMOTE_DEVICE_STATE_RESETTING state. This method calls the complete
938 * method for the request object and if that is successful the port object is
939 * called to complete the task request. Then the device object itself completes
940 * the task request. enum sci_status
941 */
942static enum sci_status scic_sds_remote_device_resetting_state_complete_request_handler(
943 struct scic_sds_remote_device *sci_dev,
944 struct scic_sds_request *request)
945{
946 enum sci_status status = SCI_SUCCESS;
947
948 status = scic_sds_request_complete(request);
949
950 if (status == SCI_SUCCESS) {
951 status = scic_sds_port_complete_io(
952 scic_sds_remote_device_get_port(sci_dev),
953 sci_dev, request);
954
955 if (status == SCI_SUCCESS) {
956 scic_sds_remote_device_decrement_request_count(sci_dev);
957 }
958 }
959
960 return status;
961}
962
963static enum sci_status scic_sds_stp_remote_device_complete_request(struct scic_sds_remote_device *sci_dev,
964 struct scic_sds_request *sci_req)
965{
966 enum sci_status status;
967
968 status = scic_sds_io_request_complete(sci_req);
969 if (status != SCI_SUCCESS)
970 goto out;
971
972 status = scic_sds_port_complete_io(sci_dev->owning_port, sci_dev, sci_req);
973 if (status != SCI_SUCCESS)
974 goto out;
975
976 scic_sds_remote_device_decrement_request_count(sci_dev);
977 if (sci_req->sci_status == SCI_FAILURE_REMOTE_DEVICE_RESET_REQUIRED) {
978 /* This request causes hardware error, device needs to be Lun Reset.
979 * So here we force the state machine to IDLE state so the rest IOs
980 * can reach RNC state handler, these IOs will be completed by RNC with
981 * status of "DEVICE_RESET_REQUIRED", instead of "INVALID STATE".
982 */
983 sci_base_state_machine_change_state(&sci_dev->state_machine,
984 SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_AWAIT_RESET);
985 } else if (scic_sds_remote_device_get_request_count(sci_dev) == 0)
986 sci_base_state_machine_change_state(&sci_dev->state_machine,
987 SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_IDLE);
988
989
990 out:
991 if (status != SCI_SUCCESS)
992 dev_err(scirdev_to_dev(sci_dev),
993 "%s: Port:0x%p Device:0x%p Request:0x%p Status:0x%x "
994 "could not complete\n", __func__, sci_dev->owning_port,
995 sci_dev, sci_req, status);
996
997 return status;
998}
999
1000static enum sci_status scic_sds_stp_remote_device_ready_idle_substate_event_handler( 863static enum sci_status scic_sds_stp_remote_device_ready_idle_substate_event_handler(
1001 struct scic_sds_remote_device *sci_dev, 864 struct scic_sds_remote_device *sci_dev,
1002 u32 event_code) 865 u32 event_code)
@@ -1113,105 +976,90 @@ static enum sci_status scic_sds_smp_remote_device_ready_cmd_substate_frame_handl
1113 976
1114static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_state_handler_table[] = { 977static const struct scic_sds_remote_device_state_handler scic_sds_remote_device_state_handler_table[] = {
1115 [SCI_BASE_REMOTE_DEVICE_STATE_INITIAL] = { 978 [SCI_BASE_REMOTE_DEVICE_STATE_INITIAL] = {
1116 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
1117 .suspend_handler = scic_sds_remote_device_default_suspend_handler, 979 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1118 .resume_handler = scic_sds_remote_device_default_resume_handler, 980 .resume_handler = scic_sds_remote_device_default_resume_handler,
1119 .event_handler = scic_sds_remote_device_default_event_handler, 981 .event_handler = scic_sds_remote_device_default_event_handler,
1120 .frame_handler = scic_sds_remote_device_default_frame_handler 982 .frame_handler = scic_sds_remote_device_default_frame_handler
1121 }, 983 },
1122 [SCI_BASE_REMOTE_DEVICE_STATE_STOPPED] = { 984 [SCI_BASE_REMOTE_DEVICE_STATE_STOPPED] = {
1123 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
1124 .suspend_handler = scic_sds_remote_device_default_suspend_handler, 985 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1125 .resume_handler = scic_sds_remote_device_default_resume_handler, 986 .resume_handler = scic_sds_remote_device_default_resume_handler,
1126 .event_handler = scic_sds_remote_device_default_event_handler, 987 .event_handler = scic_sds_remote_device_default_event_handler,
1127 .frame_handler = scic_sds_remote_device_default_frame_handler 988 .frame_handler = scic_sds_remote_device_default_frame_handler
1128 }, 989 },
1129 [SCI_BASE_REMOTE_DEVICE_STATE_STARTING] = { 990 [SCI_BASE_REMOTE_DEVICE_STATE_STARTING] = {
1130 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
1131 .suspend_handler = scic_sds_remote_device_default_suspend_handler, 991 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1132 .resume_handler = scic_sds_remote_device_default_resume_handler, 992 .resume_handler = scic_sds_remote_device_default_resume_handler,
1133 .event_handler = scic_sds_remote_device_general_event_handler, 993 .event_handler = scic_sds_remote_device_general_event_handler,
1134 .frame_handler = scic_sds_remote_device_default_frame_handler 994 .frame_handler = scic_sds_remote_device_default_frame_handler
1135 }, 995 },
1136 [SCI_BASE_REMOTE_DEVICE_STATE_READY] = { 996 [SCI_BASE_REMOTE_DEVICE_STATE_READY] = {
1137 .complete_task_handler = scic_sds_remote_device_ready_state_complete_request_handler,
1138 .suspend_handler = scic_sds_remote_device_default_suspend_handler, 997 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1139 .resume_handler = scic_sds_remote_device_default_resume_handler, 998 .resume_handler = scic_sds_remote_device_default_resume_handler,
1140 .event_handler = scic_sds_remote_device_general_event_handler, 999 .event_handler = scic_sds_remote_device_general_event_handler,
1141 .frame_handler = scic_sds_remote_device_general_frame_handler, 1000 .frame_handler = scic_sds_remote_device_general_frame_handler,
1142 }, 1001 },
1143 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_IDLE] = { 1002 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_IDLE] = {
1144 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
1145 .suspend_handler = scic_sds_remote_device_default_suspend_handler, 1003 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1146 .resume_handler = scic_sds_remote_device_default_resume_handler, 1004 .resume_handler = scic_sds_remote_device_default_resume_handler,
1147 .event_handler = scic_sds_stp_remote_device_ready_idle_substate_event_handler, 1005 .event_handler = scic_sds_stp_remote_device_ready_idle_substate_event_handler,
1148 .frame_handler = scic_sds_remote_device_default_frame_handler 1006 .frame_handler = scic_sds_remote_device_default_frame_handler
1149 }, 1007 },
1150 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_CMD] = { 1008 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_CMD] = {
1151 .complete_task_handler = scic_sds_stp_remote_device_complete_request,
1152 .suspend_handler = scic_sds_stp_remote_device_ready_cmd_substate_suspend_handler, 1009 .suspend_handler = scic_sds_stp_remote_device_ready_cmd_substate_suspend_handler,
1153 .resume_handler = scic_sds_remote_device_default_resume_handler, 1010 .resume_handler = scic_sds_remote_device_default_resume_handler,
1154 .event_handler = scic_sds_remote_device_general_event_handler, 1011 .event_handler = scic_sds_remote_device_general_event_handler,
1155 .frame_handler = scic_sds_stp_remote_device_ready_cmd_substate_frame_handler 1012 .frame_handler = scic_sds_stp_remote_device_ready_cmd_substate_frame_handler
1156 }, 1013 },
1157 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_NCQ] = { 1014 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_NCQ] = {
1158 .complete_task_handler = scic_sds_stp_remote_device_complete_request,
1159 .suspend_handler = scic_sds_remote_device_default_suspend_handler, 1015 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1160 .resume_handler = scic_sds_remote_device_default_resume_handler, 1016 .resume_handler = scic_sds_remote_device_default_resume_handler,
1161 .event_handler = scic_sds_remote_device_general_event_handler, 1017 .event_handler = scic_sds_remote_device_general_event_handler,
1162 .frame_handler = scic_sds_stp_remote_device_ready_ncq_substate_frame_handler 1018 .frame_handler = scic_sds_stp_remote_device_ready_ncq_substate_frame_handler
1163 }, 1019 },
1164 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_NCQ_ERROR] = { 1020 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_NCQ_ERROR] = {
1165 .complete_task_handler = scic_sds_stp_remote_device_complete_request,
1166 .suspend_handler = scic_sds_remote_device_default_suspend_handler, 1021 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1167 .resume_handler = scic_sds_remote_device_default_resume_handler, 1022 .resume_handler = scic_sds_remote_device_default_resume_handler,
1168 .event_handler = scic_sds_remote_device_general_event_handler, 1023 .event_handler = scic_sds_remote_device_general_event_handler,
1169 .frame_handler = scic_sds_remote_device_general_frame_handler 1024 .frame_handler = scic_sds_remote_device_general_frame_handler
1170 }, 1025 },
1171 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_AWAIT_RESET] = { 1026 [SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATE_AWAIT_RESET] = {
1172 .complete_task_handler = scic_sds_stp_remote_device_complete_request,
1173 .suspend_handler = scic_sds_remote_device_default_suspend_handler, 1027 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1174 .resume_handler = scic_sds_remote_device_default_resume_handler, 1028 .resume_handler = scic_sds_remote_device_default_resume_handler,
1175 .event_handler = scic_sds_remote_device_general_event_handler, 1029 .event_handler = scic_sds_remote_device_general_event_handler,
1176 .frame_handler = scic_sds_remote_device_general_frame_handler 1030 .frame_handler = scic_sds_remote_device_general_frame_handler
1177 }, 1031 },
1178 [SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_IDLE] = { 1032 [SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_IDLE] = {
1179 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
1180 .suspend_handler = scic_sds_remote_device_default_suspend_handler, 1033 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1181 .resume_handler = scic_sds_remote_device_default_resume_handler, 1034 .resume_handler = scic_sds_remote_device_default_resume_handler,
1182 .event_handler = scic_sds_remote_device_general_event_handler, 1035 .event_handler = scic_sds_remote_device_general_event_handler,
1183 .frame_handler = scic_sds_remote_device_default_frame_handler 1036 .frame_handler = scic_sds_remote_device_default_frame_handler
1184 }, 1037 },
1185 [SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_CMD] = { 1038 [SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATE_CMD] = {
1186 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
1187 .suspend_handler = scic_sds_remote_device_default_suspend_handler, 1039 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1188 .resume_handler = scic_sds_remote_device_default_resume_handler, 1040 .resume_handler = scic_sds_remote_device_default_resume_handler,
1189 .event_handler = scic_sds_remote_device_general_event_handler, 1041 .event_handler = scic_sds_remote_device_general_event_handler,
1190 .frame_handler = scic_sds_smp_remote_device_ready_cmd_substate_frame_handler 1042 .frame_handler = scic_sds_smp_remote_device_ready_cmd_substate_frame_handler
1191 }, 1043 },
1192 [SCI_BASE_REMOTE_DEVICE_STATE_STOPPING] = { 1044 [SCI_BASE_REMOTE_DEVICE_STATE_STOPPING] = {
1193 .complete_task_handler = scic_sds_remote_device_stopping_state_complete_request_handler,
1194 .suspend_handler = scic_sds_remote_device_default_suspend_handler, 1045 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1195 .resume_handler = scic_sds_remote_device_default_resume_handler, 1046 .resume_handler = scic_sds_remote_device_default_resume_handler,
1196 .event_handler = scic_sds_remote_device_general_event_handler, 1047 .event_handler = scic_sds_remote_device_general_event_handler,
1197 .frame_handler = scic_sds_remote_device_general_frame_handler 1048 .frame_handler = scic_sds_remote_device_general_frame_handler
1198 }, 1049 },
1199 [SCI_BASE_REMOTE_DEVICE_STATE_FAILED] = { 1050 [SCI_BASE_REMOTE_DEVICE_STATE_FAILED] = {
1200 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
1201 .suspend_handler = scic_sds_remote_device_default_suspend_handler, 1051 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1202 .resume_handler = scic_sds_remote_device_default_resume_handler, 1052 .resume_handler = scic_sds_remote_device_default_resume_handler,
1203 .event_handler = scic_sds_remote_device_default_event_handler, 1053 .event_handler = scic_sds_remote_device_default_event_handler,
1204 .frame_handler = scic_sds_remote_device_general_frame_handler 1054 .frame_handler = scic_sds_remote_device_general_frame_handler
1205 }, 1055 },
1206 [SCI_BASE_REMOTE_DEVICE_STATE_RESETTING] = { 1056 [SCI_BASE_REMOTE_DEVICE_STATE_RESETTING] = {
1207 .complete_task_handler = scic_sds_remote_device_resetting_state_complete_request_handler,
1208 .suspend_handler = scic_sds_remote_device_default_suspend_handler, 1057 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1209 .resume_handler = scic_sds_remote_device_default_resume_handler, 1058 .resume_handler = scic_sds_remote_device_default_resume_handler,
1210 .event_handler = scic_sds_remote_device_default_event_handler, 1059 .event_handler = scic_sds_remote_device_default_event_handler,
1211 .frame_handler = scic_sds_remote_device_general_frame_handler 1060 .frame_handler = scic_sds_remote_device_general_frame_handler
1212 }, 1061 },
1213 [SCI_BASE_REMOTE_DEVICE_STATE_FINAL] = { 1062 [SCI_BASE_REMOTE_DEVICE_STATE_FINAL] = {
1214 .complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
1215 .suspend_handler = scic_sds_remote_device_default_suspend_handler, 1063 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1216 .resume_handler = scic_sds_remote_device_default_resume_handler, 1064 .resume_handler = scic_sds_remote_device_default_resume_handler,
1217 .event_handler = scic_sds_remote_device_default_event_handler, 1065 .event_handler = scic_sds_remote_device_default_event_handler,
diff --git a/drivers/scsi/isci/remote_device.h b/drivers/scsi/isci/remote_device.h
index fb2b0079fe75..dbfb13e2851d 100644
--- a/drivers/scsi/isci/remote_device.h
+++ b/drivers/scsi/isci/remote_device.h
@@ -386,13 +386,6 @@ typedef void (*scic_sds_remote_device_ready_not_ready_handler_t)(
386 * 386 *
387 */ 387 */
388struct scic_sds_remote_device_state_handler { 388struct scic_sds_remote_device_state_handler {
389 /**
390 * The complete_task_handler specifies the method invoked when a user
391 * attempts to complete a task management request for a remote device.
392 */
393 scic_sds_remote_device_request_handler_t complete_task_handler;
394
395
396 scic_sds_remote_device_suspend_handler_t suspend_handler; 389 scic_sds_remote_device_suspend_handler_t suspend_handler;
397 scic_sds_remote_device_resume_handler_t resume_handler; 390 scic_sds_remote_device_resume_handler_t resume_handler;
398 scic_sds_remote_device_event_handler_t event_handler; 391 scic_sds_remote_device_event_handler_t event_handler;