Browse Source

isci: rnc state machine table c99 conversion

This makes the subsequent patches to delete rnc->state_handler more
clear.

Signed-off-by: Jacek Danecki <Jacek.Danecki@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Jacek Danecki 14 years ago
parent
commit
a98a7426bc
2 changed files with 58 additions and 71 deletions
  1. 57 67
      drivers/scsi/isci/remote_node_context.c
  2. 1 4
      drivers/scsi/isci/remote_node_context.h

+ 57 - 67
drivers/scsi/isci/remote_node_context.c

@@ -788,80 +788,70 @@ static enum sci_status scic_sds_remote_node_context_await_suspension_state_event
 /* --------------------------------------------------------------------------- */
 
 static struct scic_sds_remote_node_context_handlers
-scic_sds_remote_node_context_state_handler_table[
-	SCIC_SDS_REMOTE_NODE_CONTEXT_MAX_STATES] =
-{
-	/* SCIC_SDS_REMOTE_NODE_CONTEXT_INITIAL_STATE */
-	{
-		scic_sds_remote_node_context_default_destruct_handler,
-		scic_sds_remote_node_context_default_suspend_handler,
-		scic_sds_remote_node_context_initial_state_resume_handler,
-		scic_sds_remote_node_context_default_start_io_handler,
-		scic_sds_remote_node_context_default_start_task_handler,
-		scic_sds_remote_node_context_default_event_handler
+scic_sds_remote_node_context_state_handler_table[] = {
+	[SCIC_SDS_REMOTE_NODE_CONTEXT_INITIAL_STATE] = {
+		.destruct_handler	= scic_sds_remote_node_context_default_destruct_handler,
+		.suspend_handler	= scic_sds_remote_node_context_default_suspend_handler,
+		.resume_handler		= scic_sds_remote_node_context_initial_state_resume_handler,
+		.start_io_handler	= scic_sds_remote_node_context_default_start_io_handler,
+		.start_task_handler	= scic_sds_remote_node_context_default_start_task_handler,
+		.event_handler		= scic_sds_remote_node_context_default_event_handler
 	},
-	/* SCIC_SDS_REMOTE_NODE_CONTEXT_POSTING_STATE */
-	{
-		scic_sds_remote_node_context_general_destruct_handler,
-		scic_sds_remote_node_context_default_suspend_handler,
-		scic_sds_remote_node_context_continue_to_resume_handler,
-		scic_sds_remote_node_context_default_start_io_handler,
-		scic_sds_remote_node_context_default_start_task_handler,
-		scic_sds_remote_node_context_posting_state_event_handler
+	[SCIC_SDS_REMOTE_NODE_CONTEXT_POSTING_STATE] = {
+		.destruct_handler	= scic_sds_remote_node_context_general_destruct_handler,
+		.suspend_handler	= scic_sds_remote_node_context_default_suspend_handler,
+		.resume_handler		= scic_sds_remote_node_context_continue_to_resume_handler,
+		.start_io_handler	= scic_sds_remote_node_context_default_start_io_handler,
+		.start_task_handler	= scic_sds_remote_node_context_default_start_task_handler,
+		.event_handler		= scic_sds_remote_node_context_posting_state_event_handler
 	},
-	/* SCIC_SDS_REMOTE_NODE_CONTEXT_INVALIDATING_STATE */
-	{
-		scic_sds_remote_node_context_invalidating_state_destruct_handler,
-		scic_sds_remote_node_context_default_suspend_handler,
-		scic_sds_remote_node_context_continue_to_resume_handler,
-		scic_sds_remote_node_context_default_start_io_handler,
-		scic_sds_remote_node_context_default_start_task_handler,
-		scic_sds_remote_node_context_invalidating_state_event_handler
+	[SCIC_SDS_REMOTE_NODE_CONTEXT_INVALIDATING_STATE] = {
+		.destruct_handler	= scic_sds_remote_node_context_invalidating_state_destruct_handler,
+		.suspend_handler	= scic_sds_remote_node_context_default_suspend_handler,
+		.resume_handler		= scic_sds_remote_node_context_continue_to_resume_handler,
+		.start_io_handler	= scic_sds_remote_node_context_default_start_io_handler,
+		.start_task_handler	= scic_sds_remote_node_context_default_start_task_handler,
+		.event_handler		= scic_sds_remote_node_context_invalidating_state_event_handler
 	},
-	/* SCIC_SDS_REMOTE_NODE_CONTEXT_RESUMING_STATE */
-	{
-		scic_sds_remote_node_context_general_destruct_handler,
-		scic_sds_remote_node_context_default_suspend_handler,
-		scic_sds_remote_node_context_continue_to_resume_handler,
-		scic_sds_remote_node_context_default_start_io_handler,
-		scic_sds_remote_node_context_success_start_task_handler,
-		scic_sds_remote_node_context_resuming_state_event_handler
+	[SCIC_SDS_REMOTE_NODE_CONTEXT_RESUMING_STATE] = {
+		.destruct_handler	= scic_sds_remote_node_context_general_destruct_handler,
+		.suspend_handler	= scic_sds_remote_node_context_default_suspend_handler,
+		.resume_handler		= scic_sds_remote_node_context_continue_to_resume_handler,
+		.start_io_handler	= scic_sds_remote_node_context_default_start_io_handler,
+		.start_task_handler	= scic_sds_remote_node_context_success_start_task_handler,
+		.event_handler		= scic_sds_remote_node_context_resuming_state_event_handler
 	},
-	/* SCIC_SDS_REMOTE_NODE_CONTEXT_READY_STATE */
-	{
-		scic_sds_remote_node_context_general_destruct_handler,
-		scic_sds_remote_node_context_ready_state_suspend_handler,
-		scic_sds_remote_node_context_default_resume_handler,
-		scic_sds_remote_node_context_ready_state_start_io_handler,
-		scic_sds_remote_node_context_success_start_task_handler,
-		scic_sds_remote_node_context_ready_state_event_handler
+	[SCIC_SDS_REMOTE_NODE_CONTEXT_READY_STATE] = {
+		.destruct_handler	= scic_sds_remote_node_context_general_destruct_handler,
+		.suspend_handler	= scic_sds_remote_node_context_ready_state_suspend_handler,
+		.resume_handler		= scic_sds_remote_node_context_default_resume_handler,
+		.start_io_handler	= scic_sds_remote_node_context_ready_state_start_io_handler,
+		.start_task_handler	= scic_sds_remote_node_context_success_start_task_handler,
+		.event_handler		= scic_sds_remote_node_context_ready_state_event_handler
 	},
-	/* SCIC_SDS_REMOTE_NODE_CONTEXT_TX_SUSPENDED_STATE */
-	{
-		scic_sds_remote_node_context_general_destruct_handler,
-		scic_sds_remote_node_context_default_suspend_handler,
-		scic_sds_remote_node_context_tx_suspended_state_resume_handler,
-		scic_sds_remote_node_context_default_start_io_handler,
-		scic_sds_remote_node_context_suspended_start_task_handler,
-		scic_sds_remote_node_context_default_event_handler
+	[SCIC_SDS_REMOTE_NODE_CONTEXT_TX_SUSPENDED_STATE] = {
+		.destruct_handler	= scic_sds_remote_node_context_general_destruct_handler,
+		.suspend_handler	= scic_sds_remote_node_context_default_suspend_handler,
+		.resume_handler		= scic_sds_remote_node_context_tx_suspended_state_resume_handler,
+		.start_io_handler	= scic_sds_remote_node_context_default_start_io_handler,
+		.start_task_handler	= scic_sds_remote_node_context_suspended_start_task_handler,
+		.event_handler		= scic_sds_remote_node_context_default_event_handler
 	},
-	/* SCIC_SDS_REMOTE_NODE_CONTEXT_TX_RX_SUSPENDED_STATE */
-	{
-		scic_sds_remote_node_context_general_destruct_handler,
-		scic_sds_remote_node_context_default_suspend_handler,
-		scic_sds_remote_node_context_tx_rx_suspended_state_resume_handler,
-		scic_sds_remote_node_context_default_start_io_handler,
-		scic_sds_remote_node_context_suspended_start_task_handler,
-		scic_sds_remote_node_context_default_event_handler
+	[SCIC_SDS_REMOTE_NODE_CONTEXT_TX_RX_SUSPENDED_STATE] = {
+		.destruct_handler	= scic_sds_remote_node_context_general_destruct_handler,
+		.suspend_handler	= scic_sds_remote_node_context_default_suspend_handler,
+		.resume_handler		= scic_sds_remote_node_context_tx_rx_suspended_state_resume_handler,
+		.start_io_handler	= scic_sds_remote_node_context_default_start_io_handler,
+		.start_task_handler	= scic_sds_remote_node_context_suspended_start_task_handler,
+		.event_handler		= scic_sds_remote_node_context_default_event_handler
 	},
-	/* SCIC_SDS_REMOTE_NODE_CONTEXT_AWAIT_SUSPENSION_STATE */
-	{
-		scic_sds_remote_node_context_general_destruct_handler,
-		scic_sds_remote_node_context_default_suspend_handler,
-		scic_sds_remote_node_context_await_suspension_state_resume_handler,
-		scic_sds_remote_node_context_default_start_io_handler,
-		scic_sds_remote_node_context_await_suspension_state_start_task_handler,
-		scic_sds_remote_node_context_await_suspension_state_event_handler
+	[SCIC_SDS_REMOTE_NODE_CONTEXT_AWAIT_SUSPENSION_STATE] = {
+		.destruct_handler	= scic_sds_remote_node_context_general_destruct_handler,
+		.suspend_handler	= scic_sds_remote_node_context_default_suspend_handler,
+		.resume_handler		= scic_sds_remote_node_context_await_suspension_state_resume_handler,
+		.start_io_handler	= scic_sds_remote_node_context_default_start_io_handler,
+		.start_task_handler	= scic_sds_remote_node_context_await_suspension_state_start_task_handler,
+		.event_handler		= scic_sds_remote_node_context_await_suspension_state_event_handler
 	}
 };
 

+ 1 - 4
drivers/scsi/isci/remote_node_context.h

@@ -201,10 +201,7 @@ enum scis_sds_remote_node_context_states {
 	 * there is a request to supend the remote node context or when there is a TC
 	 * completion where the remote node will be suspended by the hardware.
 	 */
-	SCIC_SDS_REMOTE_NODE_CONTEXT_AWAIT_SUSPENSION_STATE,
-
-	SCIC_SDS_REMOTE_NODE_CONTEXT_MAX_STATES
-
+	SCIC_SDS_REMOTE_NODE_CONTEXT_AWAIT_SUSPENSION_STATE
 };
 
 /**