return ret;
        }
 
-       return ((drm_edid->edid->input & DRM_EDID_INPUT_DIGITAL) != 0);
+       return drm_edid_is_digital(drm_edid);
 }
 
 static void
        if (edid->revision < 3)
                goto out;
 
-       if (!(edid->input & DRM_EDID_INPUT_DIGITAL))
+       if (!drm_edid_is_digital(drm_edid))
                goto out;
 
        info->color_formats |= DRM_COLOR_FORMAT_RGB444;
                connector->tile_group = NULL;
        }
 }
+
+/**
+ * drm_edid_is_digital - is digital?
+ * @drm_edid: The EDID
+ *
+ * Return true if input is digital.
+ */
+bool drm_edid_is_digital(const struct drm_edid *drm_edid)
+{
+       return drm_edid && drm_edid->edid &&
+               drm_edid->edid->input & DRM_EDID_INPUT_DIGITAL;
+}
+EXPORT_SYMBOL(drm_edid_is_digital);
 
 int drm_edid_connector_update(struct drm_connector *connector,
                              const struct drm_edid *edid);
 int drm_edid_connector_add_modes(struct drm_connector *connector);
+bool drm_edid_is_digital(const struct drm_edid *drm_edid);
 
 const u8 *drm_find_edid_extension(const struct drm_edid *drm_edid,
                                  int ext_id, int *ext_index);