summaryrefslogtreecommitdiffstats
path: root/drivers/clk/rockchip
diff options
context:
space:
mode:
authorHeiko Stuebner <heiko@sntech.de>2016-03-15 16:40:32 +0100
committerHeiko Stuebner <heiko@sntech.de>2016-05-09 16:04:11 +0200
commit6f339dc2719eb01448c70fe3d56287d1eb9bd67e (patch)
tree5c202cbe230546bc357b0fed0756602be3e43500 /drivers/clk/rockchip
parent84752e8d8ab6bb72feab96785e9366783b4b9787 (diff)
downloadop-kernel-dev-6f339dc2719eb01448c70fe3d56287d1eb9bd67e.zip
op-kernel-dev-6f339dc2719eb01448c70fe3d56287d1eb9bd67e.tar.gz
clk: rockchip: lookup General Register Files in rockchip_clk_init
In the distant past syscons were initialized pretty late and weren't available at the time the clock init ran. As the GRF is mainly needed for PLL lock-status checking, we had this lazy init that tried to grab the syscon on PLL rate changes and denied these changes if it was not available. These days syscons are available very early and recent addition to rockchip clocks, like the PLL clk_init actually also rely on them being available at that time, so there is no need to keep that lazy init around, as it will also result in some more simplifications in other parts of the clock-code. Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Diffstat (limited to 'drivers/clk/rockchip')
-rw-r--r--drivers/clk/rockchip/clk.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/clk/rockchip/clk.c b/drivers/clk/rockchip/clk.c
index f0a8be1..9f99a42 100644
--- a/drivers/clk/rockchip/clk.c
+++ b/drivers/clk/rockchip/clk.c
@@ -347,6 +347,9 @@ struct rockchip_clk_provider * __init rockchip_clk_init(struct device_node *np,
ctx->grf = ERR_PTR(-EPROBE_DEFER);
spin_lock_init(&ctx->lock);
+ ctx->grf = syscon_regmap_lookup_by_phandle(ctx->cru_node,
+ "rockchip,grf");
+
return ctx;
err_free:
@@ -364,9 +367,6 @@ void __init rockchip_clk_of_add_provider(struct device_node *np,
struct regmap *rockchip_clk_get_grf(struct rockchip_clk_provider *ctx)
{
- if (IS_ERR(ctx->grf))
- ctx->grf = syscon_regmap_lookup_by_phandle(ctx->cru_node,
- "rockchip,grf");
return ctx->grf;
}
OpenPOWER on IntegriCloud