summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/bridge/ti-tfp410.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>2020-05-26 04:14:43 +0300
committerSam Ravnborg <sam@ravnborg.org>2020-06-23 20:52:11 +0300
commit11d3cf804591246bb5e09cb03cb30121eafc2f4c (patch)
tree142ab10feccee6854c0868d7e64f404b348a8ff6 /drivers/gpu/drm/bridge/ti-tfp410.c
parent0bae6020b800195c944e2d44c8a99c7d78b1c86a (diff)
downloadlinux-11d3cf804591246bb5e09cb03cb30121eafc2f4c.tar.xz
drm: bridge: Return NULL on error from drm_bridge_get_edid()
The drm_bridge_get_edid() function is documented to return an error pointer on error. The underlying .get_edid() operation, however, returns NULL on error, and so do the drm_get_edid() and drm_do_get_edid() functions upon which .get_edid() is usually implemented. Make drm_bridge_get_edid() return NULL on error to be consistent. 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-6-laurent.pinchart+renesas@ideasonboard.com
Diffstat (limited to 'drivers/gpu/drm/bridge/ti-tfp410.c')
-rw-r--r--drivers/gpu/drm/bridge/ti-tfp410.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/gpu/drm/bridge/ti-tfp410.c b/drivers/gpu/drm/bridge/ti-tfp410.c
index 21d99b4ea0c9..6467e6f2f1fa 100644
--- a/drivers/gpu/drm/bridge/ti-tfp410.c
+++ b/drivers/gpu/drm/bridge/ti-tfp410.c
@@ -51,11 +51,15 @@ static int tfp410_get_modes(struct drm_connector *connector)
struct edid *edid;
int ret;
- edid = drm_bridge_get_edid(dvi->next_bridge, connector);
- if (IS_ERR_OR_NULL(edid)) {
- if (edid != ERR_PTR(-ENOTSUPP))
+ if (dvi->next_bridge->ops & DRM_BRIDGE_OP_EDID) {
+ edid = drm_bridge_get_edid(dvi->next_bridge, connector);
+ if (!edid)
DRM_INFO("EDID read failed. Fallback to standard modes\n");
+ } else {
+ edid = NULL;
+ }
+ if (!edid) {
/*
* No EDID, fallback on the XGA standard modes and prefer a mode
* pretty much anything can handle.