diff mbox series

[v7,1/6] drm/client: Export drm_client_dev_unregister()

Message ID 20240301134448.31289-2-tzimmermann@suse.de (mailing list archive)
State New, archived
Headers show
Series drm/i915: Convert fbdev to DRM client | expand

Commit Message

Thomas Zimmermann March 1, 2024, 1:42 p.m. UTC
Export drm_client_dev_unregister() for use by the i915 driver. The
driver does not use drm_dev_unregister(), so it has to clean up the
in-kernel DRM clients by itself.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
 drivers/gpu/drm/drm_client.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

Comments

Rodrigo Vivi March 8, 2024, 3:49 p.m. UTC | #1
On Fri, Mar 01, 2024 at 02:42:54PM +0100, Thomas Zimmermann wrote:
> Export drm_client_dev_unregister() for use by the i915 driver. The
> driver does not use drm_dev_unregister(),

Perhaps we should make i915 to call for the drm_dev_unregister since it calls
for drm_dev_register?

> so it has to clean up the
> in-kernel DRM clients by itself.
> 
> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
> ---
>  drivers/gpu/drm/drm_client.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c
> index 9403b3f576f7b..3d4f8b77d0789 100644
> --- a/drivers/gpu/drm/drm_client.c
> +++ b/drivers/gpu/drm/drm_client.c
> @@ -172,6 +172,18 @@ void drm_client_release(struct drm_client_dev *client)
>  }
>  EXPORT_SYMBOL(drm_client_release);
>  
> +/**
> + * drm_client_dev_unregister - Unregister clients
> + * @dev: DRM device
> + *
> + * This function releases all clients by calling each client's
> + * &drm_client_funcs.unregister callback. The callback function
> + * is responsibe for releaseing all resources including the client
> + * itself.
> + *
> + * The helper drm_dev_unregister() calls this function. Drivers
> + * that use it don't need to call this function themselves.
> + */
>  void drm_client_dev_unregister(struct drm_device *dev)
>  {
>  	struct drm_client_dev *client, *tmp;
> @@ -191,6 +203,7 @@ void drm_client_dev_unregister(struct drm_device *dev)
>  	}
>  	mutex_unlock(&dev->clientlist_mutex);
>  }
> +EXPORT_SYMBOL(drm_client_dev_unregister);
>  
>  /**
>   * drm_client_dev_hotplug - Send hotplug event to clients
> -- 
> 2.43.2
>
Thomas Zimmermann April 8, 2024, 12:07 p.m. UTC | #2
Hi

Am 08.03.24 um 16:49 schrieb Rodrigo Vivi:
> On Fri, Mar 01, 2024 at 02:42:54PM +0100, Thomas Zimmermann wrote:
>> Export drm_client_dev_unregister() for use by the i915 driver. The
>> driver does not use drm_dev_unregister(),
> Perhaps we should make i915 to call for the drm_dev_unregister since it calls
> for drm_dev_register?

Not that I disagree, but this appears to be a separate change unrelated 
to fbdev support.

Best regards
Thomas

>
>> so it has to clean up the
>> in-kernel DRM clients by itself.
>>
>> Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
>> ---
>>   drivers/gpu/drm/drm_client.c | 13 +++++++++++++
>>   1 file changed, 13 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c
>> index 9403b3f576f7b..3d4f8b77d0789 100644
>> --- a/drivers/gpu/drm/drm_client.c
>> +++ b/drivers/gpu/drm/drm_client.c
>> @@ -172,6 +172,18 @@ void drm_client_release(struct drm_client_dev *client)
>>   }
>>   EXPORT_SYMBOL(drm_client_release);
>>   
>> +/**
>> + * drm_client_dev_unregister - Unregister clients
>> + * @dev: DRM device
>> + *
>> + * This function releases all clients by calling each client's
>> + * &drm_client_funcs.unregister callback. The callback function
>> + * is responsibe for releaseing all resources including the client
>> + * itself.
>> + *
>> + * The helper drm_dev_unregister() calls this function. Drivers
>> + * that use it don't need to call this function themselves.
>> + */
>>   void drm_client_dev_unregister(struct drm_device *dev)
>>   {
>>   	struct drm_client_dev *client, *tmp;
>> @@ -191,6 +203,7 @@ void drm_client_dev_unregister(struct drm_device *dev)
>>   	}
>>   	mutex_unlock(&dev->clientlist_mutex);
>>   }
>> +EXPORT_SYMBOL(drm_client_dev_unregister);
>>   
>>   /**
>>    * drm_client_dev_hotplug - Send hotplug event to clients
>> -- 
>> 2.43.2
>>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c
index 9403b3f576f7b..3d4f8b77d0789 100644
--- a/drivers/gpu/drm/drm_client.c
+++ b/drivers/gpu/drm/drm_client.c
@@ -172,6 +172,18 @@  void drm_client_release(struct drm_client_dev *client)
 }
 EXPORT_SYMBOL(drm_client_release);
 
+/**
+ * drm_client_dev_unregister - Unregister clients
+ * @dev: DRM device
+ *
+ * This function releases all clients by calling each client's
+ * &drm_client_funcs.unregister callback. The callback function
+ * is responsibe for releaseing all resources including the client
+ * itself.
+ *
+ * The helper drm_dev_unregister() calls this function. Drivers
+ * that use it don't need to call this function themselves.
+ */
 void drm_client_dev_unregister(struct drm_device *dev)
 {
 	struct drm_client_dev *client, *tmp;
@@ -191,6 +203,7 @@  void drm_client_dev_unregister(struct drm_device *dev)
 	}
 	mutex_unlock(&dev->clientlist_mutex);
 }
+EXPORT_SYMBOL(drm_client_dev_unregister);
 
 /**
  * drm_client_dev_hotplug - Send hotplug event to clients