From ad026adbcf0d719e736eb58a9059cbbebb2d2423 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Mon, 4 Sep 2017 23:12:14 +0300 Subject: [PATCH] fit: Allow multiple images per property As part of the fdt overlay support which need it, allow a list of configurations per property. Signed-off-by: Pantelis Antoniou Acked-by: Simon Glass --- common/image-fit.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/common/image-fit.c b/common/image-fit.c index 109ecfaacc..74e555754c 100644 --- a/common/image-fit.c +++ b/common/image-fit.c @@ -1484,20 +1484,32 @@ int fit_conf_get_node(const void *fit, const char *conf_uname) return noffset; } -int fit_conf_get_prop_node(const void *fit, int noffset, +int fit_conf_get_prop_node_count(const void *fit, int noffset, const char *prop_name) { - char *uname; + return fdt_stringlist_count(fit, noffset, prop_name); +} + +int fit_conf_get_prop_node_index(const void *fit, int noffset, + const char *prop_name, int index) +{ + const char *uname; int len; /* get kernel image unit name from configuration kernel property */ - uname = (char *)fdt_getprop(fit, noffset, prop_name, &len); + uname = fdt_stringlist_get(fit, noffset, prop_name, index, &len); if (uname == NULL) return len; return fit_image_get_node(fit, uname); } +int fit_conf_get_prop_node(const void *fit, int noffset, + const char *prop_name) +{ + return fit_conf_get_prop_node_index(fit, noffset, prop_name, 0); +} + /** * fit_conf_print - prints out the FIT configuration details * @fit: pointer to the FIT format image header -- 2.39.5