Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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 <bo.wu@vivo.com>
Link: https://patch.msgid.link/20240822095249.1642713-1-bo.wu@vivo.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Wu Bo and committed by
Mark Brown
23618f5b 61c80c77

+3 -13
+3 -13
sound/soc/dwc/dwc-i2s.c
··· 995 995 goto err_assert_reset; 996 996 } 997 997 } 998 - dev->clk = devm_clk_get(&pdev->dev, clk_id); 998 + dev->clk = devm_clk_get_enabled(&pdev->dev, clk_id); 999 999 1000 1000 if (IS_ERR(dev->clk)) { 1001 1001 ret = PTR_ERR(dev->clk); 1002 1002 goto err_assert_reset; 1003 1003 } 1004 - 1005 - ret = clk_prepare_enable(dev->clk); 1006 - if (ret < 0) 1007 - goto err_assert_reset; 1008 1004 } 1009 1005 1010 1006 dev_set_drvdata(&pdev->dev, dev); ··· 1008 1012 dw_i2s_dai, 1); 1009 1013 if (ret != 0) { 1010 1014 dev_err(&pdev->dev, "not able to register dai\n"); 1011 - goto err_clk_disable; 1015 + goto err_assert_reset; 1012 1016 } 1013 1017 1014 1018 if (!pdata || dev->is_jh7110) { ··· 1026 1030 if (ret) { 1027 1031 dev_err(&pdev->dev, "could not register pcm: %d\n", 1028 1032 ret); 1029 - goto err_clk_disable; 1033 + goto err_assert_reset; 1030 1034 } 1031 1035 } 1032 1036 1033 1037 pm_runtime_enable(&pdev->dev); 1034 1038 return 0; 1035 1039 1036 - err_clk_disable: 1037 - if (dev->capability & DW_I2S_MASTER) 1038 - clk_disable_unprepare(dev->clk); 1039 1040 err_assert_reset: 1040 1041 reset_control_assert(dev->reset); 1041 1042 return ret; ··· 1041 1048 static void dw_i2s_remove(struct platform_device *pdev) 1042 1049 { 1043 1050 struct dw_i2s_dev *dev = dev_get_drvdata(&pdev->dev); 1044 - 1045 - if (dev->capability & DW_I2S_MASTER) 1046 - clk_disable_unprepare(dev->clk); 1047 1051 1048 1052 reset_control_assert(dev->reset); 1049 1053 pm_runtime_disable(&pdev->dev);