diff options
author | Jacob Chen <jacob2.chen@rock-chips.com> | 2017-12-12 09:54:24 +0800 |
---|---|---|
committer | Tao Huang <huangtao@rock-chips.com> | 2017-12-12 20:10:47 +0800 |
commit | bbea8b144e608afc399cabfcc183d7a18f723c5a (patch) | |
tree | 3c0cbd51170ea29f0e2ded10a5679f0861e863aa | |
parent | 20694a9e4bb4e336f50fdae20c22786e24e72808 (diff) |
clk: rockchip: do not register ddrclk if PSCI is not enabled on arm32release-20171213
ARM32 system can run without trustos,
we should prevent arm_smccc_smc being called in such system.
Change-Id: Ic87b78107b464e3ab8dc72a3ca1fa9a64e358580
Signed-off-by: Jacob Chen <jacob2.chen@rock-chips.com>
-rw-r--r-- | drivers/clk/rockchip/clk-ddr.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/clk/rockchip/clk-ddr.c b/drivers/clk/rockchip/clk-ddr.c index 3bcf2bf758e7..6307eabbc543 100644 --- a/drivers/clk/rockchip/clk-ddr.c +++ b/drivers/clk/rockchip/clk-ddr.c @@ -26,6 +26,9 @@ #include <soc/rockchip/rockchip_sip.h> #include <soc/rockchip/scpi.h> #include <uapi/drm/drm_mode.h> +#ifdef CONFIG_ARM +#include <asm/psci.h> +#endif #include "clk.h" @@ -312,6 +315,11 @@ struct clk *rockchip_clk_register_ddrclk(const char *name, int flags, struct clk_init_data init; struct clk *clk; +#ifdef CONFIG_ARM + if (!psci_smp_available()) + return NULL; +#endif + ddrclk = kzalloc(sizeof(*ddrclk), GFP_KERNEL); if (!ddrclk) return ERR_PTR(-ENOMEM); |