Add struct drm_client_funcs.free and release the memory fbdev and
log clients from its implementations. Also fix the locking in the
log's unregister code.

Resolves several corner cases in the current clients and avoids
duplicated code.

Thomas Zimmermann (4):
  drm/client: Add client free callback to unprepare fb_helper
  drm/log: Do not hold lock across drm_client_release()
  drm/log: Add free callback
  drm/client: Do not free client memory by default

 drivers/gpu/drm/armada/armada_fbdev.c      |  2 --
 drivers/gpu/drm/clients/drm_fbdev_client.c | 17 +++++++++++++++--
 drivers/gpu/drm/clients/drm_log.c          | 16 ++++++++++++----
 drivers/gpu/drm/drm_client.c               |  4 ++++
 drivers/gpu/drm/drm_client_event.c         |  9 +++++----
 drivers/gpu/drm/drm_fbdev_dma.c            |  4 ----
 drivers/gpu/drm/drm_fbdev_shmem.c          |  2 --
 drivers/gpu/drm/drm_fbdev_ttm.c            |  2 --
 drivers/gpu/drm/exynos/exynos_drm_fbdev.c  |  2 --
 drivers/gpu/drm/gma500/fbdev.c             |  3 ---
 drivers/gpu/drm/i915/display/intel_fbdev.c |  2 --
 drivers/gpu/drm/msm/msm_fbdev.c            |  2 --
 drivers/gpu/drm/omapdrm/omap_fbdev.c       |  2 --
 drivers/gpu/drm/radeon/radeon_fbdev.c      |  2 --
 drivers/gpu/drm/tegra/fbdev.c              |  2 --
 include/drm/drm_client.h                   | 10 ++++++++++
 16 files changed, 46 insertions(+), 35 deletions(-)

-- 
2.51.0

Reply via email to