aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWu Bo <[email protected]>2024-08-22 03:52:49 -0600
committerMark Brown <[email protected]>2024-08-22 13:34:11 +0100
commit23618f5b630a1dde8c465150ddb2fd308b686b08 (patch)
treecdcfdff25fccc6d877da92640a9397530f6fc482
parent61c80c77b4f35e229347551d13e265752f067151 (diff)
ASoC: dwc: change to use devm_clk_get_enabled() helpers
Make the code cleaner and avoid call clk_disable_unprepare() Signed-off-by: Wu Bo <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
-rw-r--r--sound/soc/dwc/dwc-i2s.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/sound/soc/dwc/dwc-i2s.c b/sound/soc/dwc/dwc-i2s.c
index c04466f5492e..e6a5eebe5bc9 100644
--- a/sound/soc/dwc/dwc-i2s.c
+++ b/sound/soc/dwc/dwc-i2s.c
@@ -995,16 +995,12 @@ static int dw_i2s_probe(struct platform_device *pdev)
goto err_assert_reset;
}
}
- dev->clk = devm_clk_get(&pdev->dev, clk_id);
+ dev->clk = devm_clk_get_enabled(&pdev->dev, clk_id);
if (IS_ERR(dev->clk)) {
ret = PTR_ERR(dev->clk);
goto err_assert_reset;
}
-
- ret = clk_prepare_enable(dev->clk);
- if (ret < 0)
- goto err_assert_reset;
}
dev_set_drvdata(&pdev->dev, dev);
@@ -1012,7 +1008,7 @@ static int dw_i2s_probe(struct platform_device *pdev)
dw_i2s_dai, 1);
if (ret != 0) {
dev_err(&pdev->dev, "not able to register dai\n");
- goto err_clk_disable;
+ goto err_assert_reset;
}
if (!pdata || dev->is_jh7110) {
@@ -1030,16 +1026,13 @@ static int dw_i2s_probe(struct platform_device *pdev)
if (ret) {
dev_err(&pdev->dev, "could not register pcm: %d\n",
ret);
- goto err_clk_disable;
+ goto err_assert_reset;
}
}
pm_runtime_enable(&pdev->dev);
return 0;
-err_clk_disable:
- if (dev->capability & DW_I2S_MASTER)
- clk_disable_unprepare(dev->clk);
err_assert_reset:
reset_control_assert(dev->reset);
return ret;
@@ -1049,9 +1042,6 @@ static void dw_i2s_remove(struct platform_device *pdev)
{
struct dw_i2s_dev *dev = dev_get_drvdata(&pdev->dev);
- if (dev->capability & DW_I2S_MASTER)
- clk_disable_unprepare(dev->clk);
-
reset_control_assert(dev->reset);
pm_runtime_disable(&pdev->dev);
}