The 'firmware' property of a config node takes precedence over the
'kernel' property. 'standalone' is deprecated. However, give users a
couple of releases where 'standalone' still works, but warns loudly.

Signed-off-by: Alexandru Gagniuc <mr.nuke...@gmail.com>
---
 common/spl/spl.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/common/spl/spl.c b/common/spl/spl.c
index e63f05bb33..da4751b4ac 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -214,7 +214,24 @@ static int spl_load_fit_image(struct spl_image_info 
*spl_image,
        ret = fit_image_load(&images, (ulong)header,
                             NULL, &fit_uname_config,
                             IH_ARCH_DEFAULT, IH_TYPE_STANDALONE, -1,
-                            FIT_LOAD_REQUIRED, &fw_data, &fw_len);
+                            FIT_LOAD_OPTIONAL, &fw_data, &fw_len);
+       if (ret >= 0) {
+               printf("DEPRECATED: 'standalone = ' property.");
+               printf("Please use either 'firmware =' or 'kernel ='\n");
+       } else {
+               ret = fit_image_load(&images, (ulong)header, NULL,
+                                    &fit_uname_config, IH_ARCH_DEFAULT,
+                                    IH_TYPE_FIRMWARE, -1, FIT_LOAD_OPTIONAL,
+                                    &fw_data, &fw_len);
+       }
+
+       if (ret < 0) {
+               ret = fit_image_load(&images, (ulong)header, NULL,
+                                    &fit_uname_config, IH_ARCH_DEFAULT,
+                                    IH_TYPE_KERNEL, -1, FIT_LOAD_OPTIONAL,
+                                    &fw_data, &fw_len);
+       }
+
        if (ret < 0)
                return ret;
 
-- 
2.26.2

Reply via email to