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

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

parent 95ba893c
Loading
Loading
Loading
Loading
+9 −18
Original line number Diff line number Diff line
@@ -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,10 +67,6 @@ 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) {
@@ -79,14 +74,12 @@ static int panel_bridge_attach(struct drm_bridge *bridge,
			  dev_name(drm_dev->dev), dev_name(panel->dev));
		return -EINVAL;
	}
	}

	if (flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)
		return 0;

	if (!bridge->encoder) {
		DRM_ERROR("Missing encoder\n");
		if (panel_bridge->is_independent)
		device_link_del(panel_bridge->link);
		return -ENODEV;
	}
@@ -99,7 +92,6 @@ 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);
		return ret;
	}
@@ -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 drm_connector *connector = &panel_bridge->connector;

	if (panel_bridge->is_independent)
	device_link_del(panel_bridge->link);

	/*