linux/drivers/gpu/drm/drm_client.c
/**
 * drm_client_release - Release DRM client resources
 * @client: DRM client
 *
 * Releases resources by closing the &drm_file that was opened by drm_client_init().
 * It is called automatically if the &drm_client_funcs.unregister callback is _not_ set.
 *
 * This function should only be called from the unregister callback. An exception
 * is fbdev which cannot free the buffer if userspace has open file descriptors.
 *
 * Note:
 * Clients cannot initiate a release by themselves. This is done to keep the code simple.
 * The driver has to be unloaded before the client can be unloaded.
 */


Releases resources by closing the &drm_file that was opened by drm_client_init().
It is called automatically if the &drm_client_funcs.unregister callback is _not_ set.

This function should only be called from the unregister callback. An exception
is fbdev which cannot free the buffer if userspace has open file descriptors.

Clients cannot initiate a release by themselves. This is done to keep the code simple.
The driver has to be unloaded before the client can be unloaded.
Releases resources by closing the &drm_file that was opened by drm_client_init () . It is called automatically if the &drm_client_funcs . unregister callback is _not_ set . This function should only be called from the unregister callback . An exception is fbdev which cannot free the buffer if userspace has open file descriptors . Clients cannot initiate a release by themselves . This is done to keep the code simple . The driver has to be unloaded before the client can be unloaded .
void drm_client_release(struct drm_client_dev *client)
{
	struct drm_device *dev = client->dev;
	DRM_DEV_DEBUG_KMS(dev->dev, "%s\n", client->name);
	drm_client_close(client);
	drm_dev_put(dev);
	if (client->funcs)
		module_put(client->funcs->owner);
}
void drm_client_release ( struct drm_client_dev * client ) { struct drm_device * dev = client -> dev ; DRM_DEV_DEBUG_KMS ( dev -> dev , " \n " , client -> name ) ; drm_client_close ( client ) ; drm_dev_put ( dev ) ; if ( client -> funcs ) module_put ( client -> funcs -> owner ) ; }
drm_client_release - Release DRM client resources
 @client: DRM client
drm_client_release - Release DRM client resources @client : DRM client