drm: bridge: simple-bridge: Make connector creation optional
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tue, 26 May 2020 01:14:45 +0000 (04:14 +0300)
committerSam Ravnborg <sam@ravnborg.org>
Tue, 23 Jun 2020 17:52:32 +0000 (19:52 +0200)
Make the connector creation optional to enable usage of the
simple-bridge with the DRM bridge connector helper.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200526011505.31884-8-laurent.pinchart+renesas@ideasonboard.com
drivers/gpu/drm/bridge/simple-bridge.c

index a1be269..d974282 100644 (file)
@@ -105,16 +105,14 @@ static int simple_bridge_attach(struct drm_bridge *bridge,
        struct simple_bridge *sbridge = drm_bridge_to_simple_bridge(bridge);
        int ret;
 
-       if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR) {
-               DRM_ERROR("Fix bridge driver to make connector optional!");
-               return -EINVAL;
-       }
-
        ret = drm_bridge_attach(bridge->encoder, sbridge->next_bridge, bridge,
                                DRM_BRIDGE_ATTACH_NO_CONNECTOR);
        if (ret < 0)
                return ret;
 
+       if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)
+               return 0;
+
        if (!bridge->encoder) {
                DRM_ERROR("Missing encoder\n");
                return -ENODEV;
@@ -131,8 +129,7 @@ static int simple_bridge_attach(struct drm_bridge *bridge,
                return ret;
        }
 
-       drm_connector_attach_encoder(&sbridge->connector,
-                                         bridge->encoder);
+       drm_connector_attach_encoder(&sbridge->connector, bridge->encoder);
 
        return 0;
 }