All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King <rmk+kernel@arm.linux.org.uk>
To: alsa-devel@alsa-project.org,
	linux-arm-kernel@lists.infradead.org,
	linux-media@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-sh@vger.kernel.org
Subject: [PATCH 05/14] clkdev: use clk_hw internally
Date: Fri, 03 Apr 2015 17:12:48 +0000	[thread overview]
Message-ID: <E1Ye59E-0001BB-7z@rmk-PC.arm.linux.org.uk> (raw)
In-Reply-To: <20150403171149.GC13898@n2100.arm.linux.org.uk>

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
 drivers/clk/clkdev.c   | 24 ++++++++++++++++--------
 include/linux/clkdev.h |  1 +
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c
index 5d7746d19445..8e676eafc823 100644
--- a/drivers/clk/clkdev.c
+++ b/drivers/clk/clkdev.c
@@ -205,7 +205,7 @@ struct clk *clk_get_sys(const char *dev_id, const char *con_id)
 	if (!cl)
 		goto out;
 
-	clk = __clk_create_clk(__clk_get_hw(cl->clk), dev_id, con_id);
+	clk = __clk_create_clk(cl->clk_hw, dev_id, con_id);
 	if (IS_ERR(clk))
 		goto out;
 
@@ -243,18 +243,26 @@ void clk_put(struct clk *clk)
 }
 EXPORT_SYMBOL(clk_put);
 
-void clkdev_add(struct clk_lookup *cl)
+static void __clkdev_add(struct clk_lookup *cl)
 {
 	mutex_lock(&clocks_mutex);
 	list_add_tail(&cl->node, &clocks);
 	mutex_unlock(&clocks_mutex);
 }
+
+void clkdev_add(struct clk_lookup *cl)
+{
+	if (!cl->clk_hw)
+		cl->clk_hw = __clk_get_hw(cl->clk);
+	__clkdev_add(cl);
+}
 EXPORT_SYMBOL(clkdev_add);
 
 void clkdev_add_table(struct clk_lookup *cl, size_t num)
 {
 	mutex_lock(&clocks_mutex);
 	while (num--) {
+		cl->clk_hw = __clk_get_hw(cl->clk);
 		list_add_tail(&cl->node, &clocks);
 		cl++;
 	}
@@ -271,7 +279,7 @@ struct clk_lookup_alloc {
 };
 
 static struct clk_lookup * __init_refok
-vclkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt,
+vclkdev_alloc(struct clk_hw *hw, const char *con_id, const char *dev_fmt,
 	va_list ap)
 {
 	struct clk_lookup_alloc *cla;
@@ -280,7 +288,7 @@ vclkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt,
 	if (!cla)
 		return NULL;
 
-	cla->cl.clk = clk;
+	cla->cl.clk_hw = hw;
 	if (con_id) {
 		strlcpy(cla->con_id, con_id, sizeof(cla->con_id));
 		cla->cl.con_id = cla->con_id;
@@ -301,7 +309,7 @@ clkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt, ...)
 	va_list ap;
 
 	va_start(ap, dev_fmt);
-	cl = vclkdev_alloc(clk, con_id, dev_fmt, ap);
+	cl = vclkdev_alloc(__clk_get_hw(clk), con_id, dev_fmt, ap);
 	va_end(ap);
 
 	return cl;
@@ -362,7 +370,7 @@ int clk_register_clkdev(struct clk *clk, const char *con_id,
 		return PTR_ERR(clk);
 
 	va_start(ap, dev_fmt);
-	cl = vclkdev_alloc(clk, con_id, dev_fmt, ap);
+	cl = vclkdev_alloc(__clk_get_hw(clk), con_id, dev_fmt, ap);
 	va_end(ap);
 
 	if (!cl)
@@ -393,8 +401,8 @@ int clk_register_clkdevs(struct clk *clk, struct clk_lookup *cl, size_t num)
 		return PTR_ERR(clk);
 
 	for (i = 0; i < num; i++, cl++) {
-		cl->clk = clk;
-		clkdev_add(cl);
+		cl->clk_hw = __clk_get_hw(clk);
+		__clkdev_add(cl);
 	}
 
 	return 0;
diff --git a/include/linux/clkdev.h b/include/linux/clkdev.h
index eb9b38a79b43..cd93b215e3af 100644
--- a/include/linux/clkdev.h
+++ b/include/linux/clkdev.h
@@ -22,6 +22,7 @@ struct clk_lookup {
 	const char		*dev_id;
 	const char		*con_id;
 	struct clk		*clk;
+	struct clk_hw		*clk_hw;
 };
 
 #define CLKDEV_INIT(d, n, c)	\
-- 
1.8.3.1


WARNING: multiple messages have this Message-ID (diff)
From: Russell King <rmk+kernel@arm.linux.org.uk>
To: alsa-devel@alsa-project.org,
	linux-arm-kernel@lists.infradead.org,
	linux-media@vger.kernel.org, linux-omap@vger.kernel.org,
	linux-sh@vger.kernel.org
Subject: [PATCH 05/14] clkdev: use clk_hw internally
Date: Fri, 03 Apr 2015 18:12:48 +0100	[thread overview]
Message-ID: <E1Ye59E-0001BB-7z@rmk-PC.arm.linux.org.uk> (raw)
In-Reply-To: <20150403171149.GC13898@n2100.arm.linux.org.uk>

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
 drivers/clk/clkdev.c   | 24 ++++++++++++++++--------
 include/linux/clkdev.h |  1 +
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c
index 5d7746d19445..8e676eafc823 100644
--- a/drivers/clk/clkdev.c
+++ b/drivers/clk/clkdev.c
@@ -205,7 +205,7 @@ struct clk *clk_get_sys(const char *dev_id, const char *con_id)
 	if (!cl)
 		goto out;
 
-	clk = __clk_create_clk(__clk_get_hw(cl->clk), dev_id, con_id);
+	clk = __clk_create_clk(cl->clk_hw, dev_id, con_id);
 	if (IS_ERR(clk))
 		goto out;
 
@@ -243,18 +243,26 @@ void clk_put(struct clk *clk)
 }
 EXPORT_SYMBOL(clk_put);
 
-void clkdev_add(struct clk_lookup *cl)
+static void __clkdev_add(struct clk_lookup *cl)
 {
 	mutex_lock(&clocks_mutex);
 	list_add_tail(&cl->node, &clocks);
 	mutex_unlock(&clocks_mutex);
 }
+
+void clkdev_add(struct clk_lookup *cl)
+{
+	if (!cl->clk_hw)
+		cl->clk_hw = __clk_get_hw(cl->clk);
+	__clkdev_add(cl);
+}
 EXPORT_SYMBOL(clkdev_add);
 
 void clkdev_add_table(struct clk_lookup *cl, size_t num)
 {
 	mutex_lock(&clocks_mutex);
 	while (num--) {
+		cl->clk_hw = __clk_get_hw(cl->clk);
 		list_add_tail(&cl->node, &clocks);
 		cl++;
 	}
@@ -271,7 +279,7 @@ struct clk_lookup_alloc {
 };
 
 static struct clk_lookup * __init_refok
-vclkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt,
+vclkdev_alloc(struct clk_hw *hw, const char *con_id, const char *dev_fmt,
 	va_list ap)
 {
 	struct clk_lookup_alloc *cla;
@@ -280,7 +288,7 @@ vclkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt,
 	if (!cla)
 		return NULL;
 
-	cla->cl.clk = clk;
+	cla->cl.clk_hw = hw;
 	if (con_id) {
 		strlcpy(cla->con_id, con_id, sizeof(cla->con_id));
 		cla->cl.con_id = cla->con_id;
@@ -301,7 +309,7 @@ clkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt, ...)
 	va_list ap;
 
 	va_start(ap, dev_fmt);
-	cl = vclkdev_alloc(clk, con_id, dev_fmt, ap);
+	cl = vclkdev_alloc(__clk_get_hw(clk), con_id, dev_fmt, ap);
 	va_end(ap);
 
 	return cl;
@@ -362,7 +370,7 @@ int clk_register_clkdev(struct clk *clk, const char *con_id,
 		return PTR_ERR(clk);
 
 	va_start(ap, dev_fmt);
-	cl = vclkdev_alloc(clk, con_id, dev_fmt, ap);
+	cl = vclkdev_alloc(__clk_get_hw(clk), con_id, dev_fmt, ap);
 	va_end(ap);
 
 	if (!cl)
@@ -393,8 +401,8 @@ int clk_register_clkdevs(struct clk *clk, struct clk_lookup *cl, size_t num)
 		return PTR_ERR(clk);
 
 	for (i = 0; i < num; i++, cl++) {
-		cl->clk = clk;
-		clkdev_add(cl);
+		cl->clk_hw = __clk_get_hw(clk);
+		__clkdev_add(cl);
 	}
 
 	return 0;
diff --git a/include/linux/clkdev.h b/include/linux/clkdev.h
index eb9b38a79b43..cd93b215e3af 100644
--- a/include/linux/clkdev.h
+++ b/include/linux/clkdev.h
@@ -22,6 +22,7 @@ struct clk_lookup {
 	const char		*dev_id;
 	const char		*con_id;
 	struct clk		*clk;
+	struct clk_hw		*clk_hw;
 };
 
 #define CLKDEV_INIT(d, n, c)	\
-- 
1.8.3.1


WARNING: multiple messages have this Message-ID (diff)
From: rmk+kernel@arm.linux.org.uk (Russell King)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 05/14] clkdev: use clk_hw internally
Date: Fri, 03 Apr 2015 18:12:48 +0100	[thread overview]
Message-ID: <E1Ye59E-0001BB-7z@rmk-PC.arm.linux.org.uk> (raw)
In-Reply-To: <20150403171149.GC13898@n2100.arm.linux.org.uk>

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
 drivers/clk/clkdev.c   | 24 ++++++++++++++++--------
 include/linux/clkdev.h |  1 +
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c
index 5d7746d19445..8e676eafc823 100644
--- a/drivers/clk/clkdev.c
+++ b/drivers/clk/clkdev.c
@@ -205,7 +205,7 @@ struct clk *clk_get_sys(const char *dev_id, const char *con_id)
 	if (!cl)
 		goto out;
 
-	clk = __clk_create_clk(__clk_get_hw(cl->clk), dev_id, con_id);
+	clk = __clk_create_clk(cl->clk_hw, dev_id, con_id);
 	if (IS_ERR(clk))
 		goto out;
 
@@ -243,18 +243,26 @@ void clk_put(struct clk *clk)
 }
 EXPORT_SYMBOL(clk_put);
 
-void clkdev_add(struct clk_lookup *cl)
+static void __clkdev_add(struct clk_lookup *cl)
 {
 	mutex_lock(&clocks_mutex);
 	list_add_tail(&cl->node, &clocks);
 	mutex_unlock(&clocks_mutex);
 }
+
+void clkdev_add(struct clk_lookup *cl)
+{
+	if (!cl->clk_hw)
+		cl->clk_hw = __clk_get_hw(cl->clk);
+	__clkdev_add(cl);
+}
 EXPORT_SYMBOL(clkdev_add);
 
 void clkdev_add_table(struct clk_lookup *cl, size_t num)
 {
 	mutex_lock(&clocks_mutex);
 	while (num--) {
+		cl->clk_hw = __clk_get_hw(cl->clk);
 		list_add_tail(&cl->node, &clocks);
 		cl++;
 	}
@@ -271,7 +279,7 @@ struct clk_lookup_alloc {
 };
 
 static struct clk_lookup * __init_refok
-vclkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt,
+vclkdev_alloc(struct clk_hw *hw, const char *con_id, const char *dev_fmt,
 	va_list ap)
 {
 	struct clk_lookup_alloc *cla;
@@ -280,7 +288,7 @@ vclkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt,
 	if (!cla)
 		return NULL;
 
-	cla->cl.clk = clk;
+	cla->cl.clk_hw = hw;
 	if (con_id) {
 		strlcpy(cla->con_id, con_id, sizeof(cla->con_id));
 		cla->cl.con_id = cla->con_id;
@@ -301,7 +309,7 @@ clkdev_alloc(struct clk *clk, const char *con_id, const char *dev_fmt, ...)
 	va_list ap;
 
 	va_start(ap, dev_fmt);
-	cl = vclkdev_alloc(clk, con_id, dev_fmt, ap);
+	cl = vclkdev_alloc(__clk_get_hw(clk), con_id, dev_fmt, ap);
 	va_end(ap);
 
 	return cl;
@@ -362,7 +370,7 @@ int clk_register_clkdev(struct clk *clk, const char *con_id,
 		return PTR_ERR(clk);
 
 	va_start(ap, dev_fmt);
-	cl = vclkdev_alloc(clk, con_id, dev_fmt, ap);
+	cl = vclkdev_alloc(__clk_get_hw(clk), con_id, dev_fmt, ap);
 	va_end(ap);
 
 	if (!cl)
@@ -393,8 +401,8 @@ int clk_register_clkdevs(struct clk *clk, struct clk_lookup *cl, size_t num)
 		return PTR_ERR(clk);
 
 	for (i = 0; i < num; i++, cl++) {
-		cl->clk = clk;
-		clkdev_add(cl);
+		cl->clk_hw = __clk_get_hw(clk);
+		__clkdev_add(cl);
 	}
 
 	return 0;
diff --git a/include/linux/clkdev.h b/include/linux/clkdev.h
index eb9b38a79b43..cd93b215e3af 100644
--- a/include/linux/clkdev.h
+++ b/include/linux/clkdev.h
@@ -22,6 +22,7 @@ struct clk_lookup {
 	const char		*dev_id;
 	const char		*con_id;
 	struct clk		*clk;
+	struct clk_hw		*clk_hw;
 };
 
 #define CLKDEV_INIT(d, n, c)	\
-- 
1.8.3.1

  parent reply	other threads:[~2015-04-03 17:12 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-03 17:11 [PATCH 00/14] Fix fallout from per-user struct clk patches Russell King - ARM Linux
2015-04-03 17:11 ` Russell King - ARM Linux
2015-04-03 17:11 ` Russell King - ARM Linux
2015-04-03 17:12 ` [PATCH 01/14] clk: update clk API documentation to clarify clk_round_rate() Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12   ` Russell King
2015-04-07  8:47   ` [alsa-devel] " Ricard Wanderlof
2015-04-03 17:12 ` [PATCH 02/14] clkdev: drop __init from clkdev_add_table() Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12 ` [PATCH 03/14] clkdev: get rid of redundant clk_add_alias() prototype in linux/clk.h Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 23:49   ` Tony Lindgren
2015-04-03 23:49     ` Tony Lindgren
2015-04-03 23:49     ` Tony Lindgren
2015-04-04 12:43   ` Robert Jarzmik
2015-04-04 12:43     ` Robert Jarzmik
2015-04-04 12:43     ` Robert Jarzmik
2015-04-04 12:43     ` Robert Jarzmik
2015-04-04 12:53     ` Russell King - ARM Linux
2015-04-04 12:53       ` Russell King - ARM Linux
2015-04-04 12:53       ` Russell King - ARM Linux
2015-04-06 19:04     ` Stephen Boyd
2015-04-06 19:04       ` Stephen Boyd
2015-04-06 19:04       ` Stephen Boyd
2015-04-07 10:05       ` Robert Jarzmik
2015-04-07 10:05         ` Robert Jarzmik
2015-04-07 10:05         ` Robert Jarzmik
2015-04-07 12:42       ` Russell King - ARM Linux
2015-04-07 12:42         ` Russell King - ARM Linux
2015-04-07 12:42         ` Russell King - ARM Linux
2015-04-06  5:50   ` Sekhar Nori
2015-04-06  5:51     ` Sekhar Nori
2015-04-06  5:50     ` Sekhar Nori
2015-04-06  5:50     ` Sekhar Nori
2015-04-03 17:12 ` [PATCH 04/14] clkdev: const-ify connection id to clk_add_alias() Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12 ` Russell King [this message]
2015-04-03 17:12   ` [PATCH 05/14] clkdev: use clk_hw internally Russell King
2015-04-03 17:12   ` Russell King
2015-04-06 20:18   ` Stephen Boyd
2015-04-06 20:18     ` Stephen Boyd
2015-04-06 20:18     ` Stephen Boyd
2015-04-03 17:12 ` [PATCH 06/14] clkdev: add clkdev_create() helper Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12   ` Russell King
2015-04-06 20:19   ` Stephen Boyd
2015-04-06 20:19     ` Stephen Boyd
2015-04-06 20:19     ` Stephen Boyd
2015-04-07 12:43     ` Russell King - ARM Linux
2015-04-07 12:43       ` Russell King - ARM Linux
2015-04-07 12:43       ` Russell King - ARM Linux
2015-04-07 23:09       ` Stephen Boyd
2015-04-07 23:09         ` Stephen Boyd
2015-04-07 23:09         ` Stephen Boyd
2015-04-03 17:12 ` [PATCH 07/14] media: omap3isp: remove unused clkdev Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 17:12   ` Russell King
2015-04-03 21:44   ` Laurent Pinchart
2015-04-03 21:44     ` Laurent Pinchart
2015-04-03 21:44     ` Laurent Pinchart
2015-04-05 14:20     ` Russell King - ARM Linux
2015-04-05 14:20       ` Russell King - ARM Linux
2015-04-05 14:20       ` Russell King - ARM Linux
2015-04-07  9:42       ` Laurent Pinchart
2015-04-07  9:42         ` Laurent Pinchart
2015-04-07  9:42         ` Laurent Pinchart
2015-04-07 12:45         ` Russell King - ARM Linux
2015-04-07 12:45           ` Russell King - ARM Linux
2015-04-07 12:45           ` Russell King - ARM Linux
2015-04-07 14:38           ` Laurent Pinchart
2015-04-07 14:38             ` Laurent Pinchart
2015-04-07 14:38             ` Laurent Pinchart
2015-04-03 17:13 ` [PATCH 08/14] SH: use clkdev_add_table() Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13 ` [PATCH 09/14] ARM: lpc32xx: convert to " Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13 ` [PATCH 10/14] ARM: orion: use clkdev_create() Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13   ` Russell King
2015-04-04  0:17   ` Andrew Lunn
2015-04-04  0:17     ` Andrew Lunn
2015-04-04  0:17     ` Andrew Lunn
2015-04-07 13:20     ` Gregory CLEMENT
2015-04-07 13:20       ` Gregory CLEMENT
2015-04-07 13:20       ` Gregory CLEMENT
2015-04-07 14:01       ` Russell King - ARM Linux
2015-04-07 14:01         ` Russell King - ARM Linux
2015-04-07 14:01         ` Russell King - ARM Linux
2015-04-07 14:20         ` Gregory CLEMENT
2015-04-07 14:20           ` Gregory CLEMENT
2015-04-07 14:20           ` Gregory CLEMENT
2015-04-03 17:13 ` [PATCH 11/14] ARM: omap2: " Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 23:49   ` Tony Lindgren
2015-04-03 23:49     ` Tony Lindgren
2015-04-03 23:49     ` Tony Lindgren
2015-04-03 17:13 ` [PATCH 12/14] ARM: omap2: use clkdev_add_alias() Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 23:50   ` Tony Lindgren
2015-04-03 23:50     ` Tony Lindgren
2015-04-03 23:50     ` Tony Lindgren
2015-04-03 17:13 ` [PATCH 13/14] ASoC: migor: use clkdev_create() Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13 ` [PATCH 14/14] clk: s2mps11: " Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:13   ` Russell King
2015-04-03 17:16 ` [PATCH 00/14] Fix fallout from per-user struct clk patches Russell King - ARM Linux
2015-04-03 17:16   ` Russell King - ARM Linux
2015-04-03 17:16   ` Russell King - ARM Linux
2015-04-05  9:04 ` Geert Uytterhoeven
2015-04-05  9:04   ` Geert Uytterhoeven
2015-04-05  9:04   ` Geert Uytterhoeven
2015-04-05  9:04   ` Geert Uytterhoeven
2015-04-05 14:13   ` Russell King - ARM Linux
2015-04-05 14:13     ` Russell King - ARM Linux
2015-04-05 14:13     ` Russell King - ARM Linux
2015-04-05 14:13     ` Russell King - ARM Linux

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=E1Ye59E-0001BB-7z@rmk-PC.arm.linux.org.uk \
    --to=rmk+kernel@arm.linux.org.uk \
    --cc=alsa-devel@alsa-project.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-sh@vger.kernel.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 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.