aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorHenryk Dembkowski <Henryk.Dembkowski@intel.com>2011-02-12 14:50:05 -0500
committerDan Williams <dan.j.williams@intel.com>2011-07-03 03:36:31 -0400
commit7fbafaa51960cd2f2a7afa63829b4135c9682a75 (patch)
tree06fed2a2df10dd86bee42e64667cd322d7c37130 /drivers/scsi
parent6e473dd112f95806a4bfd12eced5b73632d6c032 (diff)
isci: remote device and node cleanup step1
c99 the struct initializers (scic_sds_remote_device_state_handler_table[]): 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. 3/ allows default handler's to be identified easily Change names from upper to low letters Cleanup empty lines Signed-off-by: Henryk Dembkowski <henryk.dembkowski@intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/isci/core/sci_base_remote_device.h3
-rw-r--r--drivers/scsi/isci/core/scic_sds_remote_device.c284
-rw-r--r--drivers/scsi/isci/core/scic_sds_remote_device.h77
-rw-r--r--drivers/scsi/isci/core/scic_sds_remote_node_context.c26
-rw-r--r--drivers/scsi/isci/core/scic_sds_remote_node_context.h46
-rw-r--r--drivers/scsi/isci/core/scic_sds_stp_remote_device.c2
6 files changed, 184 insertions, 254 deletions
diff --git a/drivers/scsi/isci/core/sci_base_remote_device.h b/drivers/scsi/isci/core/sci_base_remote_device.h
index fe6614b8ef5b..25c6ddd4fdbe 100644
--- a/drivers/scsi/isci/core/sci_base_remote_device.h
+++ b/drivers/scsi/isci/core/sci_base_remote_device.h
@@ -130,9 +130,6 @@ enum sci_base_remote_device_states {
130 * Simply the final state for the base remote device state machine. 130 * Simply the final state for the base remote device state machine.
131 */ 131 */
132 SCI_BASE_REMOTE_DEVICE_STATE_FINAL, 132 SCI_BASE_REMOTE_DEVICE_STATE_FINAL,
133
134 SCI_BASE_REMOTE_DEVICE_MAX_STATES
135
136}; 133};
137 134
138/** 135/**
diff --git a/drivers/scsi/isci/core/scic_sds_remote_device.c b/drivers/scsi/isci/core/scic_sds_remote_device.c
index cb26d0c3c21c..b824e570a494 100644
--- a/drivers/scsi/isci/core/scic_sds_remote_device.c
+++ b/drivers/scsi/isci/core/scic_sds_remote_device.c
@@ -1707,168 +1707,142 @@ static enum sci_status scic_sds_remote_device_resetting_state_complete_request_h
1707 1707
1708/* --------------------------------------------------------------------------- */ 1708/* --------------------------------------------------------------------------- */
1709 1709
1710struct scic_sds_remote_device_state_handler 1710const struct scic_sds_remote_device_state_handler scic_sds_remote_device_state_handler_table[] = {
1711scic_sds_remote_device_state_handler_table[SCI_BASE_REMOTE_DEVICE_MAX_STATES] = 1711 [SCI_BASE_REMOTE_DEVICE_STATE_INITIAL] = {
1712{ 1712 .parent.start_handler = scic_sds_remote_device_default_start_handler,
1713 /* SCI_BASE_REMOTE_DEVICE_STATE_INITIAL */ 1713 .parent.stop_handler = scic_sds_remote_device_default_stop_handler,
1714 { 1714 .parent.fail_handler = scic_sds_remote_device_default_fail_handler,
1715 { 1715 .parent.destruct_handler = scic_sds_remote_device_default_destruct_handler,
1716 scic_sds_remote_device_default_start_handler, 1716 .parent.reset_handler = scic_sds_remote_device_default_reset_handler,
1717 scic_sds_remote_device_default_stop_handler, 1717 .parent.reset_complete_handler = scic_sds_remote_device_default_reset_complete_handler,
1718 scic_sds_remote_device_default_fail_handler, 1718 .parent.start_io_handler = scic_sds_remote_device_default_start_request_handler,
1719 scic_sds_remote_device_default_destruct_handler, 1719 .parent.complete_io_handler = scic_sds_remote_device_default_complete_request_handler,
1720 scic_sds_remote_device_default_reset_handler, 1720 .parent.continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1721 scic_sds_remote_device_default_reset_complete_handler, 1721 .parent.start_task_handler = scic_sds_remote_device_default_start_request_handler,
1722 scic_sds_remote_device_default_start_request_handler, 1722 .parent.complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
1723 scic_sds_remote_device_default_complete_request_handler, 1723 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1724 scic_sds_remote_device_default_continue_request_handler, 1724 .resume_handler = scic_sds_remote_device_default_resume_handler,
1725 scic_sds_remote_device_default_start_request_handler, 1725 .event_handler = scic_sds_remote_device_default_event_handler,
1726 scic_sds_remote_device_default_complete_request_handler 1726 .frame_handler = scic_sds_remote_device_default_frame_handler
1727 },
1728 scic_sds_remote_device_default_suspend_handler,
1729 scic_sds_remote_device_default_resume_handler,
1730 scic_sds_remote_device_default_event_handler,
1731 scic_sds_remote_device_default_frame_handler
1732 }, 1727 },
1733 /* SCI_BASE_REMOTE_DEVICE_STATE_STOPPED */ 1728 [SCI_BASE_REMOTE_DEVICE_STATE_STOPPED] = {
1734 { 1729 .parent.start_handler = scic_sds_remote_device_stopped_state_start_handler,
1735 { 1730 .parent.stop_handler = scic_sds_remote_device_stopped_state_stop_handler,
1736 scic_sds_remote_device_stopped_state_start_handler, 1731 .parent.fail_handler = scic_sds_remote_device_default_fail_handler,
1737 scic_sds_remote_device_stopped_state_stop_handler, 1732 .parent.destruct_handler = scic_sds_remote_device_stopped_state_destruct_handler,
1738 scic_sds_remote_device_default_fail_handler, 1733 .parent.reset_handler = scic_sds_remote_device_default_reset_handler,
1739 scic_sds_remote_device_stopped_state_destruct_handler, 1734 .parent.reset_complete_handler = scic_sds_remote_device_default_reset_complete_handler,
1740 scic_sds_remote_device_default_reset_handler, 1735 .parent.start_io_handler = scic_sds_remote_device_default_start_request_handler,
1741 scic_sds_remote_device_default_reset_complete_handler, 1736 .parent.complete_io_handler = scic_sds_remote_device_default_complete_request_handler,
1742 scic_sds_remote_device_default_start_request_handler, 1737 .parent.continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1743 scic_sds_remote_device_default_complete_request_handler, 1738 .parent.start_task_handler = scic_sds_remote_device_default_start_request_handler,
1744 scic_sds_remote_device_default_continue_request_handler, 1739 .parent.complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
1745 scic_sds_remote_device_default_start_request_handler, 1740 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1746 scic_sds_remote_device_default_complete_request_handler 1741 .resume_handler = scic_sds_remote_device_default_resume_handler,
1747 }, 1742 .event_handler = scic_sds_remote_device_default_event_handler,
1748 scic_sds_remote_device_default_suspend_handler, 1743 .frame_handler = scic_sds_remote_device_default_frame_handler
1749 scic_sds_remote_device_default_resume_handler,
1750 scic_sds_remote_device_default_event_handler,
1751 scic_sds_remote_device_default_frame_handler
1752 }, 1744 },
1753 /* SCI_BASE_REMOTE_DEVICE_STATE_STARTING */ 1745 [SCI_BASE_REMOTE_DEVICE_STATE_STARTING] = {
1754 { 1746 .parent.start_handler = scic_sds_remote_device_default_start_handler,
1755 { 1747 .parent.stop_handler = scic_sds_remote_device_starting_state_stop_handler,
1756 scic_sds_remote_device_default_start_handler, 1748 .parent.fail_handler = scic_sds_remote_device_default_fail_handler,
1757 scic_sds_remote_device_starting_state_stop_handler, 1749 .parent.destruct_handler = scic_sds_remote_device_default_destruct_handler,
1758 scic_sds_remote_device_default_fail_handler, 1750 .parent.reset_handler = scic_sds_remote_device_default_reset_handler,
1759 scic_sds_remote_device_default_destruct_handler, 1751 .parent.reset_complete_handler = scic_sds_remote_device_default_reset_complete_handler,
1760 scic_sds_remote_device_default_reset_handler, 1752 .parent.start_io_handler = scic_sds_remote_device_default_start_request_handler,
1761 scic_sds_remote_device_default_reset_complete_handler, 1753 .parent.complete_io_handler = scic_sds_remote_device_default_complete_request_handler,
1762 scic_sds_remote_device_default_start_request_handler, 1754 .parent.continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1763 scic_sds_remote_device_default_complete_request_handler, 1755 .parent.start_task_handler = scic_sds_remote_device_default_start_request_handler,
1764 scic_sds_remote_device_default_continue_request_handler, 1756 .parent.complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
1765 scic_sds_remote_device_default_start_request_handler, 1757 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1766 scic_sds_remote_device_default_complete_request_handler 1758 .resume_handler = scic_sds_remote_device_default_resume_handler,
1767 }, 1759 .event_handler = scic_sds_remote_device_general_event_handler,
1768 scic_sds_remote_device_default_suspend_handler, 1760 .frame_handler = scic_sds_remote_device_default_frame_handler
1769 scic_sds_remote_device_default_resume_handler,
1770 scic_sds_remote_device_general_event_handler,
1771 scic_sds_remote_device_default_frame_handler
1772 }, 1761 },
1773 /* SCI_BASE_REMOTE_DEVICE_STATE_READY */ 1762 [SCI_BASE_REMOTE_DEVICE_STATE_READY] = {
1774 { 1763 .parent.start_handler = scic_sds_remote_device_default_start_handler,
1775 { 1764 .parent.stop_handler = scic_sds_remote_device_ready_state_stop_handler,
1776 scic_sds_remote_device_default_start_handler, 1765 .parent.fail_handler = scic_sds_remote_device_default_fail_handler,
1777 scic_sds_remote_device_ready_state_stop_handler, 1766 .parent.destruct_handler = scic_sds_remote_device_default_destruct_handler,
1778 scic_sds_remote_device_default_fail_handler, 1767 .parent.reset_handler = scic_sds_remote_device_ready_state_reset_handler,
1779 scic_sds_remote_device_default_destruct_handler, 1768 .parent.reset_complete_handler = scic_sds_remote_device_default_reset_complete_handler,
1780 scic_sds_remote_device_ready_state_reset_handler, 1769 .parent.start_io_handler = scic_sds_remote_device_ready_state_start_io_handler,
1781 scic_sds_remote_device_default_reset_complete_handler, 1770 .parent.complete_io_handler = scic_sds_remote_device_ready_state_complete_request_handler,
1782 scic_sds_remote_device_ready_state_start_io_handler, 1771 .parent.continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1783 scic_sds_remote_device_ready_state_complete_request_handler, 1772 .parent.start_task_handler = scic_sds_remote_device_ready_state_start_task_handler,
1784 scic_sds_remote_device_default_continue_request_handler, 1773 .parent.complete_task_handler = scic_sds_remote_device_ready_state_complete_request_handler,
1785 scic_sds_remote_device_ready_state_start_task_handler, 1774 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1786 scic_sds_remote_device_ready_state_complete_request_handler 1775 .resume_handler = scic_sds_remote_device_default_resume_handler,
1787 }, 1776 .event_handler = scic_sds_remote_device_general_event_handler,
1788 scic_sds_remote_device_default_suspend_handler, 1777 .frame_handler = scic_sds_remote_device_general_frame_handler,
1789 scic_sds_remote_device_default_resume_handler,
1790 scic_sds_remote_device_general_event_handler,
1791 scic_sds_remote_device_general_frame_handler,
1792 }, 1778 },
1793 /* SCI_BASE_REMOTE_DEVICE_STATE_STOPPING */ 1779 [SCI_BASE_REMOTE_DEVICE_STATE_STOPPING] = {
1794 { 1780 .parent.start_handler = scic_sds_remote_device_default_start_handler,
1795 { 1781 .parent.stop_handler = scic_sds_remote_device_stopping_state_stop_handler,
1796 scic_sds_remote_device_default_start_handler, 1782 .parent.fail_handler = scic_sds_remote_device_default_fail_handler,
1797 scic_sds_remote_device_stopping_state_stop_handler, 1783 .parent.destruct_handler = scic_sds_remote_device_default_destruct_handler,
1798 scic_sds_remote_device_default_fail_handler, 1784 .parent.reset_handler = scic_sds_remote_device_default_reset_handler,
1799 scic_sds_remote_device_default_destruct_handler, 1785 .parent.reset_complete_handler = scic_sds_remote_device_default_reset_complete_handler,
1800 scic_sds_remote_device_default_reset_handler, 1786 .parent.start_io_handler = scic_sds_remote_device_default_start_request_handler,
1801 scic_sds_remote_device_default_reset_complete_handler, 1787 .parent.complete_io_handler = scic_sds_remote_device_stopping_state_complete_request_handler,
1802 scic_sds_remote_device_default_start_request_handler, 1788 .parent.continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1803 scic_sds_remote_device_stopping_state_complete_request_handler, 1789 .parent.start_task_handler = scic_sds_remote_device_default_start_request_handler,
1804 scic_sds_remote_device_default_continue_request_handler, 1790 .parent.complete_task_handler = scic_sds_remote_device_stopping_state_complete_request_handler,
1805 scic_sds_remote_device_default_start_request_handler, 1791 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1806 scic_sds_remote_device_stopping_state_complete_request_handler 1792 .resume_handler = scic_sds_remote_device_default_resume_handler,
1807 }, 1793 .event_handler = scic_sds_remote_device_general_event_handler,
1808 scic_sds_remote_device_default_suspend_handler, 1794 .frame_handler = scic_sds_remote_device_general_frame_handler
1809 scic_sds_remote_device_default_resume_handler,
1810 scic_sds_remote_device_general_event_handler,
1811 scic_sds_remote_device_general_frame_handler
1812 }, 1795 },
1813 /* SCI_BASE_REMOTE_DEVICE_STATE_FAILED */ 1796 [SCI_BASE_REMOTE_DEVICE_STATE_FAILED] = {
1814 { 1797 .parent.start_handler = scic_sds_remote_device_default_start_handler,
1815 { 1798 .parent.stop_handler = scic_sds_remote_device_default_stop_handler,
1816 scic_sds_remote_device_default_start_handler, 1799 .parent.fail_handler = scic_sds_remote_device_default_fail_handler,
1817 scic_sds_remote_device_default_stop_handler, 1800 .parent.destruct_handler = scic_sds_remote_device_default_destruct_handler,
1818 scic_sds_remote_device_default_fail_handler, 1801 .parent.reset_handler = scic_sds_remote_device_default_reset_handler,
1819 scic_sds_remote_device_default_destruct_handler, 1802 .parent.reset_complete_handler = scic_sds_remote_device_default_reset_complete_handler,
1820 scic_sds_remote_device_default_reset_handler, 1803 .parent.start_io_handler = scic_sds_remote_device_default_start_request_handler,
1821 scic_sds_remote_device_default_reset_complete_handler, 1804 .parent.complete_io_handler = scic_sds_remote_device_default_complete_request_handler,
1822 scic_sds_remote_device_default_start_request_handler, 1805 .parent.continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1823 scic_sds_remote_device_default_complete_request_handler, 1806 .parent.start_task_handler = scic_sds_remote_device_default_start_request_handler,
1824 scic_sds_remote_device_default_continue_request_handler, 1807 .parent.complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
1825 scic_sds_remote_device_default_start_request_handler, 1808 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1826 scic_sds_remote_device_default_complete_request_handler 1809 .resume_handler = scic_sds_remote_device_default_resume_handler,
1827 }, 1810 .event_handler = scic_sds_remote_device_default_event_handler,
1828 scic_sds_remote_device_default_suspend_handler, 1811 .frame_handler = scic_sds_remote_device_general_frame_handler
1829 scic_sds_remote_device_default_resume_handler,
1830 scic_sds_remote_device_default_event_handler,
1831 scic_sds_remote_device_general_frame_handler
1832 }, 1812 },
1833 /* SCI_BASE_REMOTE_DEVICE_STATE_RESETTING */ 1813 [SCI_BASE_REMOTE_DEVICE_STATE_RESETTING] = {
1834 { 1814 .parent.start_handler = scic_sds_remote_device_default_start_handler,
1835 { 1815 .parent.stop_handler = scic_sds_remote_device_resetting_state_stop_handler,
1836 scic_sds_remote_device_default_start_handler, 1816 .parent.fail_handler = scic_sds_remote_device_default_fail_handler,
1837 scic_sds_remote_device_resetting_state_stop_handler, 1817 .parent.destruct_handler = scic_sds_remote_device_default_destruct_handler,
1838 scic_sds_remote_device_default_fail_handler, 1818 .parent.reset_handler = scic_sds_remote_device_default_reset_handler,
1839 scic_sds_remote_device_default_destruct_handler, 1819 .parent.reset_complete_handler = scic_sds_remote_device_resetting_state_reset_complete_handler,
1840 scic_sds_remote_device_default_reset_handler, 1820 .parent.start_io_handler = scic_sds_remote_device_default_start_request_handler,
1841 scic_sds_remote_device_resetting_state_reset_complete_handler, 1821 .parent.complete_io_handler = scic_sds_remote_device_resetting_state_complete_request_handler,
1842 scic_sds_remote_device_default_start_request_handler, 1822 .parent.continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1843 scic_sds_remote_device_resetting_state_complete_request_handler, 1823 .parent.start_task_handler = scic_sds_remote_device_default_start_request_handler,
1844 scic_sds_remote_device_default_continue_request_handler, 1824 .parent.complete_task_handler = scic_sds_remote_device_resetting_state_complete_request_handler,
1845 scic_sds_remote_device_default_start_request_handler, 1825 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1846 scic_sds_remote_device_resetting_state_complete_request_handler 1826 .resume_handler = scic_sds_remote_device_default_resume_handler,
1847 }, 1827 .event_handler = scic_sds_remote_device_default_event_handler,
1848 scic_sds_remote_device_default_suspend_handler, 1828 .frame_handler = scic_sds_remote_device_general_frame_handler
1849 scic_sds_remote_device_default_resume_handler,
1850 scic_sds_remote_device_default_event_handler,
1851 scic_sds_remote_device_general_frame_handler
1852 }, 1829 },
1853 /* SCI_BASE_REMOTE_DEVICE_STATE_FINAL */ 1830 [SCI_BASE_REMOTE_DEVICE_STATE_FINAL] = {
1854 { 1831 .parent.start_handler = scic_sds_remote_device_default_start_handler,
1855 { 1832 .parent.stop_handler = scic_sds_remote_device_default_stop_handler,
1856 scic_sds_remote_device_default_start_handler, 1833 .parent.fail_handler = scic_sds_remote_device_default_fail_handler,
1857 scic_sds_remote_device_default_stop_handler, 1834 .parent.destruct_handler = scic_sds_remote_device_default_destruct_handler,
1858 scic_sds_remote_device_default_fail_handler, 1835 .parent.reset_handler = scic_sds_remote_device_default_reset_handler,
1859 scic_sds_remote_device_default_destruct_handler, 1836 .parent.reset_complete_handler = scic_sds_remote_device_default_reset_complete_handler,
1860 scic_sds_remote_device_default_reset_handler, 1837 .parent.start_io_handler = scic_sds_remote_device_default_start_request_handler,
1861 scic_sds_remote_device_default_reset_complete_handler, 1838 .parent.complete_io_handler = scic_sds_remote_device_default_complete_request_handler,
1862 scic_sds_remote_device_default_start_request_handler, 1839 .parent.continue_io_handler = scic_sds_remote_device_default_continue_request_handler,
1863 scic_sds_remote_device_default_complete_request_handler, 1840 .parent.start_task_handler = scic_sds_remote_device_default_start_request_handler,
1864 scic_sds_remote_device_default_continue_request_handler, 1841 .parent.complete_task_handler = scic_sds_remote_device_default_complete_request_handler,
1865 scic_sds_remote_device_default_start_request_handler, 1842 .suspend_handler = scic_sds_remote_device_default_suspend_handler,
1866 scic_sds_remote_device_default_complete_request_handler 1843 .resume_handler = scic_sds_remote_device_default_resume_handler,
1867 }, 1844 .event_handler = scic_sds_remote_device_default_event_handler,
1868 scic_sds_remote_device_default_suspend_handler, 1845 .frame_handler = scic_sds_remote_device_default_frame_handler
1869 scic_sds_remote_device_default_resume_handler,
1870 scic_sds_remote_device_default_event_handler,
1871 scic_sds_remote_device_default_frame_handler
1872 } 1846 }
1873}; 1847};
1874 1848
diff --git a/drivers/scsi/isci/core/scic_sds_remote_device.h b/drivers/scsi/isci/core/scic_sds_remote_device.h
index 44185a2738ec..8aa0a5e4d72e 100644
--- a/drivers/scsi/isci/core/scic_sds_remote_device.h
+++ b/drivers/scsi/isci/core/scic_sds_remote_device.h
@@ -87,20 +87,21 @@ enum SCIC_SDS_SSP_REMOTE_DEVICE_READY_SUBSTATES {
87 SCIC_SDS_SSP_REMOTE_DEVICE_READY_SUBSTATE_INITIAL, 87 SCIC_SDS_SSP_REMOTE_DEVICE_READY_SUBSTATE_INITIAL,
88 88
89 /** 89 /**
90 * This is the ready operational substate for the remote device. This is the 90 * This is the ready operational substate for the remote device.
91 * normal operational state for a remote device. 91 * This is the normal operational state for a remote device.
92 */ 92 */
93 SCIC_SDS_SSP_REMOTE_DEVICE_READY_SUBSTATE_OPERATIONAL, 93 SCIC_SDS_SSP_REMOTE_DEVICE_READY_SUBSTATE_OPERATIONAL,
94 94
95 /** 95 /**
96 * This is the suspended state for the remote device. This is the state that 96 * This is the suspended state for the remote device. This is the state
97 * the device is placed in when a RNC suspend is received by the SCU hardware. 97 * that the device is placed in when a RNC suspend is received by
98 * the SCU hardware.
98 */ 99 */
99 SCIC_SDS_SSP_REMOTE_DEVICE_READY_SUBSTATE_SUSPENDED, 100 SCIC_SDS_SSP_REMOTE_DEVICE_READY_SUBSTATE_SUSPENDED,
100 101
101 /** 102 /**
102 * This is the final state that the device is placed in before a change to the 103 * This is the final state that the device is placed in before a change
103 * base state machine. 104 * to the base state machine.
104 */ 105 */
105 SCIC_SDS_SSP_REMOTE_DEVICE_READY_SUBSTATE_FINAL, 106 SCIC_SDS_SSP_REMOTE_DEVICE_READY_SUBSTATE_FINAL,
106 107
@@ -110,8 +111,8 @@ enum SCIC_SDS_SSP_REMOTE_DEVICE_READY_SUBSTATES {
110/** 111/**
111 * enum SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATES - 112 * enum SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATES -
112 * 113 *
113 * This is the enumeration for the struct scic_sds_remote_device ready substates for 114 * This is the enumeration for the struct scic_sds_remote_device ready substates
114 * the STP remote device. 115 * for the STP remote device.
115 */ 116 */
116enum SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATES { 117enum SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATES {
117 /** 118 /**
@@ -161,13 +162,11 @@ enum SCIC_SDS_STP_REMOTE_DEVICE_READY_SUBSTATES {
161 SCIC_SDS_STP_REMOTE_DEVICE_READY_MAX_SUBSTATES 162 SCIC_SDS_STP_REMOTE_DEVICE_READY_MAX_SUBSTATES
162}; 163};
163 164
164
165/** 165/**
166 * enum SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATES - 166 * enum SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATES -
167 * 167 *
168 * This is the enumeration of the ready substates for the SMP REMOTE DEVICE. 168 * This is the enumeration of the ready substates for the SMP REMOTE DEVICE.
169 */ 169 */
170
171enum SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATES { 170enum SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATES {
172 /** 171 /**
173 * This is the ready operational substate for the remote device. This is the 172 * This is the ready operational substate for the remote device. This is the
@@ -184,9 +183,6 @@ enum SCIC_SDS_SMP_REMOTE_DEVICE_READY_SUBSTATES {
184 SCIC_SDS_SMP_REMOTE_DEVICE_READY_MAX_SUBSTATES 183 SCIC_SDS_SMP_REMOTE_DEVICE_READY_MAX_SUBSTATES
185}; 184};
186 185
187
188
189
190/** 186/**
191 * struct scic_sds_remote_device - This structure contains the data for an SCU 187 * struct scic_sds_remote_device - This structure contains the data for an SCU
192 * implementation of the SCU Core device data. 188 * implementation of the SCU Core device data.
@@ -223,21 +219,22 @@ struct scic_sds_remote_device {
223 struct sci_sas_address device_address; 219 struct sci_sas_address device_address;
224 220
225 /** 221 /**
226 * This filed is assinged the value of true if the device is directly attached 222 * This filed is assinged the value of true if the device is directly
227 * to the port. 223 * attached to the port.
228 */ 224 */
229 bool is_direct_attached; 225 bool is_direct_attached;
230 226
231#if !defined(DISABLE_ATAPI) 227#if !defined(DISABLE_ATAPI)
232 /** 228 /**
233 * This filed is assinged the value of true if the device is an ATAPI device. 229 * This filed is assinged the value of true if the device is an ATAPI
230 * device.
234 */ 231 */
235 bool is_atapi; 232 bool is_atapi;
236#endif 233#endif
237 234
238 /** 235 /**
239 * This filed contains a pointer back to the port to which this device is 236 * This filed contains a pointer back to the port to which this device
240 * assigned. 237 * is assigned.
241 */ 238 */
242 struct scic_sds_port *owning_port; 239 struct scic_sds_port *owning_port;
243 240
@@ -284,29 +281,28 @@ struct scic_sds_remote_device {
284 * This field maintains the set of state handlers for the remote device 281 * This field maintains the set of state handlers for the remote device
285 * object. These are changed each time the remote device enters a new state. 282 * object. These are changed each time the remote device enters a new state.
286 */ 283 */
287 struct scic_sds_remote_device_state_handler *state_handlers; 284 const struct scic_sds_remote_device_state_handler *state_handlers;
288}; 285};
289 286
290 287typedef enum sci_status (*scic_sds_remote_device_handler_t)(
291typedef enum sci_status (*SCIC_SDS_REMOTE_DEVICE_HANDLER_T)(
292 struct scic_sds_remote_device *this_device); 288 struct scic_sds_remote_device *this_device);
293 289
294typedef enum sci_status (*SCIC_SDS_REMOTE_DEVICE_SUSPEND_HANDLER_T)( 290typedef enum sci_status (*scic_sds_remote_device_suspend_handler_t)(
295 struct scic_sds_remote_device *this_device, 291 struct scic_sds_remote_device *this_device,
296 u32 suspend_type); 292 u32 suspend_type);
297 293
298typedef enum sci_status (*SCIC_SDS_REMOTE_DEVICE_RESUME_HANDLER_T)( 294typedef enum sci_status (*scic_sds_remote_device_resume_handler_t)(
299 struct scic_sds_remote_device *this_device); 295 struct scic_sds_remote_device *this_device);
300 296
301typedef enum sci_status (*SCIC_SDS_REMOTE_DEVICE_FRAME_HANDLER_T)( 297typedef enum sci_status (*scic_sds_remote_device_frame_handler_t)(
302 struct scic_sds_remote_device *this_device, 298 struct scic_sds_remote_device *this_device,
303 u32 frame_index); 299 u32 frame_index);
304 300
305typedef enum sci_status (*SCIC_SDS_REMOTE_DEVICE_EVENT_HANDLER_T)( 301typedef enum sci_status (*scic_sds_remote_device_event_handler_t)(
306 struct scic_sds_remote_device *this_device, 302 struct scic_sds_remote_device *this_device,
307 u32 event_code); 303 u32 event_code);
308 304
309typedef void (*SCIC_SDS_REMOTE_DEVICE_READY_NOT_READY_HANDLER_T)( 305typedef void (*scic_sds_remote_device_ready_not_ready_handler_t)(
310 struct scic_sds_remote_device *this_device); 306 struct scic_sds_remote_device *this_device);
311 307
312/** 308/**
@@ -318,23 +314,18 @@ typedef void (*SCIC_SDS_REMOTE_DEVICE_READY_NOT_READY_HANDLER_T)(
318 */ 314 */
319struct scic_sds_remote_device_state_handler { 315struct scic_sds_remote_device_state_handler {
320 struct sci_base_remote_device_state_handler parent; 316 struct sci_base_remote_device_state_handler parent;
321 317 scic_sds_remote_device_suspend_handler_t suspend_handler;
322 SCIC_SDS_REMOTE_DEVICE_SUSPEND_HANDLER_T suspend_handler; 318 scic_sds_remote_device_resume_handler_t resume_handler;
323 SCIC_SDS_REMOTE_DEVICE_RESUME_HANDLER_T resume_handler; 319 scic_sds_remote_device_event_handler_t event_handler;
324 320 scic_sds_remote_device_frame_handler_t frame_handler;
325 SCIC_SDS_REMOTE_DEVICE_EVENT_HANDLER_T event_handler;
326 SCIC_SDS_REMOTE_DEVICE_FRAME_HANDLER_T frame_handler;
327
328}; 321};
329 322
330
331extern const struct sci_base_state scic_sds_remote_device_state_table[]; 323extern const struct sci_base_state scic_sds_remote_device_state_table[];
332extern const struct sci_base_state scic_sds_ssp_remote_device_ready_substate_table[]; 324extern const struct sci_base_state scic_sds_ssp_remote_device_ready_substate_table[];
333extern const struct sci_base_state scic_sds_stp_remote_device_ready_substate_table[]; 325extern const struct sci_base_state scic_sds_stp_remote_device_ready_substate_table[];
334extern const struct sci_base_state scic_sds_smp_remote_device_ready_substate_table[]; 326extern const struct sci_base_state scic_sds_smp_remote_device_ready_substate_table[];
335 327
336extern struct scic_sds_remote_device_state_handler 328extern const struct scic_sds_remote_device_state_handler scic_sds_remote_device_state_handler_table[];
337 scic_sds_remote_device_state_handler_table[];
338extern struct scic_sds_remote_device_state_handler 329extern struct scic_sds_remote_device_state_handler
339 scic_sds_ssp_remote_device_ready_substate_handler_table[]; 330 scic_sds_ssp_remote_device_ready_substate_handler_table[];
340extern struct scic_sds_remote_device_state_handler 331extern struct scic_sds_remote_device_state_handler
@@ -480,10 +471,6 @@ extern struct scic_sds_remote_device_state_handler
480#define scic_sds_remote_device_set_working_request(device, request) \ 471#define scic_sds_remote_device_set_working_request(device, request) \
481 ((device)->working_request = (request)) 472 ((device)->working_request = (request))
482 473
483/* --------------------------------------------------------------------------- */
484
485
486
487enum sci_status scic_sds_remote_device_frame_handler( 474enum sci_status scic_sds_remote_device_frame_handler(
488 struct scic_sds_remote_device *this_device, 475 struct scic_sds_remote_device *this_device,
489 u32 frame_index); 476 u32 frame_index);
@@ -525,10 +512,6 @@ bool scic_sds_remote_device_is_atapi(
525#define scic_sds_remote_device_is_atapi(this_device) false 512#define scic_sds_remote_device_is_atapi(this_device) false
526#endif /* !defined(DISABLE_ATAPI) */ 513#endif /* !defined(DISABLE_ATAPI) */
527 514
528/* --------------------------------------------------------------------------- */
529
530/* --------------------------------------------------------------------------- */
531
532void scic_sds_remote_device_start_request( 515void scic_sds_remote_device_start_request(
533 struct scic_sds_remote_device *this_device, 516 struct scic_sds_remote_device *this_device,
534 struct scic_sds_request *the_request, 517 struct scic_sds_request *the_request,
@@ -540,7 +523,6 @@ void scic_sds_remote_device_continue_request(
540enum sci_status scic_sds_remote_device_default_start_handler( 523enum sci_status scic_sds_remote_device_default_start_handler(
541 struct sci_base_remote_device *this_device); 524 struct sci_base_remote_device *this_device);
542 525
543
544enum sci_status scic_sds_remote_device_default_fail_handler( 526enum sci_status scic_sds_remote_device_default_fail_handler(
545 struct sci_base_remote_device *this_device); 527 struct sci_base_remote_device *this_device);
546 528
@@ -577,8 +559,6 @@ enum sci_status scic_sds_remote_device_default_frame_handler(
577 struct scic_sds_remote_device *this_device, 559 struct scic_sds_remote_device *this_device,
578 u32 frame_index); 560 u32 frame_index);
579 561
580/* --------------------------------------------------------------------------- */
581
582enum sci_status scic_sds_remote_device_ready_state_stop_handler( 562enum sci_status scic_sds_remote_device_ready_state_stop_handler(
583 struct sci_base_remote_device *device); 563 struct sci_base_remote_device *device);
584 564
@@ -596,7 +576,4 @@ enum sci_status scic_sds_remote_device_general_event_handler(
596enum sci_status scic_sds_ssp_remote_device_ready_suspended_substate_resume_handler( 576enum sci_status scic_sds_ssp_remote_device_ready_suspended_substate_resume_handler(
597 struct scic_sds_remote_device *this_device); 577 struct scic_sds_remote_device *this_device);
598 578
599/* --------------------------------------------------------------------------- */
600
601
602#endif /* _SCIC_SDS_REMOTE_DEVICE_H_ */ 579#endif /* _SCIC_SDS_REMOTE_DEVICE_H_ */
diff --git a/drivers/scsi/isci/core/scic_sds_remote_node_context.c b/drivers/scsi/isci/core/scic_sds_remote_node_context.c
index 79fe9a8cd1ed..7fec322571ef 100644
--- a/drivers/scsi/isci/core/scic_sds_remote_node_context.c
+++ b/drivers/scsi/isci/core/scic_sds_remote_node_context.c
@@ -195,7 +195,7 @@ void scic_sds_remote_node_context_construct_buffer(
195 */ 195 */
196static void scic_sds_remote_node_context_setup_to_resume( 196static void scic_sds_remote_node_context_setup_to_resume(
197 struct scic_sds_remote_node_context *this_rnc, 197 struct scic_sds_remote_node_context *this_rnc,
198 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 198 scics_sds_remote_node_context_callback the_callback,
199 void *callback_parameter) 199 void *callback_parameter)
200{ 200{
201 if (this_rnc->destination_state != SCIC_SDS_REMOTE_NODE_DESTINATION_STATE_FINAL) { 201 if (this_rnc->destination_state != SCIC_SDS_REMOTE_NODE_DESTINATION_STATE_FINAL) {
@@ -216,7 +216,7 @@ static void scic_sds_remote_node_context_setup_to_resume(
216 */ 216 */
217static void scic_sds_remote_node_context_setup_to_destory( 217static void scic_sds_remote_node_context_setup_to_destory(
218 struct scic_sds_remote_node_context *this_rnc, 218 struct scic_sds_remote_node_context *this_rnc,
219 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 219 scics_sds_remote_node_context_callback the_callback,
220 void *callback_parameter) 220 void *callback_parameter)
221{ 221{
222 this_rnc->destination_state = SCIC_SDS_REMOTE_NODE_DESTINATION_STATE_FINAL; 222 this_rnc->destination_state = SCIC_SDS_REMOTE_NODE_DESTINATION_STATE_FINAL;
@@ -234,7 +234,7 @@ static void scic_sds_remote_node_context_setup_to_destory(
234 */ 234 */
235static enum sci_status scic_sds_remote_node_context_continue_to_resume_handler( 235static enum sci_status scic_sds_remote_node_context_continue_to_resume_handler(
236 struct scic_sds_remote_node_context *this_rnc, 236 struct scic_sds_remote_node_context *this_rnc,
237 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 237 scics_sds_remote_node_context_callback the_callback,
238 void *callback_parameter) 238 void *callback_parameter)
239{ 239{
240 if (this_rnc->destination_state == SCIC_SDS_REMOTE_NODE_DESTINATION_STATE_READY) { 240 if (this_rnc->destination_state == SCIC_SDS_REMOTE_NODE_DESTINATION_STATE_READY) {
@@ -251,7 +251,7 @@ static enum sci_status scic_sds_remote_node_context_continue_to_resume_handler(
251 251
252static enum sci_status scic_sds_remote_node_context_default_destruct_handler( 252static enum sci_status scic_sds_remote_node_context_default_destruct_handler(
253 struct scic_sds_remote_node_context *this_rnc, 253 struct scic_sds_remote_node_context *this_rnc,
254 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 254 scics_sds_remote_node_context_callback the_callback,
255 void *callback_parameter) 255 void *callback_parameter)
256{ 256{
257 dev_warn(scirdev_to_dev(this_rnc->device), 257 dev_warn(scirdev_to_dev(this_rnc->device),
@@ -270,7 +270,7 @@ static enum sci_status scic_sds_remote_node_context_default_destruct_handler(
270static enum sci_status scic_sds_remote_node_context_default_suspend_handler( 270static enum sci_status scic_sds_remote_node_context_default_suspend_handler(
271 struct scic_sds_remote_node_context *this_rnc, 271 struct scic_sds_remote_node_context *this_rnc,
272 u32 suspend_type, 272 u32 suspend_type,
273 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 273 scics_sds_remote_node_context_callback the_callback,
274 void *callback_parameter) 274 void *callback_parameter)
275{ 275{
276 dev_warn(scirdev_to_dev(this_rnc->device), 276 dev_warn(scirdev_to_dev(this_rnc->device),
@@ -285,7 +285,7 @@ static enum sci_status scic_sds_remote_node_context_default_suspend_handler(
285 285
286static enum sci_status scic_sds_remote_node_context_default_resume_handler( 286static enum sci_status scic_sds_remote_node_context_default_resume_handler(
287 struct scic_sds_remote_node_context *this_rnc, 287 struct scic_sds_remote_node_context *this_rnc,
288 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 288 scics_sds_remote_node_context_callback the_callback,
289 void *callback_parameter) 289 void *callback_parameter)
290{ 290{
291 dev_warn(scirdev_to_dev(this_rnc->device), 291 dev_warn(scirdev_to_dev(this_rnc->device),
@@ -372,7 +372,7 @@ static enum sci_status scic_sds_remote_node_context_success_start_task_handler(
372 */ 372 */
373static enum sci_status scic_sds_remote_node_context_general_destruct_handler( 373static enum sci_status scic_sds_remote_node_context_general_destruct_handler(
374 struct scic_sds_remote_node_context *this_rnc, 374 struct scic_sds_remote_node_context *this_rnc,
375 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 375 scics_sds_remote_node_context_callback the_callback,
376 void *callback_parameter) 376 void *callback_parameter)
377{ 377{
378 scic_sds_remote_node_context_setup_to_destory( 378 scic_sds_remote_node_context_setup_to_destory(
@@ -391,7 +391,7 @@ static enum sci_status scic_sds_remote_node_context_general_destruct_handler(
391 391
392static enum sci_status scic_sds_remote_node_context_initial_state_resume_handler( 392static enum sci_status scic_sds_remote_node_context_initial_state_resume_handler(
393 struct scic_sds_remote_node_context *this_rnc, 393 struct scic_sds_remote_node_context *this_rnc,
394 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 394 scics_sds_remote_node_context_callback the_callback,
395 void *callback_parameter) 395 void *callback_parameter)
396{ 396{
397 if (this_rnc->remote_node_index != SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX) { 397 if (this_rnc->remote_node_index != SCIC_SDS_REMOTE_NODE_CONTEXT_INVALID_INDEX) {
@@ -449,7 +449,7 @@ static enum sci_status scic_sds_remote_node_context_posting_state_event_handler(
449 449
450static enum sci_status scic_sds_remote_node_context_invalidating_state_destruct_handler( 450static enum sci_status scic_sds_remote_node_context_invalidating_state_destruct_handler(
451 struct scic_sds_remote_node_context *this_rnc, 451 struct scic_sds_remote_node_context *this_rnc,
452 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 452 scics_sds_remote_node_context_callback the_callback,
453 void *callback_parameter) 453 void *callback_parameter)
454{ 454{
455 scic_sds_remote_node_context_setup_to_destory( 455 scic_sds_remote_node_context_setup_to_destory(
@@ -575,7 +575,7 @@ static enum sci_status scic_sds_remote_node_context_resuming_state_event_handler
575static enum sci_status scic_sds_remote_node_context_ready_state_suspend_handler( 575static enum sci_status scic_sds_remote_node_context_ready_state_suspend_handler(
576 struct scic_sds_remote_node_context *this_rnc, 576 struct scic_sds_remote_node_context *this_rnc,
577 u32 suspend_type, 577 u32 suspend_type,
578 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 578 scics_sds_remote_node_context_callback the_callback,
579 void *callback_parameter) 579 void *callback_parameter)
580{ 580{
581 this_rnc->user_callback = the_callback; 581 this_rnc->user_callback = the_callback;
@@ -662,7 +662,7 @@ static enum sci_status scic_sds_remote_node_context_ready_state_event_handler(
662 662
663static enum sci_status scic_sds_remote_node_context_tx_suspended_state_resume_handler( 663static enum sci_status scic_sds_remote_node_context_tx_suspended_state_resume_handler(
664 struct scic_sds_remote_node_context *this_rnc, 664 struct scic_sds_remote_node_context *this_rnc,
665 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 665 scics_sds_remote_node_context_callback the_callback,
666 void *callback_parameter) 666 void *callback_parameter)
667{ 667{
668 enum sci_status status; 668 enum sci_status status;
@@ -737,7 +737,7 @@ static enum sci_status scic_sds_remote_node_context_suspended_start_task_handler
737 737
738static enum sci_status scic_sds_remote_node_context_tx_rx_suspended_state_resume_handler( 738static enum sci_status scic_sds_remote_node_context_tx_rx_suspended_state_resume_handler(
739 struct scic_sds_remote_node_context *this_rnc, 739 struct scic_sds_remote_node_context *this_rnc,
740 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 740 scics_sds_remote_node_context_callback the_callback,
741 void *callback_parameter) 741 void *callback_parameter)
742{ 742{
743 scic_sds_remote_node_context_setup_to_resume( 743 scic_sds_remote_node_context_setup_to_resume(
@@ -761,7 +761,7 @@ static enum sci_status scic_sds_remote_node_context_tx_rx_suspended_state_resume
761 */ 761 */
762static enum sci_status scic_sds_remote_node_context_await_suspension_state_resume_handler( 762static enum sci_status scic_sds_remote_node_context_await_suspension_state_resume_handler(
763 struct scic_sds_remote_node_context *this_rnc, 763 struct scic_sds_remote_node_context *this_rnc,
764 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 764 scics_sds_remote_node_context_callback the_callback,
765 void *callback_parameter) 765 void *callback_parameter)
766{ 766{
767 scic_sds_remote_node_context_setup_to_resume( 767 scic_sds_remote_node_context_setup_to_resume(
diff --git a/drivers/scsi/isci/core/scic_sds_remote_node_context.h b/drivers/scsi/isci/core/scic_sds_remote_node_context.h
index 9e759a3619f1..86c6d75a1110 100644
--- a/drivers/scsi/isci/core/scic_sds_remote_node_context.h
+++ b/drivers/scsi/isci/core/scic_sds_remote_node_context.h
@@ -67,8 +67,6 @@
67#include "sci_base_state.h" 67#include "sci_base_state.h"
68#include "sci_base_state_machine.h" 68#include "sci_base_state_machine.h"
69 69
70/* --------------------------------------------------------------------------- */
71
72/** 70/**
73 * 71 *
74 * 72 *
@@ -85,77 +83,71 @@ struct scic_sds_request;
85struct scic_sds_remote_device; 83struct scic_sds_remote_device;
86struct scic_sds_remote_node_context; 84struct scic_sds_remote_node_context;
87 85
88typedef void (*SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK)(void *); 86typedef void (*scics_sds_remote_node_context_callback)(void *);
89 87
90typedef enum sci_status (*SCIC_SDS_REMOTE_NODE_CONTEXT_OPERATION)( 88typedef enum sci_status (*scic_sds_remote_node_context_operation)(
91 struct scic_sds_remote_node_context *this_rnc, 89 struct scic_sds_remote_node_context *this_rnc,
92 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 90 scics_sds_remote_node_context_callback the_callback,
93 void *callback_parameter 91 void *callback_parameter
94 ); 92 );
95 93
96typedef enum sci_status (*SCIC_SDS_REMOTE_NODE_CONTEXT_SUSPEND_OPERATION)( 94typedef enum sci_status (*scic_sds_remote_node_context_suspend_operation)(
97 struct scic_sds_remote_node_context *this_rnc, 95 struct scic_sds_remote_node_context *this_rnc,
98 u32 suspension_type, 96 u32 suspension_type,
99 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK the_callback, 97 scics_sds_remote_node_context_callback the_callback,
100 void *callback_parameter 98 void *callback_parameter
101 ); 99 );
102 100
103typedef enum sci_status (*SCIC_SDS_REMOTE_NODE_CONTEXT_IO_REQUEST)( 101typedef enum sci_status (*scic_sds_remote_node_context_io_request)(
104 struct scic_sds_remote_node_context *this_rnc, 102 struct scic_sds_remote_node_context *this_rnc,
105 struct scic_sds_request *the_request 103 struct scic_sds_request *the_request
106 ); 104 );
107 105
108typedef enum sci_status (*SCIC_SDS_REMOTE_NODE_CONTEXT_EVENT_HANDLER)( 106typedef enum sci_status (*scic_sds_remote_node_context_event_handler)(
109 struct scic_sds_remote_node_context *this_rnc, 107 struct scic_sds_remote_node_context *this_rnc,
110 u32 event_code 108 u32 event_code
111 ); 109 );
112 110
113/* --------------------------------------------------------------------------- */
114
115struct scic_sds_remote_node_context_handlers { 111struct scic_sds_remote_node_context_handlers {
116 /** 112 /**
117 * This handle is invoked to stop the RNC. The callback is invoked when after 113 * This handle is invoked to stop the RNC. The callback is invoked when after
118 * the hardware notification that the RNC has been invalidated. 114 * the hardware notification that the RNC has been invalidated.
119 */ 115 */
120 SCIC_SDS_REMOTE_NODE_CONTEXT_OPERATION destruct_handler; 116 scic_sds_remote_node_context_operation destruct_handler;
121 117
122 /** 118 /**
123 * This handler is invoked when there is a request to suspend the RNC. The 119 * This handler is invoked when there is a request to suspend the RNC. The
124 * callback is invoked after the hardware notification that the remote node is 120 * callback is invoked after the hardware notification that the remote node is
125 * suspended. 121 * suspended.
126 */ 122 */
127 SCIC_SDS_REMOTE_NODE_CONTEXT_SUSPEND_OPERATION suspend_handler; 123 scic_sds_remote_node_context_suspend_operation suspend_handler;
128 124
129 /** 125 /**
130 * This handler is invoked when there is a request to resume the RNC. The 126 * This handler is invoked when there is a request to resume the RNC. The
131 * callback is invoked when after the RNC has reached the ready state. 127 * callback is invoked when after the RNC has reached the ready state.
132 */ 128 */
133 SCIC_SDS_REMOTE_NODE_CONTEXT_OPERATION resume_handler; 129 scic_sds_remote_node_context_operation resume_handler;
134 130
135 /** 131 /**
136 * This handler is invoked when there is a request to start an io request 132 * This handler is invoked when there is a request to start an io request
137 * operation. 133 * operation.
138 */ 134 */
139 SCIC_SDS_REMOTE_NODE_CONTEXT_IO_REQUEST start_io_handler; 135 scic_sds_remote_node_context_io_request start_io_handler;
140 136
141 /** 137 /**
142 * This handler is invoked when there is a request to start a task request 138 * This handler is invoked when there is a request to start a task request
143 * operation. 139 * operation.
144 */ 140 */
145 SCIC_SDS_REMOTE_NODE_CONTEXT_IO_REQUEST start_task_handler; 141 scic_sds_remote_node_context_io_request start_task_handler;
146 142
147 /** 143 /**
148 * This handler is invoked where there is an RNC event that must be processed. 144 * This handler is invoked where there is an RNC event that must be processed.
149 */ 145 */
150 SCIC_SDS_REMOTE_NODE_CONTEXT_EVENT_HANDLER event_handler; 146 scic_sds_remote_node_context_event_handler event_handler;
151 147
152}; 148};
153 149
154/* --------------------------------------------------------------------------- */
155
156/** 150/**
157 *
158 *
159 * This is the enumeration of the remote node context states. 151 * This is the enumeration of the remote node context states.
160 */ 152 */
161enum scis_sds_remote_node_context_states { 153enum scis_sds_remote_node_context_states {
@@ -232,8 +224,6 @@ enum SCIC_SDS_REMOTE_NODE_CONTEXT_DESTINATION_STATE {
232 * associated with the remote node context object. The remote node context 224 * associated with the remote node context object. The remote node context
233 * (RNC) object models the the remote device information necessary to manage 225 * (RNC) object models the the remote device information necessary to manage
234 * the silicon RNC. 226 * the silicon RNC.
235 *
236 *
237 */ 227 */
238struct scic_sds_remote_node_context { 228struct scic_sds_remote_node_context {
239 /* 229 /*
@@ -273,7 +263,7 @@ struct scic_sds_remote_node_context {
273 * This field contains the callback function that the user requested to be 263 * This field contains the callback function that the user requested to be
274 * called when the requested state transition is complete. 264 * called when the requested state transition is complete.
275 */ 265 */
276 SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK user_callback; 266 scics_sds_remote_node_context_callback user_callback;
277 267
278 /** 268 /**
279 * This field contains the parameter that is called when the user requested 269 * This field contains the parameter that is called when the user requested
@@ -289,16 +279,12 @@ struct scic_sds_remote_node_context {
289 struct scic_sds_remote_node_context_handlers *state_handlers; 279 struct scic_sds_remote_node_context_handlers *state_handlers;
290}; 280};
291 281
292/* --------------------------------------------------------------------------- */
293
294extern const struct sci_base_state scic_sds_remote_node_context_state_table[]; 282extern const struct sci_base_state scic_sds_remote_node_context_state_table[];
295 283
296extern struct scic_sds_remote_node_context_handlers 284extern struct scic_sds_remote_node_context_handlers
297 scic_sds_remote_node_context_state_handler_table[ 285 scic_sds_remote_node_context_state_handler_table[
298 SCIC_SDS_REMOTE_NODE_CONTEXT_MAX_STATES]; 286 SCIC_SDS_REMOTE_NODE_CONTEXT_MAX_STATES];
299 287
300/* --------------------------------------------------------------------------- */
301
302void scic_sds_remote_node_context_construct( 288void scic_sds_remote_node_context_construct(
303 struct scic_sds_remote_device *device, 289 struct scic_sds_remote_device *device,
304 struct scic_sds_remote_node_context *rnc, 290 struct scic_sds_remote_node_context *rnc,
@@ -307,7 +293,6 @@ void scic_sds_remote_node_context_construct(
307void scic_sds_remote_node_context_construct_buffer( 293void scic_sds_remote_node_context_construct_buffer(
308 struct scic_sds_remote_node_context *rnc); 294 struct scic_sds_remote_node_context *rnc);
309 295
310
311bool scic_sds_remote_node_context_is_ready( 296bool scic_sds_remote_node_context_is_ready(
312 struct scic_sds_remote_node_context *this_rnc); 297 struct scic_sds_remote_node_context *this_rnc);
313 298
@@ -335,7 +320,4 @@ bool scic_sds_remote_node_context_is_ready(
335#define scic_sds_remote_node_context_start_task(rnc, task) \ 320#define scic_sds_remote_node_context_start_task(rnc, task) \
336 ((rnc)->state_handlers->start_task_handler(rnc, task)) 321 ((rnc)->state_handlers->start_task_handler(rnc, task))
337 322
338/* --------------------------------------------------------------------------- */
339
340#endif /* _SCIC_SDS_REMOTE_NODE_CONTEXT_H_ */ 323#endif /* _SCIC_SDS_REMOTE_NODE_CONTEXT_H_ */
341
diff --git a/drivers/scsi/isci/core/scic_sds_stp_remote_device.c b/drivers/scsi/isci/core/scic_sds_stp_remote_device.c
index abe8f331a15c..1320c95ee8d4 100644
--- a/drivers/scsi/isci/core/scic_sds_stp_remote_device.c
+++ b/drivers/scsi/isci/core/scic_sds_stp_remote_device.c
@@ -192,7 +192,7 @@ static enum sci_status scic_sds_stp_remote_device_ready_substate_start_request_h
192 192
193 scic_sds_remote_node_context_resume( 193 scic_sds_remote_node_context_resume(
194 this_device->rnc, 194 this_device->rnc,
195 (SCICS_SDS_REMOTE_NODE_CONTEXT_CALLBACK) 195 (scics_sds_remote_node_context_callback)
196 scic_sds_remote_device_continue_request, 196 scic_sds_remote_device_continue_request,
197 this_device); 197 this_device);
198 } 198 }