Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/mediatek: Omit warning on probe defers

It can happen that the mmsys clock drivers aren't probed before the
platform driver gets invoked. The platform driver used to print a warning
that the driver failed to get the clocks. Omit this error on
the defered probe path.

Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Reviewed-by: CK Hu <ck.hu@mediatek.com>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>

authored by

Matthias Brugger and committed by
Matthias Brugger
af19d645 8f3d9f35

+32 -10
+4 -1
drivers/gpu/drm/mediatek/mtk_disp_color.c
··· 119 119 ret = mtk_ddp_comp_init(dev, dev->of_node, &priv->ddp_comp, comp_id, 120 120 &mtk_disp_color_funcs); 121 121 if (ret) { 122 - dev_err(dev, "Failed to initialize component: %d\n", ret); 122 + if (ret != -EPROBE_DEFER) 123 + dev_err(dev, "Failed to initialize component: %d\n", 124 + ret); 125 + 123 126 return ret; 124 127 } 125 128
+4 -1
drivers/gpu/drm/mediatek/mtk_disp_ovl.c
··· 386 386 ret = mtk_ddp_comp_init(dev, dev->of_node, &priv->ddp_comp, comp_id, 387 387 &mtk_disp_ovl_funcs); 388 388 if (ret) { 389 - dev_err(dev, "Failed to initialize component: %d\n", ret); 389 + if (ret != -EPROBE_DEFER) 390 + dev_err(dev, "Failed to initialize component: %d\n", 391 + ret); 392 + 390 393 return ret; 391 394 } 392 395
+4 -1
drivers/gpu/drm/mediatek/mtk_disp_rdma.c
··· 294 294 ret = mtk_ddp_comp_init(dev, dev->of_node, &priv->ddp_comp, comp_id, 295 295 &mtk_disp_rdma_funcs); 296 296 if (ret) { 297 - dev_err(dev, "Failed to initialize component: %d\n", ret); 297 + if (ret != -EPROBE_DEFER) 298 + dev_err(dev, "Failed to initialize component: %d\n", 299 + ret); 300 + 298 301 return ret; 299 302 } 300 303
+9 -3
drivers/gpu/drm/mediatek/mtk_dpi.c
··· 716 716 dpi->engine_clk = devm_clk_get(dev, "engine"); 717 717 if (IS_ERR(dpi->engine_clk)) { 718 718 ret = PTR_ERR(dpi->engine_clk); 719 - dev_err(dev, "Failed to get engine clock: %d\n", ret); 719 + if (ret != -EPROBE_DEFER) 720 + dev_err(dev, "Failed to get engine clock: %d\n", ret); 721 + 720 722 return ret; 721 723 } 722 724 723 725 dpi->pixel_clk = devm_clk_get(dev, "pixel"); 724 726 if (IS_ERR(dpi->pixel_clk)) { 725 727 ret = PTR_ERR(dpi->pixel_clk); 726 - dev_err(dev, "Failed to get pixel clock: %d\n", ret); 728 + if (ret != -EPROBE_DEFER) 729 + dev_err(dev, "Failed to get pixel clock: %d\n", ret); 730 + 727 731 return ret; 728 732 } 729 733 730 734 dpi->tvd_clk = devm_clk_get(dev, "pll"); 731 735 if (IS_ERR(dpi->tvd_clk)) { 732 736 ret = PTR_ERR(dpi->tvd_clk); 733 - dev_err(dev, "Failed to get tvdpll clock: %d\n", ret); 737 + if (ret != -EPROBE_DEFER) 738 + dev_err(dev, "Failed to get tvdpll clock: %d\n", ret); 739 + 734 740 return ret; 735 741 } 736 742
+2 -1
drivers/gpu/drm/mediatek/mtk_drm_ddp.c
··· 628 628 if (!ddp->data->no_clk) { 629 629 ddp->clk = devm_clk_get(dev, NULL); 630 630 if (IS_ERR(ddp->clk)) { 631 - dev_err(dev, "Failed to get clock\n"); 631 + if (PTR_ERR(ddp->clk) != -EPROBE_DEFER) 632 + dev_err(dev, "Failed to get clock\n"); 632 633 return PTR_ERR(ddp->clk); 633 634 } 634 635 }
+6 -2
drivers/gpu/drm/mediatek/mtk_dsi.c
··· 1194 1194 dsi->engine_clk = devm_clk_get(dev, "engine"); 1195 1195 if (IS_ERR(dsi->engine_clk)) { 1196 1196 ret = PTR_ERR(dsi->engine_clk); 1197 - dev_err(dev, "Failed to get engine clock: %d\n", ret); 1197 + 1198 + if (ret != -EPROBE_DEFER) 1199 + dev_err(dev, "Failed to get engine clock: %d\n", ret); 1198 1200 goto err_unregister_host; 1199 1201 } 1200 1202 1201 1203 dsi->digital_clk = devm_clk_get(dev, "digital"); 1202 1204 if (IS_ERR(dsi->digital_clk)) { 1203 1205 ret = PTR_ERR(dsi->digital_clk); 1204 - dev_err(dev, "Failed to get digital clock: %d\n", ret); 1206 + 1207 + if (ret != -EPROBE_DEFER) 1208 + dev_err(dev, "Failed to get digital clock: %d\n", ret); 1205 1209 goto err_unregister_host; 1206 1210 } 1207 1211
+3 -1
drivers/gpu/drm/mediatek/mtk_hdmi.c
··· 1474 1474 1475 1475 ret = mtk_hdmi_get_all_clk(hdmi, np); 1476 1476 if (ret) { 1477 - dev_err(dev, "Failed to get clocks: %d\n", ret); 1477 + if (ret != -EPROBE_DEFER) 1478 + dev_err(dev, "Failed to get clocks: %d\n", ret); 1479 + 1478 1480 return ret; 1479 1481 } 1480 1482