diff options
author | Dan Williams <dan.j.williams@intel.com> | 2011-02-23 03:14:06 -0500 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2011-07-03 06:55:27 -0400 |
commit | 8f31550c77849250ec49d1509b6bb63b4ddc59e4 (patch) | |
tree | 380980cfaf7923b701a2cb95ba17071c9afa225a | |
parent | 858d4aa741c80fb7579cda3517853f0cffc73772 (diff) |
isci: phy state machine cleanup step1
c99 the struct initializers:
1/ allows grep to consistently show method name associations. The
naming is mostly consistent (except when it isn't) so this guarantees
coverage of present and future exception cases.
2/ let's the compiler guarantee that the state table array entry
correlates with an actual state name and detect accidental reordering or
deletion of states.
/ allows default handler's to be identified easily
Signed-off-by: Jacek Danecki <Jacek.Danecki@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
-rw-r--r-- | drivers/scsi/isci/core/sci_base_phy.h | 15 | ||||
-rw-r--r-- | drivers/scsi/isci/core/scic_sds_phy.c | 314 | ||||
-rw-r--r-- | drivers/scsi/isci/core/scic_sds_phy.h | 24 |
3 files changed, 145 insertions, 208 deletions
diff --git a/drivers/scsi/isci/core/sci_base_phy.h b/drivers/scsi/isci/core/sci_base_phy.h index 6c0d9bbbc95f..7e2c7e331437 100644 --- a/drivers/scsi/isci/core/sci_base_phy.h +++ b/drivers/scsi/isci/core/sci_base_phy.h | |||
@@ -115,9 +115,6 @@ enum sci_base_phy_states { | |||
115 | * Simply the final state for the base phy state machine. | 115 | * Simply the final state for the base phy state machine. |
116 | */ | 116 | */ |
117 | SCI_BASE_PHY_STATE_FINAL, | 117 | SCI_BASE_PHY_STATE_FINAL, |
118 | |||
119 | SCI_BASE_PHY_MAX_STATES | ||
120 | |||
121 | }; | 118 | }; |
122 | 119 | ||
123 | /** | 120 | /** |
@@ -138,9 +135,7 @@ struct sci_base_phy { | |||
138 | struct sci_base_state_machine state_machine; | 135 | struct sci_base_state_machine state_machine; |
139 | }; | 136 | }; |
140 | 137 | ||
141 | typedef enum sci_status (*SCI_BASE_PHY_HANDLER_T)( | 138 | typedef enum sci_status (*sci_base_phy_handler_t)(struct sci_base_phy *); |
142 | struct sci_base_phy * | ||
143 | ); | ||
144 | 139 | ||
145 | /** | 140 | /** |
146 | * struct sci_base_phy_state_handler - This structure contains all of the state | 141 | * struct sci_base_phy_state_handler - This structure contains all of the state |
@@ -155,25 +150,25 @@ struct sci_base_phy_state_handler { | |||
155 | * The start_handler specifies the method invoked when there is an | 150 | * The start_handler specifies the method invoked when there is an |
156 | * attempt to start a phy. | 151 | * attempt to start a phy. |
157 | */ | 152 | */ |
158 | SCI_BASE_PHY_HANDLER_T start_handler; | 153 | sci_base_phy_handler_t start_handler; |
159 | 154 | ||
160 | /** | 155 | /** |
161 | * The stop_handler specifies the method invoked when there is an | 156 | * The stop_handler specifies the method invoked when there is an |
162 | * attempt to stop a phy. | 157 | * attempt to stop a phy. |
163 | */ | 158 | */ |
164 | SCI_BASE_PHY_HANDLER_T stop_handler; | 159 | sci_base_phy_handler_t stop_handler; |
165 | 160 | ||
166 | /** | 161 | /** |
167 | * The reset_handler specifies the method invoked when there is an | 162 | * The reset_handler specifies the method invoked when there is an |
168 | * attempt to reset a phy. | 163 | * attempt to reset a phy. |
169 | */ | 164 | */ |
170 | SCI_BASE_PHY_HANDLER_T reset_handler; | 165 | sci_base_phy_handler_t reset_handler; |
171 | 166 | ||
172 | /** | 167 | /** |
173 | * The destruct_handler specifies the method invoked when attempting to | 168 | * The destruct_handler specifies the method invoked when attempting to |
174 | * destruct a phy. | 169 | * destruct a phy. |
175 | */ | 170 | */ |
176 | SCI_BASE_PHY_HANDLER_T destruct_handler; | 171 | sci_base_phy_handler_t destruct_handler; |
177 | 172 | ||
178 | }; | 173 | }; |
179 | 174 | ||
diff --git a/drivers/scsi/isci/core/scic_sds_phy.c b/drivers/scsi/isci/core/scic_sds_phy.c index 743e5a6b7409..98e9179e227c 100644 --- a/drivers/scsi/isci/core/scic_sds_phy.c +++ b/drivers/scsi/isci/core/scic_sds_phy.c | |||
@@ -103,7 +103,7 @@ static enum sci_status scic_sds_phy_link_layer_initialization( | |||
103 | this_phy->link_layer_registers = link_layer_registers; | 103 | this_phy->link_layer_registers = link_layer_registers; |
104 | 104 | ||
105 | /* Set our IDENTIFY frame data */ | 105 | /* Set our IDENTIFY frame data */ |
106 | #define SCI_END_DEVICE 0x01 | 106 | #define SCI_END_DEVICE 0x01 |
107 | 107 | ||
108 | SCU_SAS_TIID_WRITE( | 108 | SCU_SAS_TIID_WRITE( |
109 | this_phy, | 109 | this_phy, |
@@ -1406,128 +1406,96 @@ static enum sci_status scic_sds_phy_starting_substate_await_sata_power_consume_p | |||
1406 | 1406 | ||
1407 | /* --------------------------------------------------------------------------- */ | 1407 | /* --------------------------------------------------------------------------- */ |
1408 | 1408 | ||
1409 | struct scic_sds_phy_state_handler | 1409 | const struct scic_sds_phy_state_handler scic_sds_phy_starting_substate_handler_table[] = { |
1410 | scic_sds_phy_starting_substate_handler_table[SCIC_SDS_PHY_STARTING_MAX_SUBSTATES] = | 1410 | [SCIC_SDS_PHY_STARTING_SUBSTATE_INITIAL] = { |
1411 | { | 1411 | .parent.start_handler = scic_sds_phy_default_start_handler, |
1412 | /* SCIC_SDS_PHY_STARTING_SUBSTATE_INITIAL */ | 1412 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
1413 | { | 1413 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
1414 | { | 1414 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
1415 | scic_sds_phy_default_start_handler, | 1415 | .frame_handler = scic_sds_phy_default_frame_handler, |
1416 | scic_sds_phy_default_stop_handler, | 1416 | .event_handler = scic_sds_phy_default_event_handler, |
1417 | scic_sds_phy_default_reset_handler, | 1417 | .consume_power_handler = scic_sds_phy_default_consume_power_handler |
1418 | scic_sds_phy_default_destroy_handler | ||
1419 | }, | ||
1420 | scic_sds_phy_default_frame_handler, | ||
1421 | scic_sds_phy_default_event_handler, | ||
1422 | scic_sds_phy_default_consume_power_handler | ||
1423 | }, | 1418 | }, |
1424 | /* SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_OSSP_EN */ | 1419 | [SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_OSSP_EN] = { |
1425 | { | 1420 | .parent.start_handler = scic_sds_phy_default_start_handler, |
1426 | { | 1421 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
1427 | scic_sds_phy_default_start_handler, | 1422 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
1428 | scic_sds_phy_default_stop_handler, | 1423 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
1429 | scic_sds_phy_default_reset_handler, | 1424 | .frame_handler = scic_sds_phy_default_frame_handler, |
1430 | scic_sds_phy_default_destroy_handler | 1425 | .event_handler = scic_sds_phy_starting_substate_await_ossp_event_handler, |
1431 | }, | 1426 | .consume_power_handler = scic_sds_phy_default_consume_power_handler |
1432 | scic_sds_phy_default_frame_handler, | ||
1433 | scic_sds_phy_starting_substate_await_ossp_event_handler, | ||
1434 | scic_sds_phy_default_consume_power_handler | ||
1435 | }, | 1427 | }, |
1436 | /* SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_SAS_SPEED_EN */ | 1428 | [SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_SAS_SPEED_EN] = { |
1437 | { | 1429 | .parent.start_handler = scic_sds_phy_default_start_handler, |
1438 | { | 1430 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
1439 | scic_sds_phy_default_start_handler, | 1431 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
1440 | scic_sds_phy_default_stop_handler, | 1432 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
1441 | scic_sds_phy_default_reset_handler, | 1433 | .frame_handler = scic_sds_phy_default_frame_handler, |
1442 | scic_sds_phy_default_destroy_handler | 1434 | .event_handler = scic_sds_phy_starting_substate_await_sas_phy_speed_event_handler, |
1443 | }, | 1435 | .consume_power_handler = scic_sds_phy_default_consume_power_handler |
1444 | scic_sds_phy_default_frame_handler, | ||
1445 | scic_sds_phy_starting_substate_await_sas_phy_speed_event_handler, | ||
1446 | scic_sds_phy_default_consume_power_handler | ||
1447 | }, | 1436 | }, |
1448 | /* SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_IAF_UF */ | 1437 | [SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_IAF_UF] = { |
1449 | { | 1438 | .parent.start_handler = scic_sds_phy_default_start_handler, |
1450 | { | 1439 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
1451 | scic_sds_phy_default_start_handler, | 1440 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
1452 | scic_sds_phy_default_stop_handler, | 1441 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
1453 | scic_sds_phy_default_reset_handler, | 1442 | .frame_handler = scic_sds_phy_starting_substate_await_iaf_uf_frame_handler, |
1454 | scic_sds_phy_default_destroy_handler | 1443 | .event_handler = scic_sds_phy_starting_substate_await_iaf_uf_event_handler, |
1455 | }, | 1444 | .consume_power_handler = scic_sds_phy_default_consume_power_handler |
1456 | scic_sds_phy_starting_substate_await_iaf_uf_frame_handler, | ||
1457 | scic_sds_phy_starting_substate_await_iaf_uf_event_handler, | ||
1458 | scic_sds_phy_default_consume_power_handler | ||
1459 | }, | 1445 | }, |
1460 | /* SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_SAS_POWER */ | 1446 | [SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_SAS_POWER] = { |
1461 | { | 1447 | .parent.start_handler = scic_sds_phy_default_start_handler, |
1462 | { | 1448 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
1463 | scic_sds_phy_default_start_handler, | 1449 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
1464 | scic_sds_phy_default_stop_handler, | 1450 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
1465 | scic_sds_phy_default_reset_handler, | 1451 | .frame_handler = scic_sds_phy_default_frame_handler, |
1466 | scic_sds_phy_default_destroy_handler | 1452 | .event_handler = scic_sds_phy_starting_substate_await_sas_power_event_handler, |
1467 | }, | 1453 | .consume_power_handler = scic_sds_phy_starting_substate_await_sas_power_consume_power_handler |
1468 | scic_sds_phy_default_frame_handler, | ||
1469 | scic_sds_phy_starting_substate_await_sas_power_event_handler, | ||
1470 | scic_sds_phy_starting_substate_await_sas_power_consume_power_handler | ||
1471 | }, | 1454 | }, |
1472 | /* SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_SATA_POWER, */ | 1455 | [SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_SATA_POWER] = { |
1473 | { | 1456 | .parent.start_handler = scic_sds_phy_default_start_handler, |
1474 | { | 1457 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
1475 | scic_sds_phy_default_start_handler, | 1458 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
1476 | scic_sds_phy_default_stop_handler, | 1459 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
1477 | scic_sds_phy_default_reset_handler, | 1460 | .frame_handler = scic_sds_phy_default_frame_handler, |
1478 | scic_sds_phy_default_destroy_handler | 1461 | .event_handler = scic_sds_phy_starting_substate_await_sata_power_event_handler, |
1479 | }, | 1462 | .consume_power_handler = scic_sds_phy_starting_substate_await_sata_power_consume_power_handler |
1480 | scic_sds_phy_default_frame_handler, | ||
1481 | scic_sds_phy_starting_substate_await_sata_power_event_handler, | ||
1482 | scic_sds_phy_starting_substate_await_sata_power_consume_power_handler | ||
1483 | }, | 1463 | }, |
1484 | /* SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_SATA_PHY_EN, */ | 1464 | [SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_SATA_PHY_EN] = { |
1485 | { | 1465 | .parent.start_handler = scic_sds_phy_default_start_handler, |
1486 | { | 1466 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
1487 | scic_sds_phy_default_start_handler, | 1467 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
1488 | scic_sds_phy_default_stop_handler, | 1468 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
1489 | scic_sds_phy_default_reset_handler, | 1469 | .frame_handler = scic_sds_phy_default_frame_handler, |
1490 | scic_sds_phy_default_destroy_handler | 1470 | .event_handler = scic_sds_phy_starting_substate_await_sata_phy_event_handler, |
1491 | }, | 1471 | .consume_power_handler = scic_sds_phy_default_consume_power_handler |
1492 | scic_sds_phy_default_frame_handler, | ||
1493 | scic_sds_phy_starting_substate_await_sata_phy_event_handler, | ||
1494 | scic_sds_phy_default_consume_power_handler | ||
1495 | }, | 1472 | }, |
1496 | /* SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_SATA_SPEED_EN, */ | 1473 | [SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_SATA_SPEED_EN] = { |
1497 | { | 1474 | .parent.start_handler = scic_sds_phy_default_start_handler, |
1498 | { | 1475 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
1499 | scic_sds_phy_default_start_handler, | 1476 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
1500 | scic_sds_phy_default_stop_handler, | 1477 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
1501 | scic_sds_phy_default_reset_handler, | 1478 | .frame_handler = scic_sds_phy_default_frame_handler, |
1502 | scic_sds_phy_default_destroy_handler | 1479 | .event_handler = scic_sds_phy_starting_substate_await_sata_speed_event_handler, |
1503 | }, | 1480 | .consume_power_handler = scic_sds_phy_default_consume_power_handler |
1504 | scic_sds_phy_default_frame_handler, | ||
1505 | scic_sds_phy_starting_substate_await_sata_speed_event_handler, | ||
1506 | scic_sds_phy_default_consume_power_handler | ||
1507 | }, | 1481 | }, |
1508 | /* SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_SIG_FIS_UF, */ | 1482 | [SCIC_SDS_PHY_STARTING_SUBSTATE_AWAIT_SIG_FIS_UF] = { |
1509 | { | 1483 | .parent.start_handler = scic_sds_phy_default_start_handler, |
1510 | { | 1484 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
1511 | scic_sds_phy_default_start_handler, | 1485 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
1512 | scic_sds_phy_default_stop_handler, | 1486 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
1513 | scic_sds_phy_default_reset_handler, | 1487 | .frame_handler = scic_sds_phy_starting_substate_await_sig_fis_frame_handler, |
1514 | scic_sds_phy_default_destroy_handler | 1488 | .event_handler = scic_sds_phy_starting_substate_await_sig_fis_event_handler, |
1515 | }, | 1489 | .consume_power_handler = scic_sds_phy_default_consume_power_handler |
1516 | scic_sds_phy_starting_substate_await_sig_fis_frame_handler, | ||
1517 | scic_sds_phy_starting_substate_await_sig_fis_event_handler, | ||
1518 | scic_sds_phy_default_consume_power_handler | ||
1519 | }, | 1490 | }, |
1520 | /* SCIC_SDS_PHY_STARTING_SUBSTATE_FINAL */ | 1491 | [SCIC_SDS_PHY_STARTING_SUBSTATE_FINAL] = { |
1521 | { | 1492 | .parent.start_handler = scic_sds_phy_default_start_handler, |
1522 | { | 1493 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
1523 | scic_sds_phy_default_start_handler, | 1494 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
1524 | scic_sds_phy_default_stop_handler, | 1495 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
1525 | scic_sds_phy_default_reset_handler, | 1496 | .frame_handler = scic_sds_phy_default_frame_handler, |
1526 | scic_sds_phy_default_destroy_handler | 1497 | .event_handler = scic_sds_phy_default_event_handler, |
1527 | }, | 1498 | .consume_power_handler = scic_sds_phy_default_consume_power_handler |
1528 | scic_sds_phy_default_frame_handler, | ||
1529 | scic_sds_phy_default_event_handler, | ||
1530 | scic_sds_phy_default_consume_power_handler | ||
1531 | } | 1499 | } |
1532 | }; | 1500 | }; |
1533 | 1501 | ||
@@ -2344,80 +2312,60 @@ static enum sci_status scic_sds_phy_resetting_state_event_handler( | |||
2344 | 2312 | ||
2345 | /* --------------------------------------------------------------------------- */ | 2313 | /* --------------------------------------------------------------------------- */ |
2346 | 2314 | ||
2347 | struct scic_sds_phy_state_handler | 2315 | const struct scic_sds_phy_state_handler scic_sds_phy_state_handler_table[] = { |
2348 | scic_sds_phy_state_handler_table[SCI_BASE_PHY_MAX_STATES] = | 2316 | [SCI_BASE_PHY_STATE_INITIAL] = { |
2349 | { | 2317 | .parent.start_handler = scic_sds_phy_default_start_handler, |
2350 | /* SCI_BASE_PHY_STATE_INITIAL */ | 2318 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
2351 | { | 2319 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
2352 | { | 2320 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
2353 | scic_sds_phy_default_start_handler, | 2321 | .frame_handler = scic_sds_phy_default_frame_handler, |
2354 | scic_sds_phy_default_stop_handler, | 2322 | .event_handler = scic_sds_phy_default_event_handler, |
2355 | scic_sds_phy_default_reset_handler, | 2323 | .consume_power_handler = scic_sds_phy_default_consume_power_handler |
2356 | scic_sds_phy_default_destroy_handler | ||
2357 | }, | ||
2358 | scic_sds_phy_default_frame_handler, | ||
2359 | scic_sds_phy_default_event_handler, | ||
2360 | scic_sds_phy_default_consume_power_handler | ||
2361 | }, | 2324 | }, |
2362 | /* SCI_BASE_PHY_STATE_STOPPED */ | 2325 | [SCI_BASE_PHY_STATE_STOPPED] = { |
2363 | { | 2326 | .parent.start_handler = scic_sds_phy_stopped_state_start_handler, |
2364 | { | 2327 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
2365 | scic_sds_phy_stopped_state_start_handler, | 2328 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
2366 | scic_sds_phy_default_stop_handler, | 2329 | .parent.destruct_handler = scic_sds_phy_stopped_state_destroy_handler, |
2367 | scic_sds_phy_default_reset_handler, | 2330 | .frame_handler = scic_sds_phy_default_frame_handler, |
2368 | scic_sds_phy_stopped_state_destroy_handler | 2331 | .event_handler = scic_sds_phy_default_event_handler, |
2369 | }, | 2332 | .consume_power_handler = scic_sds_phy_default_consume_power_handler |
2370 | scic_sds_phy_default_frame_handler, | ||
2371 | scic_sds_phy_default_event_handler, | ||
2372 | scic_sds_phy_default_consume_power_handler | ||
2373 | }, | 2333 | }, |
2374 | /* SCI_BASE_PHY_STATE_STARTING */ | 2334 | [SCI_BASE_PHY_STATE_STARTING] = { |
2375 | { | 2335 | .parent.start_handler = scic_sds_phy_default_start_handler, |
2376 | { | 2336 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
2377 | scic_sds_phy_default_start_handler, | 2337 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
2378 | scic_sds_phy_default_stop_handler, | 2338 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
2379 | scic_sds_phy_default_reset_handler, | 2339 | .frame_handler = scic_sds_phy_default_frame_handler, |
2380 | scic_sds_phy_default_destroy_handler | 2340 | .event_handler = scic_sds_phy_default_event_handler, |
2381 | }, | 2341 | .consume_power_handler = scic_sds_phy_default_consume_power_handler |
2382 | scic_sds_phy_default_frame_handler, | ||
2383 | scic_sds_phy_default_event_handler, | ||
2384 | scic_sds_phy_default_consume_power_handler | ||
2385 | }, | 2342 | }, |
2386 | /* SCI_BASE_PHY_STATE_READY */ | 2343 | [SCI_BASE_PHY_STATE_READY] = { |
2387 | { | 2344 | .parent.start_handler = scic_sds_phy_default_start_handler, |
2388 | { | 2345 | .parent.stop_handler = scic_sds_phy_ready_state_stop_handler, |
2389 | scic_sds_phy_default_start_handler, | 2346 | .parent.reset_handler = scic_sds_phy_ready_state_reset_handler, |
2390 | scic_sds_phy_ready_state_stop_handler, | 2347 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
2391 | scic_sds_phy_ready_state_reset_handler, | 2348 | .frame_handler = scic_sds_phy_default_frame_handler, |
2392 | scic_sds_phy_default_destroy_handler | 2349 | .event_handler = scic_sds_phy_ready_state_event_handler, |
2393 | }, | 2350 | .consume_power_handler = scic_sds_phy_default_consume_power_handler |
2394 | scic_sds_phy_default_frame_handler, | ||
2395 | scic_sds_phy_ready_state_event_handler, | ||
2396 | scic_sds_phy_default_consume_power_handler | ||
2397 | }, | 2351 | }, |
2398 | /* SCI_BASE_PHY_STATE_RESETTING */ | 2352 | [SCI_BASE_PHY_STATE_RESETTING] = { |
2399 | { | 2353 | .parent.start_handler = scic_sds_phy_default_start_handler, |
2400 | { | 2354 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
2401 | scic_sds_phy_default_start_handler, | 2355 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
2402 | scic_sds_phy_default_stop_handler, | 2356 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
2403 | scic_sds_phy_default_reset_handler, | 2357 | .frame_handler = scic_sds_phy_default_frame_handler, |
2404 | scic_sds_phy_default_destroy_handler | 2358 | .event_handler = scic_sds_phy_resetting_state_event_handler, |
2405 | }, | 2359 | .consume_power_handler = scic_sds_phy_default_consume_power_handler |
2406 | scic_sds_phy_default_frame_handler, | ||
2407 | scic_sds_phy_resetting_state_event_handler, | ||
2408 | scic_sds_phy_default_consume_power_handler | ||
2409 | }, | 2360 | }, |
2410 | /* SCI_BASE_PHY_STATE_FINAL */ | 2361 | [SCI_BASE_PHY_STATE_FINAL] = { |
2411 | { | 2362 | .parent.start_handler = scic_sds_phy_default_start_handler, |
2412 | { | 2363 | .parent.stop_handler = scic_sds_phy_default_stop_handler, |
2413 | scic_sds_phy_default_start_handler, | 2364 | .parent.reset_handler = scic_sds_phy_default_reset_handler, |
2414 | scic_sds_phy_default_stop_handler, | 2365 | .parent.destruct_handler = scic_sds_phy_default_destroy_handler, |
2415 | scic_sds_phy_default_reset_handler, | 2366 | .frame_handler = scic_sds_phy_default_frame_handler, |
2416 | scic_sds_phy_default_destroy_handler | 2367 | .event_handler = scic_sds_phy_default_event_handler, |
2417 | }, | 2368 | .consume_power_handler = scic_sds_phy_default_consume_power_handler |
2418 | scic_sds_phy_default_frame_handler, | ||
2419 | scic_sds_phy_default_event_handler, | ||
2420 | scic_sds_phy_default_consume_power_handler | ||
2421 | } | 2369 | } |
2422 | }; | 2370 | }; |
2423 | 2371 | ||
diff --git a/drivers/scsi/isci/core/scic_sds_phy.h b/drivers/scsi/isci/core/scic_sds_phy.h index 3b88259d7c87..9ba09bb0c13d 100644 --- a/drivers/scsi/isci/core/scic_sds_phy.h +++ b/drivers/scsi/isci/core/scic_sds_phy.h | |||
@@ -146,11 +146,6 @@ enum SCIC_SDS_PHY_STARTING_SUBSTATES { | |||
146 | * Exit state for this state machine | 146 | * Exit state for this state machine |
147 | */ | 147 | */ |
148 | SCIC_SDS_PHY_STARTING_SUBSTATE_FINAL, | 148 | SCIC_SDS_PHY_STARTING_SUBSTATE_FINAL, |
149 | |||
150 | /** | ||
151 | * Maximum number of substates for the STARTING state machine | ||
152 | */ | ||
153 | SCIC_SDS_PHY_STARTING_MAX_SUBSTATES | ||
154 | }; | 149 | }; |
155 | 150 | ||
156 | struct scic_sds_port; | 151 | struct scic_sds_port; |
@@ -248,7 +243,7 @@ struct scic_sds_phy { | |||
248 | */ | 243 | */ |
249 | void *sata_timeout_timer; | 244 | void *sata_timeout_timer; |
250 | 245 | ||
251 | struct scic_sds_phy_state_handler *state_handlers; | 246 | const struct scic_sds_phy_state_handler *state_handlers; |
252 | 247 | ||
253 | struct sci_base_state_machine starting_substate_machine; | 248 | struct sci_base_state_machine starting_substate_machine; |
254 | 249 | ||
@@ -260,9 +255,9 @@ struct scic_sds_phy { | |||
260 | }; | 255 | }; |
261 | 256 | ||
262 | 257 | ||
263 | typedef enum sci_status (*SCIC_SDS_PHY_EVENT_HANDLER_T)(struct scic_sds_phy *, u32); | 258 | typedef enum sci_status (*scic_sds_phy_event_handler_t)(struct scic_sds_phy *, u32); |
264 | typedef enum sci_status (*SCIC_SDS_PHY_FRAME_HANDLER_T)(struct scic_sds_phy *, u32); | 259 | typedef enum sci_status (*scic_sds_phy_frame_handler_t)(struct scic_sds_phy *, u32); |
265 | typedef enum sci_status (*SCIC_SDS_PHY_POWER_HANDLER_T)(struct scic_sds_phy *); | 260 | typedef enum sci_status (*scic_sds_phy_power_handler_t)(struct scic_sds_phy *); |
266 | 261 | ||
267 | /** | 262 | /** |
268 | * struct scic_sds_phy_state_handler - | 263 | * struct scic_sds_phy_state_handler - |
@@ -278,25 +273,24 @@ struct scic_sds_phy_state_handler { | |||
278 | /** | 273 | /** |
279 | * The state handler for unsolicited frames received from the SCU hardware. | 274 | * The state handler for unsolicited frames received from the SCU hardware. |
280 | */ | 275 | */ |
281 | SCIC_SDS_PHY_FRAME_HANDLER_T frame_handler; | 276 | scic_sds_phy_frame_handler_t frame_handler; |
282 | 277 | ||
283 | /** | 278 | /** |
284 | * The state handler for events received from the SCU hardware. | 279 | * The state handler for events received from the SCU hardware. |
285 | */ | 280 | */ |
286 | SCIC_SDS_PHY_EVENT_HANDLER_T event_handler; | 281 | scic_sds_phy_event_handler_t event_handler; |
287 | 282 | ||
288 | /** | 283 | /** |
289 | * The state handler for staggered spinup. | 284 | * The state handler for staggered spinup. |
290 | */ | 285 | */ |
291 | SCIC_SDS_PHY_POWER_HANDLER_T consume_power_handler; | 286 | scic_sds_phy_power_handler_t consume_power_handler; |
292 | 287 | ||
293 | }; | 288 | }; |
294 | 289 | ||
295 | extern struct scic_sds_phy_state_handler scic_sds_phy_state_handler_table[]; | 290 | extern const struct scic_sds_phy_state_handler scic_sds_phy_state_handler_table[]; |
296 | extern const struct sci_base_state scic_sds_phy_state_table[]; | 291 | extern const struct sci_base_state scic_sds_phy_state_table[]; |
297 | extern const struct sci_base_state scic_sds_phy_starting_substates[]; | 292 | extern const struct sci_base_state scic_sds_phy_starting_substates[]; |
298 | extern struct scic_sds_phy_state_handler | 293 | extern const struct scic_sds_phy_state_handler scic_sds_phy_starting_substate_handler_table[]; |
299 | scic_sds_phy_starting_substate_handler_table[]; | ||
300 | 294 | ||
301 | 295 | ||
302 | /** | 296 | /** |