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 {
struct drm_panel *panel;
struct device_link *link;
u32 connector_type;
bool is_independent;
};
static inline struct panel_bridge *
......@@ -68,17 +67,12 @@ static int panel_bridge_attach(struct drm_bridge *bridge,
struct drm_device *drm_dev = bridge->dev;
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,
DL_FLAG_STATELESS);
if (!panel_bridge->link) {
DRM_ERROR("Failed to add device link between %s and %s\n",
dev_name(drm_dev->dev), dev_name(panel->dev));
return -EINVAL;
}
panel_bridge->link = device_link_add(drm_dev->dev, panel->dev,
DL_FLAG_STATELESS);
if (!panel_bridge->link) {
DRM_ERROR("Failed to add device link between %s and %s\n",
dev_name(drm_dev->dev), dev_name(panel->dev));
return -EINVAL;
}
if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)
......@@ -86,8 +80,7 @@ static int panel_bridge_attach(struct drm_bridge *bridge,
if (!bridge->encoder) {
DRM_ERROR("Missing encoder\n");
if (panel_bridge->is_independent)
device_link_del(panel_bridge->link);
device_link_del(panel_bridge->link);
return -ENODEV;
}
......@@ -99,8 +92,7 @@ static int panel_bridge_attach(struct drm_bridge *bridge,
panel_bridge->connector_type);
if (ret) {
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;
}
......@@ -123,8 +115,7 @@ static void panel_bridge_detach(struct drm_bridge *bridge)
struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge);
struct drm_connector *connector = &panel_bridge->connector;
if (panel_bridge->is_independent)
device_link_del(panel_bridge->link);
device_link_del(panel_bridge->link);
/*
* Cleanup the connector if we know it was initialized.
......
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