On Thu, Feb 09, 2023 at 09:18:36AM +0100, Christian König wrote:
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index c6eb8972451a..88ce22c04672 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -156,6 +156,10 @@ static int drm_minor_alloc(struct drm_device *dev, 
> unsigned int type)
>       if (IS_ERR(minor->kdev))
>               return PTR_ERR(minor->kdev);
>  
> +     r = drm_debugfs_init(minor, minor->index, drm_debugfs_root);
> +     if (r)
> +             return r;
> +
>       *drm_minor_get_slot(dev, type) = minor;
>       return 0;
>  }
> @@ -172,15 +176,10 @@ static int drm_minor_register(struct drm_device *dev, 
> unsigned int type)
>       if (!minor)
>               return 0;
>  
> -     if (minor->type == DRM_MINOR_ACCEL) {
> +     if (minor->type == DRM_MINOR_ACCEL)
>               accel_debugfs_init(minor, minor->index);

Please move this to drm_minor_alloc() as well. Or perhaps make
conditional code for DRM_MINOR_ACCEL inside drm_debugfs_init().

Regards
Stanislaw

> -     } else {
> -             ret = drm_debugfs_init(minor, minor->index, drm_debugfs_root);
> -             if (ret) {
> -                     DRM_ERROR("DRM: Failed to initialize 
> /sys/kernel/debug/dri.\n");
> -                     goto err_debugfs;
> -             }
> -     }
> +     else
> +             drm_debugfs_register(minor);

>  
>       ret = device_add(minor->kdev);
>       if (ret)
> diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_internal.h
> index ed2103ee272c..332fb65a935a 100644
> --- a/drivers/gpu/drm/drm_internal.h
> +++ b/drivers/gpu/drm/drm_internal.h
> @@ -185,6 +185,7 @@ int drm_gem_dumb_destroy(struct drm_file *file, struct 
> drm_device *dev,
>  #if defined(CONFIG_DEBUG_FS)
>  int drm_debugfs_init(struct drm_minor *minor, int minor_id,
>                    struct dentry *root);
> +void drm_debugfs_register(struct drm_minor *minor);
>  void drm_debugfs_cleanup(struct drm_minor *minor);
>  void drm_debugfs_late_register(struct drm_device *dev);
>  void drm_debugfs_connector_add(struct drm_connector *connector);
> -- 
> 2.34.1
> 

Reply via email to