arm64: rockchip: check tf version later
[firefly-linux-kernel-4.4.55.git] / arch / arm / mach-rockchip / efuse.c
index ca2597fb7a4341ea7ff1ac42fac4dffff21a144a..439aa49bd7c1b92c2d260fc12a4b65ad0dca8218 100644 (file)
@@ -126,7 +126,7 @@ static void efuse_writel(u32 val, u32 offset)
 #define RKTF_VLDVER_MINOR (3)
 
 
-static void rockchip_tf_ver_check(void)
+static int __init rockchip_tf_ver_check(void)
 {
        u64 val;
        u32 ver_val;
@@ -137,7 +137,7 @@ static void rockchip_tf_ver_check(void)
 
        if ((RKTF_VER_MAJOR(ver_val) >= RKTF_VLDVER_MAJOR) &&
                (RKTF_VER_MINOR(ver_val) >= RKTF_VLDVER_MINOR))
-               return;
+               return 0;
 
 ver_error:
 
@@ -148,8 +148,10 @@ ver_error:
                pr_err("trusted firmware need to update to(%d.%d) or is invaild!\n",
                        RKTF_VLDVER_MAJOR, RKTF_VLDVER_MINOR);
        } while(1);
-}
 
+       return 0;
+}
+device_initcall_sync(rockchip_tf_ver_check);
 #endif
 
 static int rk3288_efuse_readregs(u32 addr, u32 length, u8 *buf)
@@ -341,8 +343,6 @@ static int __init rockchip_efuse_probe(struct platform_device *pdev)
        }
        efuse_phys = regs->start;
 
-       rockchip_tf_ver_check();
-
        rk3288_efuse_init();
        return 0;
 }