diff options
Diffstat (limited to 'drivers/gpu/drm/omapdrm/dss')
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/hdmi4.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/hdmi5.c | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/output.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/omapdrm/dss/venc.c | 4 |
5 files changed, 11 insertions, 11 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi4.c b/drivers/gpu/drm/omapdrm/dss/hdmi4.c index 73f1fab346e9..52daae36935a 100644 --- a/drivers/gpu/drm/omapdrm/dss/hdmi4.c +++ b/drivers/gpu/drm/omapdrm/dss/hdmi4.c @@ -444,8 +444,8 @@ static int hdmi4_bridge_attach(struct drm_bridge *bridge, { struct omap_hdmi *hdmi = drm_bridge_to_hdmi(bridge); - if (!hdmi->output.next_bridge) - return 0; + if (!(flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)) + return -EINVAL; return drm_bridge_attach(bridge->encoder, hdmi->output.next_bridge, bridge, flags); diff --git a/drivers/gpu/drm/omapdrm/dss/hdmi5.c b/drivers/gpu/drm/omapdrm/dss/hdmi5.c index 52184797c858..f07fd5c6dc39 100644 --- a/drivers/gpu/drm/omapdrm/dss/hdmi5.c +++ b/drivers/gpu/drm/omapdrm/dss/hdmi5.c @@ -422,8 +422,8 @@ static int hdmi5_bridge_attach(struct drm_bridge *bridge, { struct omap_hdmi *hdmi = drm_bridge_to_hdmi(bridge); - if (!hdmi->output.next_bridge) - return 0; + if (!(flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)) + return -EINVAL; return drm_bridge_attach(bridge->encoder, hdmi->output.next_bridge, bridge, flags); diff --git a/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c b/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c index ce67891eedd4..00372f4ce711 100644 --- a/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c +++ b/drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c @@ -174,12 +174,7 @@ static const struct of_device_id omapdss_of_match[] __initconst = { }; static const struct of_device_id omapdss_of_fixups_whitelist[] __initconst = { - { .compatible = "composite-video-connector" }, - { .compatible = "hdmi-connector" }, { .compatible = "panel-dsi-cm" }, - { .compatible = "svideo-connector" }, - { .compatible = "ti,opa362" }, - { .compatible = "ti,tpd12s015" }, {}, }; diff --git a/drivers/gpu/drm/omapdrm/dss/output.c b/drivers/gpu/drm/omapdrm/dss/output.c index 9ba7cc8539a1..ce21c798cca6 100644 --- a/drivers/gpu/drm/omapdrm/dss/output.c +++ b/drivers/gpu/drm/omapdrm/dss/output.c @@ -60,6 +60,11 @@ int omapdss_device_init_output(struct omap_dss_device *out, } if (local_bridge) { + if (!out->bridge) { + ret = -EPROBE_DEFER; + goto error; + } + out->next_bridge = out->bridge; out->bridge = local_bridge; } diff --git a/drivers/gpu/drm/omapdrm/dss/venc.c b/drivers/gpu/drm/omapdrm/dss/venc.c index cb9a689ed612..c8c19967a42f 100644 --- a/drivers/gpu/drm/omapdrm/dss/venc.c +++ b/drivers/gpu/drm/omapdrm/dss/venc.c @@ -626,8 +626,8 @@ static int venc_bridge_attach(struct drm_bridge *bridge, { struct venc_device *venc = drm_bridge_to_venc(bridge); - if (venc->output.next_bridge) - return 0; + if (!(flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)) + return -EINVAL; return drm_bridge_attach(bridge->encoder, venc->output.next_bridge, bridge, flags); |