aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/atmel-ssc.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-07-29 14:50:17 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-07-29 14:50:17 -0400
commit9c5891bd4342349a200676d33f742dd1b864822c (patch)
treeb14c1698f2d8ce5276e1befd562f6398a46b48b9 /drivers/misc/atmel-ssc.c
parentecda040ff3724f021a96491ecee88d48e968c153 (diff)
parent5ae90d8e467e625e447000cb4335c4db973b1095 (diff)
Merge 3.11-rc3 into char-misc-next.
This resolves a merge issue with: drivers/misc/mei/init.c Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/atmel-ssc.c')
-rw-r--r--drivers/misc/atmel-ssc.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/misc/atmel-ssc.c b/drivers/misc/atmel-ssc.c
index 551ddde63c57..5be808406edc 100644
--- a/drivers/misc/atmel-ssc.c
+++ b/drivers/misc/atmel-ssc.c
@@ -65,14 +65,19 @@ EXPORT_SYMBOL(ssc_request);
65 65
66void ssc_free(struct ssc_device *ssc) 66void ssc_free(struct ssc_device *ssc)
67{ 67{
68 bool disable_clk = true;
69
68 spin_lock(&user_lock); 70 spin_lock(&user_lock);
69 if (ssc->user) { 71 if (ssc->user)
70 ssc->user--; 72 ssc->user--;
71 clk_disable_unprepare(ssc->clk); 73 else {
72 } else { 74 disable_clk = false;
73 dev_dbg(&ssc->pdev->dev, "device already free\n"); 75 dev_dbg(&ssc->pdev->dev, "device already free\n");
74 } 76 }
75 spin_unlock(&user_lock); 77 spin_unlock(&user_lock);
78
79 if (disable_clk)
80 clk_disable_unprepare(ssc->clk);
76} 81}
77EXPORT_SYMBOL(ssc_free); 82EXPORT_SYMBOL(ssc_free);
78 83