summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Chen <jacob2.chen@rock-chips.com>2017-12-12 09:54:24 +0800
committerTao Huang <huangtao@rock-chips.com>2017-12-12 20:10:47 +0800
commitbbea8b144e608afc399cabfcc183d7a18f723c5a (patch)
tree3c0cbd51170ea29f0e2ded10a5679f0861e863aa
parent20694a9e4bb4e336f50fdae20c22786e24e72808 (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.c8
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);