dmaengine: mv_xor_v2: Use some clk_ helper functions to simplify code
Use devm_clk_get_[optional_]enabled() instead of hand writing it. It saves some LoC. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Link: https://lore.kernel.org/r/cc14e490f4e6002a17c9c7d283fe6a93179766c2.1679814350.git.christophe.jaillet@wanadoo.fr Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
Родитель
827026ae2e
Коммит
376c2c9b04
|
@ -739,32 +739,18 @@ static int mv_xor_v2_probe(struct platform_device *pdev)
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
xor_dev->reg_clk = devm_clk_get(&pdev->dev, "reg");
|
||||
if (PTR_ERR(xor_dev->reg_clk) != -ENOENT) {
|
||||
if (!IS_ERR(xor_dev->reg_clk)) {
|
||||
ret = clk_prepare_enable(xor_dev->reg_clk);
|
||||
if (ret)
|
||||
return ret;
|
||||
} else {
|
||||
return PTR_ERR(xor_dev->reg_clk);
|
||||
}
|
||||
}
|
||||
xor_dev->reg_clk = devm_clk_get_optional_enabled(&pdev->dev, "reg");
|
||||
if (IS_ERR(xor_dev->reg_clk))
|
||||
return PTR_ERR(xor_dev->reg_clk);
|
||||
|
||||
xor_dev->clk = devm_clk_get(&pdev->dev, NULL);
|
||||
if (PTR_ERR(xor_dev->clk) == -EPROBE_DEFER) {
|
||||
ret = -EPROBE_DEFER;
|
||||
goto disable_reg_clk;
|
||||
}
|
||||
if (!IS_ERR(xor_dev->clk)) {
|
||||
ret = clk_prepare_enable(xor_dev->clk);
|
||||
if (ret)
|
||||
goto disable_reg_clk;
|
||||
}
|
||||
xor_dev->clk = devm_clk_get_enabled(&pdev->dev, NULL);
|
||||
if (IS_ERR(xor_dev->clk))
|
||||
return PTR_ERR(xor_dev->clk);
|
||||
|
||||
ret = platform_msi_domain_alloc_irqs(&pdev->dev, 1,
|
||||
mv_xor_v2_set_msi_msg);
|
||||
if (ret)
|
||||
goto disable_clk;
|
||||
return ret;
|
||||
|
||||
xor_dev->irq = msi_get_virq(&pdev->dev, 0);
|
||||
|
||||
|
@ -866,10 +852,6 @@ free_hw_desq:
|
|||
xor_dev->hw_desq_virt, xor_dev->hw_desq);
|
||||
free_msi_irqs:
|
||||
platform_msi_domain_free_irqs(&pdev->dev);
|
||||
disable_clk:
|
||||
clk_disable_unprepare(xor_dev->clk);
|
||||
disable_reg_clk:
|
||||
clk_disable_unprepare(xor_dev->reg_clk);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -889,9 +871,6 @@ static int mv_xor_v2_remove(struct platform_device *pdev)
|
|||
|
||||
tasklet_kill(&xor_dev->irq_tasklet);
|
||||
|
||||
clk_disable_unprepare(xor_dev->clk);
|
||||
clk_disable_unprepare(xor_dev->reg_clk);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче