All of lore.kernel.org
 help / color / mirror / Atom feed
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 3/8] clk: ti: Optionally parse IO address from parent clock node
Date: Fri,  4 Feb 2022 09:14:44 +0200	[thread overview]
Message-ID: <20220204071449.16762-4-tony@atomide.com> (raw)
In-Reply-To: <20220204071449.16762-1-tony@atomide.com>

If no reg property is specified for a TI clock, let's try to use the
parent clock node IO address. This way we can avoid duplicate devicetree
reg properties that cause warnings for unique_unit_address.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 drivers/clk/ti/clk.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/clk/ti/clk.c b/drivers/clk/ti/clk.c
--- a/drivers/clk/ti/clk.c
+++ b/drivers/clk/ti/clk.c
@@ -274,6 +274,8 @@ int ti_clk_get_reg_addr(struct device_node *node, int index,
 	for (i = 0; i < CLK_MAX_MEMMAPS; i++) {
 		if (clocks_node_ptr[i] == node->parent)
 			break;
+		if (clocks_node_ptr[i] == node->parent->parent)
+			break;
 	}
 
 	if (i == CLK_MAX_MEMMAPS) {
@@ -284,8 +286,12 @@ int ti_clk_get_reg_addr(struct device_node *node, int index,
 	reg->index = i;
 
 	if (of_property_read_u32_index(node, "reg", index, &val)) {
-		pr_err("%pOFn must have reg[%d]!\n", node, index);
-		return -EINVAL;
+		if (of_property_read_u32_index(node->parent, "reg",
+					       index, &val)) {
+			pr_err("%pOFn or parent must have reg[%d]!\n",
+			       node, index);
+			return -EINVAL;
+		}
 	}
 
 	reg->offset = val;
-- 
2.35.1

  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 ` Tony Lindgren [this message]
2022-03-11  3:31   ` [PATCH 3/8] clk: ti: Optionally parse IO address from parent clock node 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 ` [PATCH 5/8] clk: ti: Use clock-output-names for clkctrl Tony Lindgren
2022-03-11  3:31   ` 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-4-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.