From f08ca43b85bc18ff3dc75f2c72eb675a232a69eb Mon Sep 17 00:00:00 2001 From: Tao Huang Date: Fri, 10 Sep 2021 17:09:31 +0800 Subject: [PATCH] soc: rockchip: cpuinfo: Export rockchip_soc_id_init() function Allow rockchip_soc_id_init() called before pure_initcall. Change-Id: Ie0d3a18e96df02c2d6ab4aa3e17ea102685cd0c4 Signed-off-by: Tao Huang --- drivers/soc/rockchip/rockchip-cpuinfo.c | 5 ++++- include/linux/rockchip/cpu.h | 9 +++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/soc/rockchip/rockchip-cpuinfo.c b/drivers/soc/rockchip/rockchip-cpuinfo.c index 724ba622a34d..c88d54cff8ab 100644 --- a/drivers/soc/rockchip/rockchip-cpuinfo.c +++ b/drivers/soc/rockchip/rockchip-cpuinfo.c @@ -195,8 +195,11 @@ static void rk3568_init(void) rk356x_set_cpu_version(); } -static int __init rockchip_soc_id_init(void) +int __init rockchip_soc_id_init(void) { + if (rockchip_soc_id) + return 0; + if (cpu_is_rk3288()) { rk3288_init(); } else if (cpu_is_rk312x()) { diff --git a/include/linux/rockchip/cpu.h b/include/linux/rockchip/cpu.h index 727a2d621745..33a1db1f8e5f 100644 --- a/include/linux/rockchip/cpu.h +++ b/include/linux/rockchip/cpu.h @@ -54,6 +54,9 @@ static inline void rockchip_set_cpu(unsigned long code) rockchip_soc_id &= ~ROCKCHIP_CPU_MASK; rockchip_soc_id |= (code << ROCKCHIP_CPU_SHIFT) & ROCKCHIP_CPU_MASK; } + +int rockchip_soc_id_init(void); + #else #define rockchip_soc_id 0 @@ -70,6 +73,12 @@ static inline void rockchip_set_cpu_version(unsigned long ver) static inline void rockchip_set_cpu(unsigned long code) { } + +static inline int rockchip_soc_id_init(void) +{ + return 0; +} + #endif #if defined(CONFIG_CPU_RV1126) || defined(CONFIG_CPU_RV1109)