public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: dongas86@gmail.com (Dong Aisheng)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/1] clk: bulk: add of_clk_bulk_get()
Date: Mon, 11 Sep 2017 17:13:58 +0800	[thread overview]
Message-ID: <20170911091358.GC19297@b29396-OptiPlex-7040> (raw)
In-Reply-To: <f9b6af8e-6d1b-702d-40e0-944f5ecedf8a@samsung.com>

On Mon, Sep 11, 2017 at 10:58:19AM +0200, Sylwester Nawrocki wrote:
> On 09/11/2017 09:36 AM, Dong Aisheng wrote:
> >'clock-names' property is optinal in DT, so of_clk_bulk_get() is introduced
> >here to handle this for DT users without 'clock-names' specified.
> >
> >Cc: Stephen Boyd <sboyd@codeaurora.org>
> >Cc: Michael Turquette <mturquette@baylibre.com>
> >Cc: Russell King <linux@arm.linux.org.uk>
> >Reported-by: Shawn Guo <shawnguo@kernel.org>
> >Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
> >---
> >  drivers/clk/clk-bulk.c | 31 +++++++++++++++++++++++++++++++
> >  include/linux/clk.h    |  8 ++++++++
> >  2 files changed, 39 insertions(+)
> >
> >diff --git a/drivers/clk/clk-bulk.c b/drivers/clk/clk-bulk.c
> >index c834f5a..3179f28 100644
> >--- a/drivers/clk/clk-bulk.c
> >+++ b/drivers/clk/clk-bulk.c
> >@@ -19,6 +19,37 @@
> >  #include <linux/clk.h>
> >  #include <linux/device.h>
> >  #include <linux/export.h>
> >+#include <linux/of.h>
> >+
> >+#if defined(CONFIG_OF) && defined(CONFIG_COMMON_CLK)
> >+int __must_check of_clk_bulk_get(struct device_node *np, int num_clks,
> >+				 struct clk_bulk_data *clks)
> >+{
> >+	int ret;
> >+	int i;
> >+
> >+	for (i = 0; i < num_clks; i++)
> >+		clks[i].clk = NULL;
> >+
> >+	for (i = 0; i < num_clks; i++) {
> >+		clks[i].clk = of_clk_get(np, i);
> >+		if (IS_ERR(clks[i].clk)) {
> >+			ret = PTR_ERR(clks[i].clk);
> 
> >+			pr_err("%s: Failed to get clk index: %d ret: %d\n",
> >+			       np->full_name, i, ret);
> 
> AFAIU full_node is not supposed now to be dereferenced directly,
> since storing of the full path string for each node is going to be
> removed. %pOF needs to be used instead, e.g.
> 
> 	pr_err("%pOF: failed to get clk %d: %d\n", np, i , ret);
> 

Thanks for telling this.
Just see Rob sent patches to clean up it some days ago.
Will update the patch.

Regards
Dong Aisheng

> >+			clks[i].clk = NULL;
> >+			goto err;
> >+		}
> >+	}
> >+
> >+	return 0;
> >+
> >+err:
> >+	clk_bulk_put(i, clks);
> >+
> >+	return ret;
> >+}
> >+#endif
> 
> -- 
> Regards,
> Sylwester
> --
> To unsubscribe from this list: send the line "unsubscribe linux-clk" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2017-09-11  9:13 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20170911074100epcas2p15480963b2119f8954784f9b37ed8d26d@epcas2p1.samsung.com>
2017-09-11  7:36 ` [PATCH 1/1] clk: bulk: add of_clk_bulk_get() Dong Aisheng
2017-09-11  8:58   ` Sylwester Nawrocki
2017-09-11  9:13     ` Dong Aisheng [this message]
2017-09-13  0:34   ` kbuild test robot
2017-09-13 13:40     ` Geert Uytterhoeven
2017-09-20  7:11       ` Dong Aisheng
2017-09-13  4:06   ` kbuild test robot

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=20170911091358.GC19297@b29396-OptiPlex-7040 \
    --to=dongas86@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.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