summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhiqiang Tu <ztu@codeaurora.org>2017-06-22 13:45:56 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-06-22 21:31:37 -0700
commite1ec43ff6d0706033703dbd46515ee91c06554f1 (patch)
treedd0963416a01f6384082e713d02ff50072a314dd
parent7350d1ad7286e0c644ccafbbd5bc914ac4c2bc66 (diff)
clk: msm: Add fixed rate clock support for dummy clock driver
Virtual platform uses dummy clock driver. It needs dummy clock driver to support fixed rate clock. Change-Id: Id0f6ce592447a443c22ad49fddeaa598cf3d047e Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
-rw-r--r--drivers/clk/msm/clock-dummy.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/clk/msm/clock-dummy.c b/drivers/clk/msm/clock-dummy.c
index e5339b110cd6..caa6a6ab7565 100644
--- a/drivers/clk/msm/clock-dummy.c
+++ b/drivers/clk/msm/clock-dummy.c
@@ -64,12 +64,18 @@ struct clk dummy_clk = {
static void *dummy_clk_dt_parser(struct device *dev, struct device_node *np)
{
struct clk *c;
+ u32 rate;
+
c = devm_kzalloc(dev, sizeof(*c), GFP_KERNEL);
if (!c) {
dev_err(dev, "failed to map memory for %s\n", np->name);
return ERR_PTR(-ENOMEM);
}
c->ops = &clk_ops_dummy;
+
+ if (!of_property_read_u32(np, "clock-frequency", &rate))
+ c->rate = rate;
+
return msmclk_generic_clk_init(dev, np, c);
}
MSMCLK_PARSER(dummy_clk_dt_parser, "qcom,dummy-clk", 0);
@@ -82,6 +88,7 @@ static struct clk *of_dummy_get(struct of_phandle_args *clkspec,
static struct of_device_id msm_clock_dummy_match_table[] = {
{ .compatible = "qcom,dummycc" },
+ { .compatible = "fixed-clock" },
{}
};