diff options
-rw-r--r-- | sound/soc/dwc/designware_i2s.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sound/soc/dwc/designware_i2s.c b/sound/soc/dwc/designware_i2s.c index d3bdc6890eb5..a6327cc086c0 100644 --- a/sound/soc/dwc/designware_i2s.c +++ b/sound/soc/dwc/designware_i2s.c | |||
@@ -476,7 +476,7 @@ static int dw_i2s_probe(struct platform_device *pdev) | |||
476 | if (IS_ERR(dev->clk)) | 476 | if (IS_ERR(dev->clk)) |
477 | return PTR_ERR(dev->clk); | 477 | return PTR_ERR(dev->clk); |
478 | 478 | ||
479 | ret = clk_enable(dev->clk); | 479 | ret = clk_prepare_enable(dev->clk); |
480 | if (ret < 0) | 480 | if (ret < 0) |
481 | return ret; | 481 | return ret; |
482 | 482 | ||
@@ -491,13 +491,16 @@ static int dw_i2s_probe(struct platform_device *pdev) | |||
491 | return 0; | 491 | return 0; |
492 | 492 | ||
493 | err_clk_disable: | 493 | err_clk_disable: |
494 | clk_disable(dev->clk); | 494 | clk_disable_unprepare(dev->clk); |
495 | return ret; | 495 | return ret; |
496 | } | 496 | } |
497 | 497 | ||
498 | static int dw_i2s_remove(struct platform_device *pdev) | 498 | static int dw_i2s_remove(struct platform_device *pdev) |
499 | { | 499 | { |
500 | struct dw_i2s_dev *dev = dev_get_drvdata(&pdev->dev); | ||
501 | |||
500 | snd_soc_unregister_component(&pdev->dev); | 502 | snd_soc_unregister_component(&pdev->dev); |
503 | clk_disable_unprepare(dev->clk); | ||
501 | 504 | ||
502 | return 0; | 505 | return 0; |
503 | } | 506 | } |