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>
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)
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)