On Thu, Feb 09, 2023 at 09:18:38AM +0100, Christian König wrote:
> -void drm_debugfs_late_register(struct drm_device *dev)
> -{
> -     struct drm_minor *minor = dev->primary;
> -     struct drm_debugfs_entry *entry, *tmp;
> -
> -     if (!minor)
> -             return;
> -
> -     list_for_each_entry_safe(entry, tmp, &dev->debugfs_list, list) {
> -             debugfs_create_file(entry->file.name, 0444,
> -                                 minor->debugfs_root, entry, 
> &drm_debugfs_entry_fops);
> -             list_del(&entry->list);
> -     }
>  }
>  
>  int drm_debugfs_remove_files(const struct drm_info_list *files, int count,
> @@ -343,9 +321,13 @@ void drm_debugfs_add_file(struct drm_device *dev, const 
> char *name,
>       entry->file.data = data;
>       entry->dev = dev;
>  
> -     mutex_lock(&dev->debugfs_mutex);
> -     list_add(&entry->list, &dev->debugfs_list);
> -     mutex_unlock(&dev->debugfs_mutex);
> +     debugfs_create_file(name, 0444, dev->primary->debugfs_root, entry,
> +                         &drm_debugfs_entry_fops);
> +
> +     /* TODO: This should probably only be a symlink */
> +     if (dev->render)
> +             debugfs_create_file(name, 0444, dev->render->debugfs_root,
> +                                 entry, &drm_debugfs_entry_fops);

For accel we would need conditional check for DRM_MINOR_ACCEL here as
well.

With this change and one from first patch, drm_debugfs_add_file() should
work for accel as well. We could get rid of debugfs_init from 
accel_debugfs_init().

However we still need support for writable files. I think we can just
add helper for providing debugfs dir to drivers i.e:

struct dentry *accel_debugfs_dir(struct drm_device *drm) 
{
        return drm->accel->debugfs_root;
}

Then individual accel driver could create files with different permissions 
there.

Regards
Stanislaw

Reply via email to