From: Tony Lindgren <tony@atomide.com>
To: linux-clk@vger.kernel.org
Cc: Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@codeaurora.org>,
Tero Kristo <t-kristo@ti.com>,
linux-omap@vger.kernel.org
Subject: [PATCH 5/8] clk: ti: Use clock-output-names for clkctrl
Date: Fri, 4 Feb 2022 09:14:46 +0200 [thread overview]
Message-ID: <20220204071449.16762-6-tony@atomide.com> (raw)
In-Reply-To: <20220204071449.16762-1-tony@atomide.com>
Use clock-output-names devicetree property for clkctrl clocks if
available.
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
drivers/clk/ti/clkctrl.c | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/drivers/clk/ti/clkctrl.c b/drivers/clk/ti/clkctrl.c
--- a/drivers/clk/ti/clkctrl.c
+++ b/drivers/clk/ti/clkctrl.c
@@ -469,14 +469,32 @@ static void __init _clkctrl_add_provider(void *data,
of_clk_add_hw_provider(np, _ti_omap4_clkctrl_xlate, data);
}
-/* Get clock name based on compatible string for clkctrl */
-static char * __init clkctrl_get_name(struct device_node *np)
+/*
+ * Get clock name based on "clock-output-names" property or the
+ * compatible property for clkctrl.
+ */
+static const char * __init clkctrl_get_name(struct device_node *np)
{
struct property *prop;
const int prefix_len = 11;
const char *compat;
+ const char *output;
char *name;
+ if (!of_property_read_string_index(np, "clock-output-names", 0,
+ &output)) {
+ const char *end;
+ int len;
+
+ len = strlen(output);
+ end = strstr(output, "_clkctrl");
+ if (end)
+ len -= strlen(end);
+ name = kstrndup(output, len, GFP_KERNEL);
+
+ return name;
+ }
+
of_property_for_each_string(np, "compatible", prop, compat) {
if (!strncmp("ti,clkctrl-", compat, prefix_len)) {
/* Two letter minimum name length for l3, l4 etc */
--
2.35.1
next prev parent reply other threads:[~2022-02-04 7:15 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-04 7:14 [PATCH 0/8] Clock changes for TI dts reg and node name issues Tony Lindgren
2022-02-04 7:14 ` [PATCH 1/8] clk: ti: Constify clkctrl_name Tony Lindgren
2022-03-11 3:30 ` Stephen Boyd
2022-02-04 7:14 ` [PATCH 2/8] clk: ti: Preserve node in ti_dt_clocks_register() Tony Lindgren
2022-03-11 3:31 ` Stephen Boyd
2022-02-04 7:14 ` [PATCH 3/8] clk: ti: Optionally parse IO address from parent clock node Tony Lindgren
2022-03-11 3:31 ` Stephen Boyd
2022-02-04 7:14 ` [PATCH 4/8] clk: ti: Add ti_find_clock_provider() to use clock-output-names Tony Lindgren
2022-03-11 3:31 ` Stephen Boyd
2022-02-04 7:14 ` Tony Lindgren [this message]
2022-03-11 3:31 ` [PATCH 5/8] clk: ti: Use clock-output-names for clkctrl Stephen Boyd
2022-02-04 7:14 ` [PATCH 6/8] clk: ti: Add ti_dt_clk_name() helper to use clock-output-names Tony Lindgren
2022-03-11 3:31 ` Stephen Boyd
2022-02-04 7:14 ` [PATCH 7/8] clk: ti: Update pll and clockdomain clocks to use ti_dt_clk_name() Tony Lindgren
2022-03-11 3:31 ` Stephen Boyd
2022-02-04 7:14 ` [PATCH 8/8] clk: ti: Update component " Tony Lindgren
2022-03-11 3:32 ` 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=20220204071449.16762-6-tony@atomide.com \
--to=tony@atomide.com \
--cc=linux-clk@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=sboyd@codeaurora.org \
--cc=t-kristo@ti.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.