mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 12:31:52 -04:00
drm/mediatek: mtk_hdmi_common: Make CEC support optional
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 -EOPNOTSUPP to be able to differentiate between error conditions in mtk_hdmi_dt_parse_pdata(). In that case, if -EOPNOTSUPP 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. Reviewed-by: CK Hu <ck.hu@mediatek.com> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com> Link: https://patchwork.kernel.org/project/linux-mediatek/patch/20251023-mediatek-drm-hdmi-v2-v11-5-7873ec4a1edf@collabora.com/ Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
This commit is contained in:
committed by
Chun-Kuang Hu
parent
86b1e68fe0
commit
a71afdc005
@@ -261,12 +261,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, -EOPNOTSUPP, "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;
|
||||
}
|
||||
@@ -335,7 +334,9 @@ static int mtk_hdmi_dt_parse_pdata(struct mtk_hdmi *hdmi, struct platform_device
|
||||
return ret;
|
||||
|
||||
ret = mtk_hdmi_get_cec_dev(hdmi, dev, np);
|
||||
if (ret)
|
||||
if (ret == -EOPNOTSUPP)
|
||||
dev_info(dev, "CEC support unavailable: node not found\n");
|
||||
else if (ret)
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user