<html><body><p>
<pre>
On Tue, 2025-02-11 at 12:34 +0100, AngeloGioacchino Del Regno wrote:
> External email : Please do not click links or open attachments until you have verified the sender or the content.
>
>
> In preparation for adding a new driver for HDMIv2, for which CEC
> is not strictly required, change the of_get_compatible_child()
> failure error to -ENOTSUPP to be able to differentiate between
> error conditions in mtk_hdmi_dt_parse_pdata().
>
> In that case, if -ENOTSUPP is returned, this driver will print
> an informative message saying that CEC support is unavailable,
> as the devicetree node for that was not found, but after that,
> function mtk_hdmi_dt_parse_pdata() will not return error to
> the caller.
>
> This will not change functionality of the mtk_hdmi (v1) driver
> as that is still checking whether CEC is present and, if not,
> will fail probing with an error saying that CEC is required
> by HDMIv1.
>
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> ---
> drivers/gpu/drm/mediatek/mtk_hdmi_common.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_common.c b/drivers/gpu/drm/mediatek/mtk_hdmi_common.c
> index 3dfde63198e5..5ea45608921c 100644
> --- a/drivers/gpu/drm/mediatek/mtk_hdmi_common.c
> +++ b/drivers/gpu/drm/mediatek/mtk_hdmi_common.c
> @@ -254,12 +254,11 @@ static int mtk_hdmi_get_cec_dev(struct mtk_hdmi *hdmi, struct device *dev, struc
> /* The CEC module handles HDMI hotplug detection */
> cec_np = of_get_compatible_child(np->parent, "mediatek,mt8173-cec");
> if (!cec_np)
> - return dev_err_probe(dev, -EINVAL, "Failed to find CEC node\n");
> + return dev_err_probe(dev, -ENOTSUPP, "Failed to find CEC node\n");
>
> cec_pdev = of_find_device_by_node(cec_np);
> if (!cec_pdev) {
> - dev_err(hdmi->dev, "Waiting for CEC device %pOF\n",
> - cec_np);
> + dev_err(hdmi->dev, "Waiting for CEC device %pOF\n", cec_np);
> of_node_put(cec_np);
> return -EPROBE_DEFER;
> }
> @@ -323,7 +322,9 @@ static int mtk_hdmi_dt_parse_pdata(struct mtk_hdmi *hdmi, struct platform_device
> return dev_err_probe(dev, -EINVAL, "Failed to get ddc i2c adapter by node\n");
>
> ret = mtk_hdmi_get_cec_dev(hdmi, dev, np);
> - if (ret)
> + if (ret == -ENOTSUPP)
> + dev_info(dev, "CEC support unavailable: node not found\n");
You change v1 behavior here.
When there is no CEC in device tree, original v1 would return -EINVAL.
But now, v1 return 0.
In mtk_hdmi_probe() of previous patch, you add checking of hdmi->cec_dev.
I think that checking is related to this, so I would like that checking to be in this patch because that checking is strongly related to this patch.
After this modification,
Reviewed-by: CK Hu <ck.hu@mediatek.com>
> + else if (ret)
> return ret;
>
> return 0;
> --
> 2.48.1
>
</pre>
</p></body></html><!--type:text--><!--{--><pre>************* MEDIATEK Confidentiality Notice ********************
The information contained in this e-mail message (including any
attachments) may be confidential, proprietary, privileged, or otherwise
exempt from disclosure under applicable laws. It is intended to be
conveyed only to the designated recipient(s). Any use, dissemination,
distribution, printing, retaining or copying of this e-mail (including its
attachments) by unintended recipient(s) is strictly prohibited and may
be unlawful. If you are not an intended recipient of this e-mail, or believe
that you have received this e-mail in error, please notify the sender
immediately (by replying to this e-mail), delete any and all copies of
this e-mail (including any attachments) from your system, and do not
disclose the content of this e-mail to any other person. Thank you!
</pre><!--}-->