platform: generic: move fdt_reset_init to final_init
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 6 Nov 2021 09:54:50 +0000 (10:54 +0100)
committerAnup Patel <anup@brainfault.org>
Mon, 8 Nov 2021 05:12:05 +0000 (10:42 +0530)
Move the fdt_reset_init() invocation from generic_early_init() to
generic_final_init(). This allows to print error messages.

Ignore the return value of fdt_reset_init() as we should not stop booting
due to failure to initialize reset drivers.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Dong Du <Dd_nirvana@sjtu.edu.cn>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
platform/generic/platform.c

index 276f64e..bc6e761 100644 (file)
@@ -120,18 +120,10 @@ fail:
 
 static int generic_early_init(bool cold_boot)
 {
-       int rc;
-
-       if (generic_plat && generic_plat->early_init) {
-               rc = generic_plat->early_init(cold_boot, generic_plat_match);
-               if (rc)
-                       return rc;
-       }
-
-       if (!cold_boot)
+       if (!generic_plat || !generic_plat->early_init)
                return 0;
 
-       return fdt_reset_init();
+       return generic_plat->early_init(cold_boot, generic_plat_match);
 }
 
 static int generic_final_init(bool cold_boot)
@@ -139,6 +131,9 @@ static int generic_final_init(bool cold_boot)
        void *fdt;
        int rc;
 
+       if (cold_boot)
+               fdt_reset_init();
+
        if (generic_plat && generic_plat->final_init) {
                rc = generic_plat->final_init(cold_boot, generic_plat_match);
                if (rc)