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
