diff options
author | Axel Lin <axel.lin@gmail.com> | 2010-07-01 17:43:50 +0800 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2010-08-12 11:27:23 +0200 |
commit | d2d272a965baeb3d78f843374bc48f0cbce8ac3d (patch) | |
tree | 109894ab5b7a6fc318d28d44d7a06ffcc52d1f07 /drivers/mfd | |
parent | 15742c8a42c89aa5e63542b0de00b0dc4c5038cf (diff) | |
download | linux-d2d272a965baeb3d78f843374bc48f0cbce8ac3d.tar.gz linux-d2d272a965baeb3d78f843374bc48f0cbce8ac3d.tar.bz2 linux-d2d272a965baeb3d78f843374bc48f0cbce8ac3d.zip |
mfd: Properly free t7l66xb clk32k clock source
This patch includes below fixes to properly free clk32k clock source:
1. remove a redundant clk_put in t7l66xb_probe error path
2. add missing clk_disable(t7l66xb->clk32k) and clk_put(t7l66xb->clk32k)
to properly free the clock source.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/t7l66xb.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mfd/t7l66xb.c b/drivers/mfd/t7l66xb.c index 5041d33adf0b..006c121f3f0d 100644 --- a/drivers/mfd/t7l66xb.c +++ b/drivers/mfd/t7l66xb.c @@ -350,7 +350,6 @@ static int t7l66xb_probe(struct platform_device *dev) t7l66xb->clk48m = clk_get(&dev->dev, "CLK_CK48M"); if (IS_ERR(t7l66xb->clk48m)) { ret = PTR_ERR(t7l66xb->clk48m); - clk_put(t7l66xb->clk32k); goto err_clk48m_get; } @@ -425,6 +424,8 @@ static int t7l66xb_remove(struct platform_device *dev) ret = pdata->disable(dev); clk_disable(t7l66xb->clk48m); clk_put(t7l66xb->clk48m); + clk_disable(t7l66xb->clk32k); + clk_put(t7l66xb->clk32k); t7l66xb_detach_irq(dev); iounmap(t7l66xb->scr); release_resource(&t7l66xb->rscr); |