drm/i915: refactor debugfs create functions
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 14 Dec 2011 12:57:11 +0000 (13:57 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Sun, 29 Jan 2012 17:28:43 +0000 (18:28 +0100)
All r/w debugfs files are created equal.

v2: Add some newlines to make the code easier on the eyes as requested
by Ben Widawsky.

Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_debugfs.c

index 377404296006610123ca0f52ad1355e0abea989f..9a2f3fcd22039998c7d0175942b98362ca83a2af 100644 (file)
@@ -1637,21 +1637,6 @@ drm_add_fake_info_node(struct drm_minor *minor,
        return 0;
 }
 
-static int i915_wedged_create(struct dentry *root, struct drm_minor *minor)
-{
-       struct drm_device *dev = minor->dev;
-       struct dentry *ent;
-
-       ent = debugfs_create_file("i915_wedged",
-                                 S_IRUGO | S_IWUSR,
-                                 root, dev,
-                                 &i915_wedged_fops);
-       if (IS_ERR(ent))
-               return PTR_ERR(ent);
-
-       return drm_add_fake_info_node(minor, ent, &i915_wedged_fops);
-}
-
 static int i915_forcewake_open(struct inode *inode, struct file *file)
 {
        struct drm_device *dev = inode->i_private;
@@ -1713,34 +1698,22 @@ static int i915_forcewake_create(struct dentry *root, struct drm_minor *minor)
        return drm_add_fake_info_node(minor, ent, &i915_forcewake_fops);
 }
 
-static int i915_max_freq_create(struct dentry *root, struct drm_minor *minor)
-{
-       struct drm_device *dev = minor->dev;
-       struct dentry *ent;
-
-       ent = debugfs_create_file("i915_max_freq",
-                                 S_IRUGO | S_IWUSR,
-                                 root, dev,
-                                 &i915_max_freq_fops);
-       if (IS_ERR(ent))
-               return PTR_ERR(ent);
-
-       return drm_add_fake_info_node(minor, ent, &i915_max_freq_fops);
-}
-
-static int i915_cache_sharing_create(struct dentry *root, struct drm_minor *minor)
+static int i915_debugfs_create(struct dentry *root,
+                              struct drm_minor *minor,
+                              const char *name,
+                              const struct file_operations *fops)
 {
        struct drm_device *dev = minor->dev;
        struct dentry *ent;
 
-       ent = debugfs_create_file("i915_cache_sharing",
+       ent = debugfs_create_file(name,
                                  S_IRUGO | S_IWUSR,
                                  root, dev,
-                                 &i915_cache_sharing_fops);
+                                 fops);
        if (IS_ERR(ent))
                return PTR_ERR(ent);
 
-       return drm_add_fake_info_node(minor, ent, &i915_cache_sharing_fops);
+       return drm_add_fake_info_node(minor, ent, fops);
 }
 
 static struct drm_info_list i915_debugfs_list[] = {
@@ -1789,17 +1762,25 @@ int i915_debugfs_init(struct drm_minor *minor)
 {
        int ret;
 
-       ret = i915_wedged_create(minor->debugfs_root, minor);
+       ret = i915_debugfs_create(minor->debugfs_root, minor,
+                                 "i915_wedged",
+                                 &i915_wedged_fops);
        if (ret)
                return ret;
 
        ret = i915_forcewake_create(minor->debugfs_root, minor);
        if (ret)
                return ret;
-       ret = i915_max_freq_create(minor->debugfs_root, minor);
+
+       ret = i915_debugfs_create(minor->debugfs_root, minor,
+                                 "i915_max_freq",
+                                 &i915_max_freq_fops);
        if (ret)
                return ret;
-       ret = i915_cache_sharing_create(minor->debugfs_root, minor);
+
+       ret = i915_debugfs_create(minor->debugfs_root, minor,
+                                 "i915_cache_sharing",
+                                 &i915_cache_sharing_fops);
        if (ret)
                return ret;