From: Stephen Boyd <sboyd@kernel.org>
To: Alexandre Mergnat <amergnat@baylibre.com>, mturquette@baylibre.com
Cc: linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org,
baylibre-upstreaming@groups.io,
Alexandre Mergnat <amergnat@baylibre.com>,
Jerome Brunet <jbrunet@baylibre.com>
Subject: Re: [PATCH] clk: fix clock global name usage.
Date: Fri, 24 May 2019 07:33:54 -0700 [thread overview]
Message-ID: <20190524143355.5586D2133D@mail.kernel.org> (raw)
In-Reply-To: <20190524072745.27398-1-amergnat@baylibre.com>
Quoting Alexandre Mergnat (2019-05-24 00:27:45)
> A recent patch allows the clock framework to specify the parent
> relationship with either the clk_hw pointer, the global name or through
> Device Tree name.
You could point to the commit instead of saying "a recent patch". Would
provide more clarity.
>
> But the global name isn't handled by the clk framework because the DT name
> is considered valid even if it's NULL, so of_clk_get_hw() returns an
> unexpected clock (the first clock specified in DT).
Yes, the DT name can be NULL and then we would use the index.
>
> This can be fixed by calling of_clk_get_hw() only when DT name is not NULL.
>
> Fixes: fc0c209c147f ("clk: Allow parents to be specified without string names")
> Cc: Jerome Brunet <jbrunet@baylibre.com>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> drivers/clk/clk.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
> index bdb077ba59b9..9624a75e5a8d 100644
> --- a/drivers/clk/clk.c
> +++ b/drivers/clk/clk.c
> @@ -368,7 +368,7 @@ static struct clk_core *clk_core_get(struct clk_core *core, u8 p_index)
> const char *dev_id = dev ? dev_name(dev) : NULL;
> struct device_node *np = core->of_node;
>
> - if (np && index >= 0)
> + if (name && np && index >= 0)
Do you set the index to 0 in this clk's parent_data? We purposefully set
the index to -1 in clk_core_populate_parent_map() so that the fw_name
can be NULL but the index can be something >= 0 and then we'll use that
to lookup the clk from DT. We need to support that combination.
fw_name | index | DT lookup?
----------+---------+------------
NULL | >= 0 | Y
NULL | -1 | N
non-NULL | -1 | ?
non-NULL | >= 0 | Y
Maybe we should support the ? case, because right now it will fail to do
the DT lookup when the index is -1.
So this patch instead?
diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index b34e84bb8167..a554cb9316a5 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -368,7 +368,7 @@ static struct clk_core *clk_core_get(struct clk_core *core, u8 p_index)
const char *dev_id = dev ? dev_name(dev) : NULL;
struct device_node *np = core->of_node;
- if (np && index >= 0)
+ if (np && (index >= 0 || name))
hw = of_clk_get_hw(np, index, name);
/*
next prev parent reply other threads:[~2019-05-24 14:33 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-24 7:27 [PATCH] clk: fix clock global name usage Alexandre Mergnat
2019-05-24 14:33 ` Stephen Boyd [this message]
2019-05-24 15:00 ` Jerome Brunet
2019-05-24 17:44 ` Stephen Boyd
2019-05-24 18:12 ` Jerome Brunet
2019-06-06 22:54 ` Stephen Boyd
2019-06-10 9:37 ` Jerome Brunet
2019-06-11 6:46 ` wens Tsai
2019-06-12 23:00 ` Stephen Boyd
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=20190524143355.5586D2133D@mail.kernel.org \
--to=sboyd@kernel.org \
--cc=amergnat@baylibre.com \
--cc=baylibre-upstreaming@groups.io \
--cc=jbrunet@baylibre.com \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@baylibre.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.