|
@@ -395,7 +395,7 @@ static int spdif_probe(struct platform_device *pdev)
|
|
|
|
|
|
spin_lock_init(&spdif->lock);
|
|
|
|
|
|
- spdif->pclk = clk_get(&pdev->dev, "spdif");
|
|
|
+ spdif->pclk = devm_clk_get(&pdev->dev, "spdif");
|
|
|
if (IS_ERR(spdif->pclk)) {
|
|
|
dev_err(&pdev->dev, "failed to get peri-clock\n");
|
|
|
ret = -ENOENT;
|
|
@@ -403,7 +403,7 @@ static int spdif_probe(struct platform_device *pdev)
|
|
|
}
|
|
|
clk_prepare_enable(spdif->pclk);
|
|
|
|
|
|
- spdif->sclk = clk_get(&pdev->dev, "sclk_spdif");
|
|
|
+ spdif->sclk = devm_clk_get(&pdev->dev, "sclk_spdif");
|
|
|
if (IS_ERR(spdif->sclk)) {
|
|
|
dev_err(&pdev->dev, "failed to get internal source clock\n");
|
|
|
ret = -ENOENT;
|
|
@@ -457,10 +457,8 @@ err3:
|
|
|
release_mem_region(mem_res->start, resource_size(mem_res));
|
|
|
err2:
|
|
|
clk_disable_unprepare(spdif->sclk);
|
|
|
- clk_put(spdif->sclk);
|
|
|
err1:
|
|
|
clk_disable_unprepare(spdif->pclk);
|
|
|
- clk_put(spdif->pclk);
|
|
|
err0:
|
|
|
return ret;
|
|
|
}
|
|
@@ -480,9 +478,7 @@ static int spdif_remove(struct platform_device *pdev)
|
|
|
release_mem_region(mem_res->start, resource_size(mem_res));
|
|
|
|
|
|
clk_disable_unprepare(spdif->sclk);
|
|
|
- clk_put(spdif->sclk);
|
|
|
clk_disable_unprepare(spdif->pclk);
|
|
|
- clk_put(spdif->pclk);
|
|
|
|
|
|
return 0;
|
|
|
}
|