From: Georgi Djakov <gdjakov@mm-sol.com>
To: mturquette@linaro.org, linux@arm.linux.org.uk,
robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com,
ijc+devicetree@hellion.org.uk, galak@codeaurora.org,
sboyd@codeaurora.org, rdunlap@infradead.org
Cc: linux-doc@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org, Georgi Djakov <gdjakov@mm-sol.com>
Subject: [PATCH v1 2/5] clk: qcom: Allow an override function to be passed as data
Date: Thu, 22 May 2014 19:24:42 +0300 [thread overview]
Message-ID: <1400775885-10296-3-git-send-email-gdjakov@mm-sol.com> (raw)
In-Reply-To: <1400775885-10296-1-git-send-email-gdjakov@mm-sol.com>
The APQ8084 and MSM8974 SoCs share a lot of clock data. Instead of
duplicating all the data, we can add the support for APQ8084 into
the MSM8974 code and just describe the differences by using an
override function.
This patch applies to the clk-next tree and the following patchset
on top of it: https://lkml.org/lkml/2014/5/16/666
Signed-off-by: Georgi Djakov <gdjakov@mm-sol.com>
---
drivers/clk/qcom/gcc-msm8974.c | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/drivers/clk/qcom/gcc-msm8974.c b/drivers/clk/qcom/gcc-msm8974.c
index 33eb051..58cb2f5 100644
--- a/drivers/clk/qcom/gcc-msm8974.c
+++ b/drivers/clk/qcom/gcc-msm8974.c
@@ -2674,14 +2674,6 @@ static const struct qcom_cc_desc gcc_msm8974_desc = {
.num_resets = ARRAY_SIZE(gcc_msm8974_resets),
};
-static const struct of_device_id gcc_msm8974_match_table[] = {
- { .compatible = "qcom,gcc-msm8974" },
- { .compatible = "qcom,gcc-msm8974pro" , .data = (void *)1UL },
- { .compatible = "qcom,gcc-msm8974pro-ac", .data = (void *)1UL },
- { }
-};
-MODULE_DEVICE_TABLE(of, gcc_msm8974_match_table);
-
static void msm8974_pro_clock_override(void)
{
sdcc1_apps_clk_src_init.parent_names = gcc_xo_gpll0_gpll4;
@@ -2697,20 +2689,31 @@ static void msm8974_pro_clock_override(void)
&gcc_sdcc1_cdccal_ff_clk.clkr;
}
+static const struct of_device_id gcc_msm8974_match_table[] = {
+ { .compatible = "qcom,gcc-msm8974" },
+ { .compatible = "qcom,gcc-msm8974pro",
+ .data = &msm8974_pro_clock_override },
+ { .compatible = "qcom,gcc-msm8974pro-ac",
+ .data = &msm8974_pro_clock_override },
+ { }
+};
+MODULE_DEVICE_TABLE(of, gcc_msm8974_match_table);
+
static int gcc_msm8974_probe(struct platform_device *pdev)
{
struct clk *clk;
struct device *dev = &pdev->dev;
- bool pro;
const struct of_device_id *id;
+ void (*overrides)(void);
id = of_match_device(gcc_msm8974_match_table, dev);
if (!id)
return -ENODEV;
- pro = !!(id->data);
- if (pro)
- msm8974_pro_clock_override();
+ if (id->data) {
+ overrides = id->data;
+ overrides();
+ }
/* Temporary until RPM clocks supported */
clk = clk_register_fixed_rate(dev, "xo", NULL, CLK_IS_ROOT, 19200000);
--
1.7.9.5
next prev parent reply other threads:[~2014-05-22 16:26 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-22 16:24 [PATCH v1 0/5] clk: gcc: Add APQ8084 Global Clock Controller support Georgi Djakov
2014-05-22 16:24 ` [PATCH v1 1/5] clk: qcom: Add APQ8084 Global Clock Controller documentation Georgi Djakov
2014-05-22 16:24 ` Georgi Djakov [this message]
2014-05-22 16:24 ` [PATCH v1 3/5] clk: gcc: Add APQ8084 Global Clock Controller support Georgi Djakov
2014-05-22 16:38 ` Kumar Gala
2014-05-23 14:18 ` Georgi Djakov
2014-05-22 17:22 ` Stephen Boyd
2014-05-23 14:20 ` Georgi Djakov
2014-05-22 16:24 ` [PATCH v1 4/5] ARM: dts: qcom: Add APQ8084 Global Clock Controller DT node Georgi Djakov
2014-05-22 16:24 ` [PATCH v1 5/5] ARM: dts: qcom: Add APQ8084 serial port " Georgi Djakov
2014-05-22 16:32 ` Kumar Gala
2014-05-23 14:17 ` Georgi Djakov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1400775885-10296-3-git-send-email-gdjakov@mm-sol.com \
--to=gdjakov@mm-sol.com \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=mturquette@linaro.org \
--cc=pawel.moll@arm.com \
--cc=rdunlap@infradead.org \
--cc=robh+dt@kernel.org \
--cc=sboyd@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).