]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/bridge: panel: Return always an error pointer in drm_panel_bridge_add()
authorEnric Balletbo i Serra <enric.balletbo@collabora.com>
Thu, 16 Apr 2020 21:06:54 +0000 (23:06 +0200)
committerSam Ravnborg <sam@ravnborg.org>
Sat, 25 Apr 2020 14:48:55 +0000 (16:48 +0200)
Since commit 551687410c5a ("drm/bridge: panel: Infer connector type from
panel by default"), drm_panel_bridge_add() and their variants can return
NULL and an error pointer. This is fine but none of the actual users of
the API are checking for the NULL value. Instead of change all the
users, seems reasonable to return an error pointer instead. So change
the returned value for those functions when the connector type is unknown.

Suggested-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20200416210654.2468805-1-enric.balletbo@collabora.com
drivers/gpu/drm/bridge/panel.c

index e933f1c47f5debde6904a2c8e8480569a25eb491..1e63ed6b18aa4f9b6013382696bb8b08f0ef5e9a 100644 (file)
@@ -166,7 +166,7 @@ static const struct drm_bridge_funcs panel_bridge_bridge_funcs = {
  *
  * The connector type is set to @panel->connector_type, which must be set to a
  * known type. Calling this function with a panel whose connector type is
- * DRM_MODE_CONNECTOR_Unknown will return NULL.
+ * DRM_MODE_CONNECTOR_Unknown will return ERR_PTR(-EINVAL).
  *
  * See devm_drm_panel_bridge_add() for an automatically managed version of this
  * function.
@@ -174,7 +174,7 @@ static const struct drm_bridge_funcs panel_bridge_bridge_funcs = {
 struct drm_bridge *drm_panel_bridge_add(struct drm_panel *panel)
 {
        if (WARN_ON(panel->connector_type == DRM_MODE_CONNECTOR_Unknown))
-               return NULL;
+               return ERR_PTR(-EINVAL);
 
        return drm_panel_bridge_add_typed(panel, panel->connector_type);
 }
@@ -265,7 +265,7 @@ struct drm_bridge *devm_drm_panel_bridge_add(struct device *dev,
                                             struct drm_panel *panel)
 {
        if (WARN_ON(panel->connector_type == DRM_MODE_CONNECTOR_Unknown))
-               return NULL;
+               return ERR_PTR(-EINVAL);
 
        return devm_drm_panel_bridge_add_typed(dev, panel,
                                               panel->connector_type);