summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/xip
diff options
context:
space:
mode:
authorMartin Peschke <mpeschke@de.ibm.com>2016-09-15 16:26:04 +0200
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-10-05 10:40:00 -0400
commit47687888c5048adc41cd455d83517f28d85810a3 (patch)
tree92d8f52a62b69f2077d9b99b5d84221d74932f75 /src/import/chips/p9/xip
parent7c48e4f04c1b162f356287ab50f2a7b7dd9ab917 (diff)
downloadtalos-hostboot-47687888c5048adc41cd455d83517f28d85810a3.tar.gz
talos-hostboot-47687888c5048adc41cd455d83517f28d85810a3.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/29772 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/xip')
-rw-r--r--src/import/chips/p9/xip/p9_xip_image.c65
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 27ba98031..0fc4dc481 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);
}
OpenPOWER on IntegriCloud