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.

dmaengine: loongson: loongson2-apb: Convert to devm_clk_get_enabled()

Use the devm_clk_get_enabled() helper function to simplify the probe
routine.

Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn>
Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>
Link: https://patch.msgid.link/4f3aad22d14e730cc040ece8b0ced37853d52876.1772853681.git.zhoubinbin@loongson.cn
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Binbin Zhou and committed by
Vinod Koul
bdf1621a 7d348227

+5 -17
+5 -17
drivers/dma/loongson/loongson2-apb-dma.c
··· 616 616 return dev_err_probe(dev, PTR_ERR(priv->regs), 617 617 "devm_platform_ioremap_resource failed.\n"); 618 618 619 - priv->dma_clk = devm_clk_get(&pdev->dev, NULL); 619 + priv->dma_clk = devm_clk_get_enabled(dev, NULL); 620 620 if (IS_ERR(priv->dma_clk)) 621 - return dev_err_probe(dev, PTR_ERR(priv->dma_clk), "devm_clk_get failed.\n"); 622 - 623 - ret = clk_prepare_enable(priv->dma_clk); 624 - if (ret) 625 - return dev_err_probe(dev, ret, "clk_prepare_enable failed.\n"); 621 + return dev_err_probe(dev, PTR_ERR(priv->dma_clk), "Couldn't start the clock.\n"); 626 622 627 623 ret = ls2x_dma_chan_init(pdev, priv); 628 624 if (ret) 629 - goto disable_clk; 625 + return ret; 630 626 631 627 ddev = &priv->ddev; 632 628 ddev->dev = dev; ··· 648 652 649 653 ret = dmaenginem_async_device_register(&priv->ddev); 650 654 if (ret < 0) 651 - goto disable_clk; 655 + return dev_err_probe(dev, ret, "Failed to register DMA engine device.\n"); 652 656 653 657 ret = of_dma_controller_register(dev->of_node, of_dma_xlate_by_chan_id, priv); 654 658 if (ret < 0) 655 - goto disable_clk; 659 + return dev_err_probe(dev, ret, "Failed to register dma controller.\n"); 656 660 657 661 platform_set_drvdata(pdev, priv); 658 662 659 663 dev_info(dev, "Loongson LS2X APB DMA driver registered successfully.\n"); 660 664 return 0; 661 - 662 - disable_clk: 663 - clk_disable_unprepare(priv->dma_clk); 664 - 665 - return ret; 666 665 } 667 666 668 667 /* ··· 666 675 */ 667 676 static void ls2x_dma_remove(struct platform_device *pdev) 668 677 { 669 - struct ls2x_dma_priv *priv = platform_get_drvdata(pdev); 670 - 671 678 of_dma_controller_free(pdev->dev.of_node); 672 - clk_disable_unprepare(priv->dma_clk); 673 679 } 674 680 675 681 static const struct of_device_id ls2x_dma_of_match_table[] = {