From 0a04610e19d7797c00d590feac43813388183a80 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 5fac0c02c0..e48e76a6e9 100644 --- a/common/image-fit.c +++ b/common/image-fit.c @@ -1427,20 +1427,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