diff options
author | Martin Peschke <mpeschke@de.ibm.com> | 2016-09-15 16:26:04 +0200 |
---|---|---|
committer | Sachin Gupta <sgupta2m@in.ibm.com> | 2016-10-04 06:08:24 -0400 |
commit | 2b1a3c3c7988a72fdceb6a40f168780cb8415b39 (patch) | |
tree | f3c118ca6b313b56208c5842e71d1dd2fb0dbcbf /src | |
parent | d548b0c2ecac66b0d0afc7a65f9a1bdfdb734ab2 (diff) | |
download | talos-sbe-2b1a3c3c7988a72fdceb6a40f168780cb8415b39.tar.gz talos-sbe-2b1a3c3c7988a72fdceb6a40f168780cb8415b39.zip |
P9-XIP: simplify p9_xip_get_element()
Removing code duplication
Change-Id: I8afb0a03f3b4a3bd8590419b0c1e9ff8e051fe5a
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29764
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Richard J. Knight <rjknight@us.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
Reviewed-by: Martin Peschke <mpeschke@de.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29771
Reviewed-by: Hostboot Team <hostboot@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/import/chips/p9/xip/p9_xip_image.c | 65 |
1 files changed, 5 insertions, 60 deletions
diff --git a/src/import/chips/p9/xip/p9_xip_image.c b/src/import/chips/p9/xip/p9_xip_image.c index 533dd0f6..6272ec38 100644 --- a/src/import/chips/p9/xip/p9_xip_image.c +++ b/src/import/chips/p9/xip/p9_xip_image.c @@ -2189,69 +2189,14 @@ p9_xip_get_element(void* i_image, int rc; P9XipItem item; - do - { - rc = p9_xip_find(i_image, i_id, &item); - - if (rc) - { - break; - } - - if ((item.iv_elements != 0) && (i_index >= item.iv_elements)) - { - rc = TRACE_ERROR(P9_XIP_BOUNDS_ERROR); - break; - } - - switch (item.iv_type) - { - case P9_XIP_UINT8: - *o_data = ((uint8_t*)(item.iv_imageData))[i_index]; - break; - - case P9_XIP_UINT16: - *o_data = htobe16(((uint16_t*)(item.iv_imageData))[i_index]); - break; - - case P9_XIP_UINT32: - *o_data = htobe32(((uint32_t*)(item.iv_imageData))[i_index]); - break; - - case P9_XIP_UINT64: - *o_data = htobe64(((uint64_t*)(item.iv_imageData))[i_index]); - break; - - case P9_XIP_INT8: - *o_data = ((int8_t*)(item.iv_imageData))[i_index]; - break; - - case P9_XIP_INT16: - *o_data = htobe16(((int16_t*)(item.iv_imageData))[i_index]); - break; - - case P9_XIP_INT32: - *o_data = htobe32(((int32_t*)(item.iv_imageData))[i_index]); - break; - - case P9_XIP_INT64: - *o_data = htobe64(((int64_t*)(item.iv_imageData))[i_index]); - break; - - default: - rc = TRACE_ERROR(P9_XIP_TYPE_ERROR); - break; - } - - if (rc) - { - break; - } + rc = p9_xip_find(i_image, i_id, &item); + if (rc) + { + return rc; } - while (0); - return rc; + return p9_xip_get_item(&item, o_data, i_index); } |