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@xxxxxxx> > --- > 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 >