[PATCH v2 0/2] drm/panel: Add device link in drm_panel_attach()

Jyri Sarha jsarha at ti.com
Wed Feb 28 11:09:28 UTC 2018


The first version of the series can be found here:
https://lists.freedesktop.org/archives/dri-devel/2018-February/166909.html

The only change is the dev_err print in drm_panel_attach() if
device_link_add() fails.

The device_link_del() is still there in drm_panel_detach(), despite
Lukas Wunner's comment[1]. In the usual (currently all) cases things
would work perfectly without the call too, because
device_links_driver_cleanup() will eventually remove all orphaned
links. However, this would cause an error in the situation where a drm
device would like to detach a panel but remain operational, since the
drm device would be unbound for no good reason if the detached panel
is later unbound.

Anyway, if somebody still comes up with an argument for dropping the
device_link_del() from drm_panel_detach(), I'll do it as things will
normally work fine either case (drm devices don't normally detach
panels and remain operational).

These older comment still apply:

The first patch could be squashed to second, but kept is separate
since I think it is correct even without the second patch.

With these patches unbinding a panel driver in use does not cause
nasty backtraces and corrupted drm core structures, but instead it
cleanly unbind the drm master device at the same time.

The only down side (currently[2]) is that the drm device does not reprobe
if the panel driver is bound again, but everything should work if the
drm master driver is bound manually.

Best regards,
Jyri

[1] https://lists.freedesktop.org/archives/dri-devel/2018-February/167047.html
[2] https://lists.freedesktop.org/archives/dri-devel/2018-February/166907.html

Jyri Sarha (2):
  drm/panel: Remove drm_panel_detach() calls from all panel drives
  drm/panel: Add device_link from panel device to drm device

 drivers/gpu/drm/drm_panel.c                          | 12 ++++++++++++
 drivers/gpu/drm/panel/panel-innolux-p079zca.c        |  1 -
 drivers/gpu/drm/panel/panel-jdi-lt070me05000.c       |  1 -
 drivers/gpu/drm/panel/panel-lvds.c                   |  1 -
 drivers/gpu/drm/panel/panel-panasonic-vvx10f034n00.c |  1 -
 drivers/gpu/drm/panel/panel-seiko-43wvf1g.c          |  1 -
 drivers/gpu/drm/panel/panel-sharp-lq101r1sx01.c      |  1 -
 drivers/gpu/drm/panel/panel-sharp-ls043t1le01.c      |  1 -
 drivers/gpu/drm/panel/panel-simple.c                 |  1 -
 drivers/gpu/drm/panel/panel-sitronix-st7789v.c       |  1 -
 include/drm/drm_panel.h                              |  1 +
 11 files changed, 13 insertions(+), 9 deletions(-)

-- 
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki



More information about the dri-devel mailing list