Commit c13f87ef authored by Linus Walleij's avatar Linus Walleij Committed by Neil Armstrong

Revert "drm/bridge: panel: Check device dependency before managing device link"

This reverts commit 39d5b6a6.

This patch was causing build errors by using an unexported
function from the device core, which Greg questions the
saneness in exporting.

Link: https://lore.kernel.org/lkml/CACRpkdaGzXD6HbiX7mVUNJAJtMEPG00Pp6+nJ1P0JrfJ-ArMvQ@mail.gmail.com/T/Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Acked-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20231128-revert-panel-fix-v1-2-69bb05048dae@linaro.orgSigned-off-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20231128-revert-panel-fix-v1-2-69bb05048dae@linaro.org
parent 95ba893c
...@@ -23,7 +23,6 @@ struct panel_bridge { ...@@ -23,7 +23,6 @@ struct panel_bridge {
struct drm_panel *panel; struct drm_panel *panel;
struct device_link *link; struct device_link *link;
u32 connector_type; u32 connector_type;
bool is_independent;
}; };
static inline struct panel_bridge * static inline struct panel_bridge *
...@@ -68,10 +67,6 @@ static int panel_bridge_attach(struct drm_bridge *bridge, ...@@ -68,10 +67,6 @@ static int panel_bridge_attach(struct drm_bridge *bridge,
struct drm_device *drm_dev = bridge->dev; struct drm_device *drm_dev = bridge->dev;
int ret; int ret;
panel_bridge->is_independent = !device_is_dependent(drm_dev->dev,
panel->dev);
if (panel_bridge->is_independent) {
panel_bridge->link = device_link_add(drm_dev->dev, panel->dev, panel_bridge->link = device_link_add(drm_dev->dev, panel->dev,
DL_FLAG_STATELESS); DL_FLAG_STATELESS);
if (!panel_bridge->link) { if (!panel_bridge->link) {
...@@ -79,14 +74,12 @@ static int panel_bridge_attach(struct drm_bridge *bridge, ...@@ -79,14 +74,12 @@ static int panel_bridge_attach(struct drm_bridge *bridge,
dev_name(drm_dev->dev), dev_name(panel->dev)); dev_name(drm_dev->dev), dev_name(panel->dev));
return -EINVAL; return -EINVAL;
} }
}
if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR) if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)
return 0; return 0;
if (!bridge->encoder) { if (!bridge->encoder) {
DRM_ERROR("Missing encoder\n"); DRM_ERROR("Missing encoder\n");
if (panel_bridge->is_independent)
device_link_del(panel_bridge->link); device_link_del(panel_bridge->link);
return -ENODEV; return -ENODEV;
} }
...@@ -99,7 +92,6 @@ static int panel_bridge_attach(struct drm_bridge *bridge, ...@@ -99,7 +92,6 @@ static int panel_bridge_attach(struct drm_bridge *bridge,
panel_bridge->connector_type); panel_bridge->connector_type);
if (ret) { if (ret) {
DRM_ERROR("Failed to initialize connector\n"); DRM_ERROR("Failed to initialize connector\n");
if (panel_bridge->is_independent)
device_link_del(panel_bridge->link); device_link_del(panel_bridge->link);
return ret; return ret;
} }
...@@ -123,7 +115,6 @@ static void panel_bridge_detach(struct drm_bridge *bridge) ...@@ -123,7 +115,6 @@ static void panel_bridge_detach(struct drm_bridge *bridge)
struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge);
struct drm_connector *connector = &panel_bridge->connector; struct drm_connector *connector = &panel_bridge->connector;
if (panel_bridge->is_independent)
device_link_del(panel_bridge->link); device_link_del(panel_bridge->link);
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment