ASoC: tegra20: i2s: Use devm_clk_get()
authorDmitry Osipenko <digetx@gmail.com>
Sun, 14 Mar 2021 15:44:52 +0000 (18:44 +0300)
committerMark Brown <broonie@kernel.org>
Thu, 18 Mar 2021 13:49:38 +0000 (13:49 +0000)
Use resource-managed variant of clk_get() to simplify code.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Link: https://lore.kernel.org/r/20210314154459.15375-11-digetx@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/tegra/tegra20_i2s.c

index 0f2bdc2..fe56919 100644 (file)
@@ -370,7 +370,7 @@ static int tegra20_i2s_platform_probe(struct platform_device *pdev)
                return PTR_ERR(i2s->reset);
        }
 
-       i2s->clk_i2s = clk_get(&pdev->dev, NULL);
+       i2s->clk_i2s = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(i2s->clk_i2s)) {
                dev_err(&pdev->dev, "Can't retrieve i2s clock\n");
                ret = PTR_ERR(i2s->clk_i2s);
@@ -381,7 +381,7 @@ static int tegra20_i2s_platform_probe(struct platform_device *pdev)
        regs = devm_ioremap_resource(&pdev->dev, mem);
        if (IS_ERR(regs)) {
                ret = PTR_ERR(regs);
-               goto err_clk_put;
+               goto err;
        }
 
        i2s->regmap = devm_regmap_init_mmio(&pdev->dev, regs,
@@ -389,7 +389,7 @@ static int tegra20_i2s_platform_probe(struct platform_device *pdev)
        if (IS_ERR(i2s->regmap)) {
                dev_err(&pdev->dev, "regmap init failed\n");
                ret = PTR_ERR(i2s->regmap);
-               goto err_clk_put;
+               goto err;
        }
 
        i2s->capture_dma_data.addr = mem->start + TEGRA20_I2S_FIFO2;
@@ -430,16 +430,12 @@ err_suspend:
                tegra20_i2s_runtime_suspend(&pdev->dev);
 err_pm_disable:
        pm_runtime_disable(&pdev->dev);
-err_clk_put:
-       clk_put(i2s->clk_i2s);
 err:
        return ret;
 }
 
 static int tegra20_i2s_platform_remove(struct platform_device *pdev)
 {
-       struct tegra20_i2s *i2s = dev_get_drvdata(&pdev->dev);
-
        tegra_pcm_platform_unregister(&pdev->dev);
        snd_soc_unregister_component(&pdev->dev);
 
@@ -447,8 +443,6 @@ static int tegra20_i2s_platform_remove(struct platform_device *pdev)
        if (!pm_runtime_status_suspended(&pdev->dev))
                tegra20_i2s_runtime_suspend(&pdev->dev);
 
-       clk_put(i2s->clk_i2s);
-
        return 0;
 }