diff options
| author | Mark Brown <broonie@linaro.org> | 2013-07-23 14:17:07 -0400 |
|---|---|---|
| committer | Mark Brown <broonie@linaro.org> | 2013-07-23 14:17:07 -0400 |
| commit | 7c9e061729c0c612f57fe27b7e72cde308263cf0 (patch) | |
| tree | 519cba01d4231fb209201b7d11a3e90aa4174077 /drivers | |
| parent | 3b2f64d00c46e1e4e9bd0bb9bb12619adac27a4b (diff) | |
| parent | 9a9b1c618d835e7a6a4097eb47ee47991202a3c1 (diff) | |
Merge remote-tracking branch 'asoc/fix/atmel' into asoc-linus
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/misc/atmel-ssc.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/misc/atmel-ssc.c b/drivers/misc/atmel-ssc.c index f7b90661e321..e068a76a5f6f 100644 --- a/drivers/misc/atmel-ssc.c +++ b/drivers/misc/atmel-ssc.c | |||
| @@ -66,14 +66,19 @@ EXPORT_SYMBOL(ssc_request); | |||
| 66 | 66 | ||
| 67 | void ssc_free(struct ssc_device *ssc) | 67 | void ssc_free(struct ssc_device *ssc) |
| 68 | { | 68 | { |
| 69 | bool disable_clk = true; | ||
| 70 | |||
| 69 | spin_lock(&user_lock); | 71 | spin_lock(&user_lock); |
| 70 | if (ssc->user) { | 72 | if (ssc->user) |
| 71 | ssc->user--; | 73 | ssc->user--; |
| 72 | clk_disable_unprepare(ssc->clk); | 74 | else { |
| 73 | } else { | 75 | disable_clk = false; |
| 74 | dev_dbg(&ssc->pdev->dev, "device already free\n"); | 76 | dev_dbg(&ssc->pdev->dev, "device already free\n"); |
| 75 | } | 77 | } |
| 76 | spin_unlock(&user_lock); | 78 | spin_unlock(&user_lock); |
| 79 | |||
| 80 | if (disable_clk) | ||
| 81 | clk_disable_unprepare(ssc->clk); | ||
| 77 | } | 82 | } |
| 78 | EXPORT_SYMBOL(ssc_free); | 83 | EXPORT_SYMBOL(ssc_free); |
| 79 | 84 | ||
