fbdev: mmp: Fix deferred clk handling in mmphw_probe()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Thu, 13 Apr 2023 19:33:17 +0000 (21:33 +0200)
committerHelge Deller <deller@gmx.de>
Mon, 24 Apr 2023 09:48:33 +0000 (11:48 +0200)
When dev_err_probe() is called, 'ret' holds the value of the previous
successful devm_request_irq() call.
'ret' should be assigned with a meaningful value before being used in
dev_err_probe().

While at it, use and return "PTR_ERR(ctrl->clk)" instead of a hard-coded
"-ENOENT" so that -EPROBE_DEFER is handled and propagated correctly.

Fixes: 81b63420564d ("fbdev: mmp: Make use of the helper function dev_err_probe()")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Helge Deller <deller@gmx.de>
drivers/video/fbdev/mmp/hw/mmp_ctrl.c

index a9df8ee7981020e37679db03baeec32dad0061de..51fbf02a0343063d55c829cf27b9ad6e6f35ee21 100644 (file)
@@ -514,9 +514,9 @@ static int mmphw_probe(struct platform_device *pdev)
        /* get clock */
        ctrl->clk = devm_clk_get(ctrl->dev, mi->clk_name);
        if (IS_ERR(ctrl->clk)) {
+               ret = PTR_ERR(ctrl->clk);
                dev_err_probe(ctrl->dev, ret,
                              "unable to get clk %s\n", mi->clk_name);
-               ret = -ENOENT;
                goto failed;
        }
        clk_prepare_enable(ctrl->clk);