Skip to content

Commit c13f87e

Browse files
linuswsuperna9999
authored andcommitted
Revert "drm/bridge: panel: Check device dependency before managing device link"
This reverts commit 39d5b6a. 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: Linus Walleij <[email protected]> Acked-by: Neil Armstrong <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Neil Armstrong <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 95ba893 commit c13f87e

File tree

1 file changed

+9
-18
lines changed

1 file changed

+9
-18
lines changed

drivers/gpu/drm/bridge/panel.c

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ struct panel_bridge {
2323
struct drm_panel *panel;
2424
struct device_link *link;
2525
u32 connector_type;
26-
bool is_independent;
2726
};
2827

2928
static inline struct panel_bridge *
@@ -68,26 +67,20 @@ static int panel_bridge_attach(struct drm_bridge *bridge,
6867
struct drm_device *drm_dev = bridge->dev;
6968
int ret;
7069

71-
panel_bridge->is_independent = !device_is_dependent(drm_dev->dev,
72-
panel->dev);
73-
74-
if (panel_bridge->is_independent) {
75-
panel_bridge->link = device_link_add(drm_dev->dev, panel->dev,
76-
DL_FLAG_STATELESS);
77-
if (!panel_bridge->link) {
78-
DRM_ERROR("Failed to add device link between %s and %s\n",
79-
dev_name(drm_dev->dev), dev_name(panel->dev));
80-
return -EINVAL;
81-
}
70+
panel_bridge->link = device_link_add(drm_dev->dev, panel->dev,
71+
DL_FLAG_STATELESS);
72+
if (!panel_bridge->link) {
73+
DRM_ERROR("Failed to add device link between %s and %s\n",
74+
dev_name(drm_dev->dev), dev_name(panel->dev));
75+
return -EINVAL;
8276
}
8377

8478
if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)
8579
return 0;
8680

8781
if (!bridge->encoder) {
8882
DRM_ERROR("Missing encoder\n");
89-
if (panel_bridge->is_independent)
90-
device_link_del(panel_bridge->link);
83+
device_link_del(panel_bridge->link);
9184
return -ENODEV;
9285
}
9386

@@ -99,8 +92,7 @@ static int panel_bridge_attach(struct drm_bridge *bridge,
9992
panel_bridge->connector_type);
10093
if (ret) {
10194
DRM_ERROR("Failed to initialize connector\n");
102-
if (panel_bridge->is_independent)
103-
device_link_del(panel_bridge->link);
95+
device_link_del(panel_bridge->link);
10496
return ret;
10597
}
10698

@@ -123,8 +115,7 @@ static void panel_bridge_detach(struct drm_bridge *bridge)
123115
struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge);
124116
struct drm_connector *connector = &panel_bridge->connector;
125117

126-
if (panel_bridge->is_independent)
127-
device_link_del(panel_bridge->link);
118+
device_link_del(panel_bridge->link);
128119

129120
/*
130121
* Cleanup the connector if we know it was initialized.

0 commit comments

Comments
 (0)