@@ -459,10 +459,8 @@ static int ps8622_attach(struct drm_bridge *bridge,
ret = drm_bridge_attach(ps8622->bridge.encoder, ps8622->panel_bridge,
&ps8622->bridge, flags);
- if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR) {
- DRM_ERROR("Fix bridge driver to make connector optional!");
- return -EINVAL;
- }
+ if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)
+ return 0;
if (!bridge->encoder) {
DRM_ERROR("Parent encoder object not found");
@@ -482,7 +480,7 @@ static int ps8622_attach(struct drm_bridge *bridge,
drm_connector_attach_encoder(&ps8622->connector,
bridge->encoder);
- drm_helper_hpd_irq_event(ps8622->connector.dev);
+ drm_helper_hpd_irq_event(ps8622->bridge.dev);
return ret;
}
Make the connector creation optional to enable usage of the parade-ps8622 bridge with the DRM bridge connector helper. This change moves drm_helper_hpd_irq_event() call in the attach function up before the connector creation. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Andrzej Hajda <a.hajda@samsung.com> Cc: Neil Armstrong <narmstrong@baylibre.com> Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com> Cc: Jonas Karlman <jonas@kwiboo.se> Cc: Jernej Skrabec <jernej.skrabec@siol.net> --- drivers/gpu/drm/bridge/parade-ps8622.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)