diff options
Diffstat (limited to 'platform/generic/platform.c')
-rw-r--r-- | platform/generic/platform.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/platform/generic/platform.c b/platform/generic/platform.c index 276f64e..bc6e761 100644 --- a/platform/generic/platform.c +++ b/platform/generic/platform.c @@ -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) |