mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 01:53:29 +02:00
drm/log: Add free callback
Free the client memory in the client free callback. Also move the debugging output into the free callback: drm_client_release() puts the reference on the DRM device, so pointers to the device should be considered dangling afterwards. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>> Link: https://lore.kernel.org/r/20251009132006.45834-4-tzimmermann@suse.de
This commit is contained in:
parent
33ba21e9e1
commit
52a0233916
|
|
@ -293,19 +293,26 @@ static void drm_log_free_scanout(struct drm_client_dev *client)
|
|||
}
|
||||
}
|
||||
|
||||
static void drm_log_client_unregister(struct drm_client_dev *client)
|
||||
static void drm_log_client_free(struct drm_client_dev *client)
|
||||
{
|
||||
struct drm_log *dlog = client_to_drm_log(client);
|
||||
struct drm_device *dev = client->dev;
|
||||
|
||||
kfree(dlog);
|
||||
|
||||
drm_dbg(dev, "Unregistered with drm log\n");
|
||||
}
|
||||
|
||||
static void drm_log_client_unregister(struct drm_client_dev *client)
|
||||
{
|
||||
struct drm_log *dlog = client_to_drm_log(client);
|
||||
|
||||
unregister_console(&dlog->con);
|
||||
|
||||
mutex_lock(&dlog->lock);
|
||||
drm_log_free_scanout(client);
|
||||
mutex_unlock(&dlog->lock);
|
||||
drm_client_release(client);
|
||||
kfree(dlog);
|
||||
drm_dbg(dev, "Unregistered with drm log\n");
|
||||
}
|
||||
|
||||
static int drm_log_client_hotplug(struct drm_client_dev *client)
|
||||
|
|
@ -339,6 +346,7 @@ static int drm_log_client_resume(struct drm_client_dev *client)
|
|||
|
||||
static const struct drm_client_funcs drm_log_client_funcs = {
|
||||
.owner = THIS_MODULE,
|
||||
.free = drm_log_client_free,
|
||||
.unregister = drm_log_client_unregister,
|
||||
.hotplug = drm_log_client_hotplug,
|
||||
.suspend = drm_log_client_suspend,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user