Create a helper to encapsulate the code that adds a new debugfs file to
a linked list related to a object. Moreover, the helper also provides
more flexibily on the type of the object, allowing to use the helper for
other types of drm_debugfs_entry.

Signed-off-by: Maíra Canal <mca...@igalia.com>
---
 drivers/gpu/drm/drm_debugfs.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c
index 4f643a490dc3..255d2068ac16 100644
--- a/drivers/gpu/drm/drm_debugfs.c
+++ b/drivers/gpu/drm/drm_debugfs.c
@@ -316,6 +316,17 @@ void drm_debugfs_cleanup(struct drm_minor *minor)
        minor->debugfs_root = NULL;
 }
 
+#define drm_debugfs_add_file_to_list(component) do {                   \
+               entry->file.name = name;                                \
+               entry->file.show = show;                                \
+               entry->file.data = data;                                \
+               entry->component = (component);                         \
+                                                                       \
+               mutex_lock(&(component)->debugfs_mutex);                \
+               list_add(&entry->list, &(component)->debugfs_list);     \
+               mutex_unlock(&(component)->debugfs_mutex);              \
+       } while (0)
+
 /**
  * drm_debugfs_add_file - Add a given file to the DRM device debugfs file list
  * @dev: drm device for the ioctl
@@ -334,14 +345,7 @@ void drm_debugfs_add_file(struct drm_device *dev, const 
char *name,
        if (!entry)
                return;
 
-       entry->file.name = name;
-       entry->file.show = show;
-       entry->file.data = data;
-       entry->dev = dev;
-
-       mutex_lock(&dev->debugfs_mutex);
-       list_add(&entry->list, &dev->debugfs_list);
-       mutex_unlock(&dev->debugfs_mutex);
+       drm_debugfs_add_file_to_list(dev);
 }
 EXPORT_SYMBOL(drm_debugfs_add_file);
 
-- 
2.39.0

Reply via email to