From: Ansuel Smith <ansuelsmth@gmail.com>
To: Rob Herring <robh+dt@kernel.org>,
Bjorn Andersson <bjorn.andersson@linaro.org>,
Andy Gross <agross@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>,
Peter De Schrijver <pdeschrijver@nvidia.com>,
Prashant Gaikwad <pgaikwad@nvidia.com>,
Thierry Reding <thierry.reding@gmail.com>,
Jonathan Hunter <jonathanh@nvidia.com>,
Ansuel Smith <ansuelsmth@gmail.com>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
linux-tegra@vger.kernel.org
Subject: [PATCH 09/16] clk: qcom: krait-cc: drop pr_info and register qsb only if needed
Date: Sun, 13 Mar 2022 20:04:12 +0100 [thread overview]
Message-ID: <20220313190419.2207-10-ansuelsmth@gmail.com> (raw)
In-Reply-To: <20220313190419.2207-1-ansuelsmth@gmail.com>
Drop pr_info and change them to dev_info.
Register qsb fixed clk only if it's not declared in DTS.
Also reorganize variable order.
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
---
drivers/clk/qcom/krait-cc.c | 42 +++++++++++++++++++------------------
1 file changed, 22 insertions(+), 20 deletions(-)
diff --git a/drivers/clk/qcom/krait-cc.c b/drivers/clk/qcom/krait-cc.c
index 645ad9e8dd73..50352ff0ac67 100644
--- a/drivers/clk/qcom/krait-cc.c
+++ b/drivers/clk/qcom/krait-cc.c
@@ -34,9 +34,10 @@ static int krait_notifier_cb(struct notifier_block *nb,
unsigned long event,
void *data)
{
- int ret = 0;
struct krait_mux_clk *mux = container_of(nb, struct krait_mux_clk,
clk_nb);
+ int ret = 0;
+
/* Switch to safe parent */
if (event == PRE_RATE_CHANGE) {
mux->old_index = krait_mux_clk_ops.get_parent(&mux->hw);
@@ -59,7 +60,7 @@ static int krait_notifier_cb(struct notifier_block *nb,
static int krait_notifier_register(struct device *dev, struct clk *clk,
struct krait_mux_clk *mux)
{
- int ret = 0;
+ int ret;
mux->clk_nb.notifier_call = krait_notifier_cb;
ret = clk_notifier_register(clk, &mux->clk_nb);
@@ -72,15 +73,15 @@ static int krait_notifier_register(struct device *dev, struct clk *clk,
static struct clk *
krait_add_div(struct device *dev, int id, const char *s, unsigned int offset)
{
- struct krait_div2_clk *div;
static struct clk_parent_data p_data[1];
struct clk_init_data init = {
.num_parents = ARRAY_SIZE(p_data),
.ops = &krait_div2_clk_ops,
.flags = CLK_SET_RATE_PARENT,
};
- struct clk *clk;
+ struct krait_div2_clk *div;
char *parent_name;
+ struct clk *clk;
div = devm_kzalloc(dev, sizeof(*div), GFP_KERNEL);
if (!div)
@@ -119,8 +120,6 @@ static struct clk *
krait_add_sec_mux(struct device *dev, int id, const char *s,
unsigned int offset, bool unique_aux)
{
- int ret;
- struct krait_mux_clk *mux;
static struct clk_parent_data sec_mux_list[2] = {
{ .name = "qsb", .fw_name = "qsb" },
{},
@@ -131,8 +130,10 @@ krait_add_sec_mux(struct device *dev, int id, const char *s,
.ops = &krait_mux_clk_ops,
.flags = CLK_SET_RATE_PARENT,
};
- struct clk *clk;
+ struct krait_mux_clk *mux;
char *parent_name;
+ struct clk *clk;
+ int ret;
mux = devm_kzalloc(dev, sizeof(*mux), GFP_KERNEL);
if (!mux)
@@ -182,8 +183,6 @@ static struct clk *
krait_add_pri_mux(struct device *dev, struct clk *hfpll_div, struct clk *sec_mux,
int id, const char *s, unsigned int offset)
{
- int ret;
- struct krait_mux_clk *mux;
static struct clk_parent_data p_data[3];
struct clk_init_data init = {
.parent_data = p_data,
@@ -191,8 +190,10 @@ krait_add_pri_mux(struct device *dev, struct clk *hfpll_div, struct clk *sec_mux
.ops = &krait_mux_clk_ops,
.flags = CLK_SET_RATE_PARENT,
};
- struct clk *clk;
+ struct krait_mux_clk *mux;
char *hfpll_name;
+ struct clk *clk;
+ int ret;
mux = devm_kzalloc(dev, sizeof(*mux), GFP_KERNEL);
if (!mux)
@@ -240,10 +241,10 @@ krait_add_pri_mux(struct device *dev, struct clk *hfpll_div, struct clk *sec_mux
/* id < 0 for L2, otherwise id == physical CPU number */
static struct clk *krait_add_clks(struct device *dev, int id, bool unique_aux)
{
+ struct clk *hfpll_div, *sec_mux, *clk;
unsigned int offset;
void *p = NULL;
const char *s;
- struct clk *hfpll_div, *sec_mux, *clk;
if (id >= 0) {
offset = 0x4501 + (0x1000 * id);
@@ -295,20 +296,21 @@ MODULE_DEVICE_TABLE(of, krait_cc_match_table);
static int krait_cc_probe(struct platform_device *pdev)
{
+ unsigned long cur_rate, aux_rate;
+ struct clk *l2_pri_mux_clk, *clk;
struct device *dev = &pdev->dev;
const struct of_device_id *id;
- unsigned long cur_rate, aux_rate;
- int cpu;
- struct clk *clk;
struct clk **clks;
- struct clk *l2_pri_mux_clk;
+ int cpu;
id = of_match_device(krait_cc_match_table, dev);
if (!id)
return -ENODEV;
/* Rate is 1 because 0 causes problems for __clk_mux_determine_rate */
- clk = clk_register_fixed_rate(dev, "qsb", NULL, 0, 1);
+ if (IS_ERR(clk_get(dev, "qsb")))
+ clk = clk_register_fixed_rate(dev, "qsb", NULL, 0, 1);
+
if (IS_ERR(clk))
return PTR_ERR(clk);
@@ -363,25 +365,25 @@ static int krait_cc_probe(struct platform_device *pdev)
cur_rate = clk_get_rate(l2_pri_mux_clk);
aux_rate = 384000000;
if (cur_rate == 1) {
- pr_info("L2 @ QSB rate. Forcing new rate.\n");
+ dev_info(dev, "L2 @ QSB rate. Forcing new rate.\n");
cur_rate = aux_rate;
}
clk_set_rate(l2_pri_mux_clk, aux_rate);
clk_set_rate(l2_pri_mux_clk, 2);
clk_set_rate(l2_pri_mux_clk, cur_rate);
- pr_info("L2 @ %lu KHz\n", clk_get_rate(l2_pri_mux_clk) / 1000);
+ dev_info(dev, "L2 @ %lu KHz\n", clk_get_rate(l2_pri_mux_clk) / 1000);
for_each_possible_cpu(cpu) {
clk = clks[cpu];
cur_rate = clk_get_rate(clk);
if (cur_rate == 1) {
- pr_info("CPU%d @ QSB rate. Forcing new rate.\n", cpu);
+ dev_info(dev, "CPU%d @ QSB rate. Forcing new rate.\n", cpu);
cur_rate = aux_rate;
}
clk_set_rate(clk, aux_rate);
clk_set_rate(clk, 2);
clk_set_rate(clk, cur_rate);
- pr_info("CPU%d @ %lu KHz\n", cpu, clk_get_rate(clk) / 1000);
+ dev_info(dev, "CPU%d @ %lu KHz\n", cpu, clk_get_rate(clk) / 1000);
}
of_clk_add_provider(dev->of_node, krait_of_get, clks);
--
2.34.1
next prev parent reply other threads:[~2022-03-13 19:05 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-13 19:04 [PATCH 00/16] Modernize rest of the krait drivers Ansuel Smith
2022-03-13 19:04 ` [PATCH 01/16] clk: permit to define a custom parent for clk_hw_get_parent_index Ansuel Smith
2022-03-15 17:55 ` Stephen Boyd
2022-03-15 18:07 ` Ansuel Smith
2022-03-15 21:30 ` Stephen Boyd
2022-03-13 19:04 ` [PATCH 02/16] clk: qcom: gcc-ipq806x: skip pxo/cxo fixed clk if already present Ansuel Smith
2022-03-13 19:04 ` [PATCH 03/16] clk: qcom: gcc-ipq806x: add PXO_SRC in clk table Ansuel Smith
2022-03-13 19:04 ` [PATCH 04/16] clk: qcom: clk-hfpll: use poll_timeout macro Ansuel Smith
2022-03-13 19:04 ` [PATCH 05/16] clk: qcom: kpss-xcc: convert to parent data API Ansuel Smith
2022-03-13 19:04 ` [PATCH 06/16] clk: qcom: clk-krait: unlock spin after mux completion Ansuel Smith
2022-03-13 19:04 ` [PATCH 07/16] clk: qcom: clk-krait: add hw_parent check for div2_round_rate Ansuel Smith
2022-03-15 22:43 ` Stephen Boyd
2022-03-13 19:04 ` [PATCH 08/16] clk: qcom: krait-cc: convert to parent_data API Ansuel Smith
2022-03-13 19:04 ` Ansuel Smith [this message]
2022-03-15 22:45 ` [PATCH 09/16] clk: qcom: krait-cc: drop pr_info and register qsb only if needed Stephen Boyd
2022-03-13 19:04 ` [PATCH 10/16] clk: qcom: krait-cc: drop hardcoded safe_sel Ansuel Smith
2022-03-13 19:04 ` [PATCH 11/16] clk: qcom: krait-cc: force sec_mux to QSB Ansuel Smith
2022-03-15 22:47 ` Stephen Boyd
2022-03-13 19:04 ` [PATCH 12/16] clk: qcom: clk-krait: add 8064 errata workaround Ansuel Smith
2022-03-14 8:20 ` Dmitry Baryshkov
2022-03-14 12:43 ` Ansuel Smith
2022-03-15 21:34 ` Stephen Boyd
2022-03-15 21:47 ` Ansuel Smith
2022-03-15 22:41 ` Stephen Boyd
2022-03-16 15:46 ` Ansuel Smith
2022-03-17 19:34 ` Stephen Boyd
2022-03-13 19:04 ` [PATCH 13/16] clk: qcom: clk-krait: add enable disable ops Ansuel Smith
2022-03-13 19:04 ` [PATCH 14/16] dt-bindings: clock: Convert qcom,krait-cc to yaml Ansuel Smith
2022-03-13 19:04 ` [PATCH 15/16] dts: qcom-ipq8064: add missing krait-cc compatible and clocks Ansuel Smith
2022-03-13 19:04 ` [PATCH 16/16] dt-bindings: arm: msm: Convert kpss driver Documentation to yaml Ansuel Smith
2022-03-14 14:42 ` Rob Herring
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=20220313190419.2207-10-ansuelsmth@gmail.com \
--to=ansuelsmth@gmail.com \
--cc=agross@kernel.org \
--cc=bjorn.andersson@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=jonathanh@nvidia.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=pdeschrijver@nvidia.com \
--cc=pgaikwad@nvidia.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@kernel.org \
--cc=thierry.reding@gmail.com \
/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).