drm/vc4: hdmi: Don't register the CEC adapter if there's no interrupts
authorMaxime Ripard <maxime@cerno.tech>
Mon, 11 Jan 2021 14:23:06 +0000 (15:23 +0100)
committerMaxime Ripard <maxime@cerno.tech>
Thu, 28 Jan 2021 09:29:20 +0000 (10:29 +0100)
We introduced the BCM2711 support to the vc4 HDMI controller with 5.10,
but this was lacking any of the interrupts of the CEC controller so we
have to deal with the backward compatibility.

Do so by simply ignoring the CEC setup if the DT doesn't have the
interrupts property.

Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Tested-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Link: https://patchwork.freedesktop.org/patch/msgid/20210111142309.193441-13-maxime@cerno.tech
drivers/gpu/drm/vc4/vc4_hdmi.c

index 5a606b6..eee9751 100644 (file)
@@ -1667,9 +1667,15 @@ static int vc4_hdmi_cec_init(struct vc4_hdmi *vc4_hdmi)
 {
        struct cec_connector_info conn_info;
        struct platform_device *pdev = vc4_hdmi->pdev;
+       struct device *dev = &pdev->dev;
        u32 value;
        int ret;
 
+       if (!of_find_property(dev->of_node, "interrupts", NULL)) {
+               dev_warn(dev, "'interrupts' DT property is missing, no CEC\n");
+               return 0;
+       }
+
        vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops,
                                                  vc4_hdmi, "vc4",
                                                  CEC_CAP_DEFAULTS |