diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2018-09-27 15:41:30 +0300 |
---|---|---|
committer | Sean Paul <seanpaul@chromium.org> | 2018-09-27 18:00:42 +0300 |
commit | d6a77ba0eb92d8ffa4b05a442fc20d0a9b11c4c4 (patch) | |
tree | b810efbf7ea918c967f82d1403a3a6b66ead76a1 /include | |
parent | 337fe9f5c1e7de1f391c6a692531379d2aa2ee11 (diff) | |
download | linux-d6a77ba0eb92d8ffa4b05a442fc20d0a9b11c4c4.tar.xz |
Revert "drm/panel: Add device_link from panel device to DRM device"
This reverts commit 0c08754b59da5557532d946599854e6df28edc22.
commit 0c08754b59da
("drm/panel: Add device_link from panel device to DRM device")
creates a circular dependency under these circumstances:
1. The panel depends on dsi-host because it is MIPI-DSI child
device.
2. dsi-host depends on the drm parent device (connector->dev->dev)
this should be allowed.
3. drm parent dev (connector->dev->dev) depends on the panel
after this patch.
This makes the dependency circular and while it appears it
does not affect any in-tree drivers (they do not seem to have
dsi hosts depending on the same parent device) this does not
seem right.
As noted in a response from Andrzej Hajda, the intent is
likely to make the panel dependent on the DRM device
(connector->dev) not its parent. But we have no way of
doing that since the DRM device doesn't contain any
struct device on its own (arguably it should).
Revert this until a proper approach is figured out.
Cc: Jyri Sarha <jsarha@ti.com>
Cc: Eric Anholt <eric@anholt.net>
Cc: Andrzej Hajda <a.hajda@samsung.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20180927124130.9102-1-linus.walleij@linaro.org
Diffstat (limited to 'include')
-rw-r--r-- | include/drm/drm_panel.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/drm/drm_panel.h b/include/drm/drm_panel.h index 582a0ec0aa70..777814755fa6 100644 --- a/include/drm/drm_panel.h +++ b/include/drm/drm_panel.h @@ -89,7 +89,6 @@ struct drm_panel { struct drm_device *drm; struct drm_connector *connector; struct device *dev; - struct device_link *link; const struct drm_panel_funcs *funcs; |