diff mbox

clkdev: clk_add_alias don't put origin clock

Message ID 1425195815-14895-1-git-send-email-ysato@users.sourceforge.jp (mailing list archive)
State New, archived
Headers show

Commit Message

Yoshinori Sato March 1, 2015, 7:43 a.m. UTC
Refer to 'r' later.
So don't put in clk_add_alias.

Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
---
 drivers/clk/clkdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Russell King - ARM Linux March 1, 2015, 2:51 p.m. UTC | #1
On Sun, Mar 01, 2015 at 04:43:35PM +0900, Yoshinori Sato wrote:
> Refer to 'r' later.
> So don't put in clk_add_alias.
> 
> Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>

This isn't how I want to solve this.  I'd much rather we converted clkdev
to use struct clk_hw internally instead.  This is something I'm looking
into at the moment.
Yoshinori Sato March 3, 2015, 6:40 a.m. UTC | #2
At Sun, 1 Mar 2015 14:51:57 +0000,
Russell King - ARM Linux wrote:
> 
> On Sun, Mar 01, 2015 at 04:43:35PM +0900, Yoshinori Sato wrote:
> > Refer to 'r' later.
> > So don't put in clk_add_alias.
> > 
> > Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
> 
> This isn't how I want to solve this.  I'd much rather we converted clkdev
> to use struct clk_hw internally instead.  This is something I'm looking
> into at the moment.
> 

OK.
It's checked a little more.

Thanks.

> -- 
> FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
> according to speedtest.net.
diff mbox

Patch

diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c
index 043fd36..fddb999 100644
--- a/drivers/clk/clkdev.c
+++ b/drivers/clk/clkdev.c
@@ -318,7 +318,6 @@  int clk_add_alias(const char *alias, const char *alias_dev_name, char *id,
 		return PTR_ERR(r);
 
 	l = clkdev_alloc(r, alias, alias_dev_name);
-	clk_put(r);
 	if (!l)
 		return -ENODEV;
 	clkdev_add(l);
@@ -334,6 +333,7 @@  void clkdev_drop(struct clk_lookup *cl)
 	mutex_lock(&clocks_mutex);
 	list_del(&cl->node);
 	mutex_unlock(&clocks_mutex);
+	clk_put(cl->clk);
 	kfree(cl);
 }
 EXPORT_SYMBOL(clkdev_drop);