]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - drivers/gpu/drm/i915/intel_pipe_crc.c
Merge tag 'drm-intel-next-2017-03-06' of git://anongit.freedesktop.org/git/drm-intel...
[mirror_ubuntu-artful-kernel.git] / drivers / gpu / drm / i915 / intel_pipe_crc.c
index c782b7878288d21a026a1a60f793c06d65fb8f21..9fd9c70baeed826fb2088843cc53053a0ac9541a 100644 (file)
@@ -36,31 +36,6 @@ struct pipe_crc_info {
        enum pipe pipe;
 };
 
-/* As the drm_debugfs_init() routines are called before dev->dev_private is
- * allocated we need to hook into the minor for release.
- */
-static int drm_add_fake_info_node(struct drm_minor *minor,
-                                 struct dentry *ent, const void *key)
-{
-       struct drm_info_node *node;
-
-       node = kmalloc(sizeof(*node), GFP_KERNEL);
-       if (node == NULL) {
-               debugfs_remove(ent);
-               return -ENOMEM;
-       }
-
-       node->minor = minor;
-       node->dent = ent;
-       node->info_ent = (void *) key;
-
-       mutex_lock(&minor->debugfs_lock);
-       list_add(&node->list, &minor->debugfs_list);
-       mutex_unlock(&minor->debugfs_lock);
-
-       return 0;
-}
-
 static int i915_pipe_crc_open(struct inode *inode, struct file *filep)
 {
        struct pipe_crc_info *info = inode->i_private;
@@ -209,22 +184,6 @@ static struct pipe_crc_info i915_pipe_crc_data[I915_MAX_PIPES] = {
        },
 };
 
-static int i915_pipe_crc_create(struct dentry *root, struct drm_minor *minor,
-                               enum pipe pipe)
-{
-       struct drm_i915_private *dev_priv = to_i915(minor->dev);
-       struct dentry *ent;
-       struct pipe_crc_info *info = &i915_pipe_crc_data[pipe];
-
-       info->dev_priv = dev_priv;
-       ent = debugfs_create_file(info->name, S_IRUGO, root, info,
-                                 &i915_pipe_crc_fops);
-       if (!ent)
-               return -ENOMEM;
-
-       return drm_add_fake_info_node(minor, ent, info);
-}
-
 static const char * const pipe_crc_sources[] = {
        "none",
        "plane1",
@@ -928,27 +887,22 @@ void intel_display_crc_init(struct drm_i915_private *dev_priv)
 
 int intel_pipe_crc_create(struct drm_minor *minor)
 {
-       int ret, i;
-
-       for (i = 0; i < ARRAY_SIZE(i915_pipe_crc_data); i++) {
-               ret = i915_pipe_crc_create(minor->debugfs_root, minor, i);
-               if (ret)
-                       return ret;
-       }
-
-       return 0;
-}
-
-void intel_pipe_crc_cleanup(struct drm_minor *minor)
-{
+       struct drm_i915_private *dev_priv = to_i915(minor->dev);
+       struct dentry *ent;
        int i;
 
        for (i = 0; i < ARRAY_SIZE(i915_pipe_crc_data); i++) {
-               struct drm_info_list *info_list =
-                       (struct drm_info_list *)&i915_pipe_crc_data[i];
+               struct pipe_crc_info *info = &i915_pipe_crc_data[i];
 
-               drm_debugfs_remove_files(info_list, 1, minor);
+               info->dev_priv = dev_priv;
+               ent = debugfs_create_file(info->name, S_IRUGO,
+                                         minor->debugfs_root, info,
+                                         &i915_pipe_crc_fops);
+               if (!ent)
+                       return -ENOMEM;
        }
+
+       return 0;
 }
 
 int intel_crtc_set_crc_source(struct drm_crtc *crtc, const char *source_name,