diff mbox

drm/i915: convert debugfs creation/destruction to table

Message ID 1372963784-14405-1-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter July 4, 2013, 6:49 p.m. UTC
At least for the common cases where we only need special file
operations. The forcewake file is still rather more special.

v2: Fix up the debugfs unregister code.

v3: Actually squash in the right fixup.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/i915/i915_debugfs.c | 94 ++++++++++++-------------------------
 1 file changed, 30 insertions(+), 64 deletions(-)

Comments

Ben Widawsky July 5, 2013, 7:29 p.m. UTC | #1
On Thu, Jul 04, 2013 at 08:49:44PM +0200, Daniel Vetter wrote:
> At least for the common cases where we only need special file
> operations. The forcewake file is still rather more special.
> 
> v2: Fix up the debugfs unregister code.
> 
> v3: Actually squash in the right fixup.
> 
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Ben Widawsky <ben@bwidawsk.net>
[snip]
Daniel Vetter July 5, 2013, 9:46 p.m. UTC | #2
On Fri, Jul 05, 2013 at 12:29:14PM -0700, Ben Widawsky wrote:
> On Thu, Jul 04, 2013 at 08:49:44PM +0200, Daniel Vetter wrote:
> > At least for the common cases where we only need special file
> > operations. The forcewake file is still rather more special.
> > 
> > v2: Fix up the debugfs unregister code.
> > 
> > v3: Actually squash in the right fixup.
> > 
> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> Acked-by: Ben Widawsky <ben@bwidawsk.net>

And merged.
-Daniel
Paulo Zanoni July 8, 2013, 2:01 p.m. UTC | #3
2013/7/5 Daniel Vetter <daniel@ffwll.ch>:
> On Fri, Jul 05, 2013 at 12:29:14PM -0700, Ben Widawsky wrote:
>> On Thu, Jul 04, 2013 at 08:49:44PM +0200, Daniel Vetter wrote:
>> > At least for the common cases where we only need special file
>> > operations. The forcewake file is still rather more special.
>> >
>> > v2: Fix up the debugfs unregister code.
>> >
>> > v3: Actually squash in the right fixup.
>> >
>> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>> Acked-by: Ben Widawsky <ben@bwidawsk.net>
>
> And merged.

And another patch which you decided to abandon got desperate because
it didn't want to die, so it tried to hide inside this patch instead
of being sent to /dev/null:

http://cgit.freedesktop.org/~danvet/drm-intel/commit/drivers/gpu/drm/i915/i915_irq.c?h=drm-intel-next-queued&id=c032d5491a4d8d56d8364f4919364815b55d3437


> -Daniel
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Daniel Vetter July 8, 2013, 7:44 p.m. UTC | #4
On Mon, Jul 8, 2013 at 4:01 PM, Paulo Zanoni <przanoni@gmail.com> wrote:
> 2013/7/5 Daniel Vetter <daniel@ffwll.ch>:
>> On Fri, Jul 05, 2013 at 12:29:14PM -0700, Ben Widawsky wrote:
>>> On Thu, Jul 04, 2013 at 08:49:44PM +0200, Daniel Vetter wrote:
>>> > At least for the common cases where we only need special file
>>> > operations. The forcewake file is still rather more special.
>>> >
>>> > v2: Fix up the debugfs unregister code.
>>> >
>>> > v3: Actually squash in the right fixup.
>>> >
>>> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>>> Acked-by: Ben Widawsky <ben@bwidawsk.net>
>>
>> And merged.
>
> And another patch which you decided to abandon got desperate because
> it didn't want to die, so it tried to hide inside this patch instead
> of being sent to /dev/null:
>
> http://cgit.freedesktop.org/~danvet/drm-intel/commit/drivers/gpu/drm/i915/i915_irq.c?h=drm-intel-next-queued&id=c032d5491a4d8d56d8364f4919364815b55d3437

Oops, this seems to be indeed the most mis-laid diff hunk I've ever
written ;-) Thanks for catching it again, I've dropped it from the
patch in dinq.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
Daniel Vetter July 8, 2013, 8:06 p.m. UTC | #5
On Mon, Jul 08, 2013 at 09:44:18PM +0200, Daniel Vetter wrote:
> On Mon, Jul 8, 2013 at 4:01 PM, Paulo Zanoni <przanoni@gmail.com> wrote:
> > 2013/7/5 Daniel Vetter <daniel@ffwll.ch>:
> >> On Fri, Jul 05, 2013 at 12:29:14PM -0700, Ben Widawsky wrote:
> >>> On Thu, Jul 04, 2013 at 08:49:44PM +0200, Daniel Vetter wrote:
> >>> > At least for the common cases where we only need special file
> >>> > operations. The forcewake file is still rather more special.
> >>> >
> >>> > v2: Fix up the debugfs unregister code.
> >>> >
> >>> > v3: Actually squash in the right fixup.
> >>> >
> >>> > Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> >>> Acked-by: Ben Widawsky <ben@bwidawsk.net>
> >>
> >> And merged.
> >
> > And another patch which you decided to abandon got desperate because
> > it didn't want to die, so it tried to hide inside this patch instead
> > of being sent to /dev/null:
> >
> > http://cgit.freedesktop.org/~danvet/drm-intel/commit/drivers/gpu/drm/i915/i915_irq.c?h=drm-intel-next-queued&id=c032d5491a4d8d56d8364f4919364815b55d3437
> 
> Oops, this seems to be indeed the most mis-laid diff hunk I've ever
> written ;-) Thanks for catching it again, I've dropped it from the
> patch in dinq.

Actually I've merged an old version of the patch, which was broken in
other ways, too (which Ben spotted). Hopefully the right version is now in
dinq.

Thanks, Daniel
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 3e36756..9106759 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2373,61 +2373,35 @@  static struct drm_info_list i915_debugfs_list[] = {
 };
 #define I915_DEBUGFS_ENTRIES ARRAY_SIZE(i915_debugfs_list)
 
+struct i915_debugfs_files {
+	const char *name;
+	const struct file_operations *fops;
+} i915_debugfs_files[] = {
+	{"i915_wedged", &i915_wedged_fops},
+	{"i915_max_freq", &i915_max_freq_fops},
+	{"i915_min_freq", &i915_min_freq_fops},
+	{"i915_cache_sharing", &i915_cache_sharing_fops},
+	{"i915_ring_stop", &i915_ring_stop_fops},
+	{"i915_gem_drop_caches", &i915_drop_caches_fops},
+	{"i915_error_state", &i915_error_state_fops},
+	{"i915_next_seqno", &i915_next_seqno_fops},
+};
+
 int i915_debugfs_init(struct drm_minor *minor)
 {
-	int ret;
-
-	ret = i915_debugfs_create(minor->debugfs_root, minor,
-				  "i915_wedged",
-				  &i915_wedged_fops);
-	if (ret)
-		return ret;
+	int ret, i;
 
 	ret = i915_forcewake_create(minor->debugfs_root, minor);
 	if (ret)
 		return ret;
 
-	ret = i915_debugfs_create(minor->debugfs_root, minor,
-				  "i915_max_freq",
-				  &i915_max_freq_fops);
-	if (ret)
-		return ret;
-
-	ret = i915_debugfs_create(minor->debugfs_root, minor,
-				  "i915_min_freq",
-				  &i915_min_freq_fops);
-	if (ret)
-		return ret;
-
-	ret = i915_debugfs_create(minor->debugfs_root, minor,
-				  "i915_cache_sharing",
-				  &i915_cache_sharing_fops);
-	if (ret)
-		return ret;
-
-	ret = i915_debugfs_create(minor->debugfs_root, minor,
-				  "i915_ring_stop",
-				  &i915_ring_stop_fops);
-	if (ret)
-		return ret;
-
-	ret = i915_debugfs_create(minor->debugfs_root, minor,
-				  "i915_gem_drop_caches",
-				  &i915_drop_caches_fops);
-	if (ret)
-		return ret;
-
-	ret = i915_debugfs_create(minor->debugfs_root, minor,
-				  "i915_error_state",
-				  &i915_error_state_fops);
-	if (ret)
-		return ret;
-
-	ret = i915_debugfs_create(minor->debugfs_root, minor,
-				 "i915_next_seqno",
-				 &i915_next_seqno_fops);
-	if (ret)
-		return ret;
+	for (i = 0; i < ARRAY_SIZE(i915_debugfs_files); i++) {
+		ret = i915_debugfs_create(minor->debugfs_root, minor,
+					  i915_debugfs_files[i].name,
+					  i915_debugfs_files[i].fops);
+		if (ret)
+			return ret;
+	}
 
 	return drm_debugfs_create_files(i915_debugfs_list,
 					I915_DEBUGFS_ENTRIES,
@@ -2436,26 +2410,18 @@  int i915_debugfs_init(struct drm_minor *minor)
 
 void i915_debugfs_cleanup(struct drm_minor *minor)
 {
+	int i;
+
 	drm_debugfs_remove_files(i915_debugfs_list,
 				 I915_DEBUGFS_ENTRIES, minor);
 	drm_debugfs_remove_files((struct drm_info_list *) &i915_forcewake_fops,
 				 1, minor);
-	drm_debugfs_remove_files((struct drm_info_list *) &i915_wedged_fops,
-				 1, minor);
-	drm_debugfs_remove_files((struct drm_info_list *) &i915_max_freq_fops,
-				 1, minor);
-	drm_debugfs_remove_files((struct drm_info_list *) &i915_min_freq_fops,
-				 1, minor);
-	drm_debugfs_remove_files((struct drm_info_list *) &i915_cache_sharing_fops,
-				 1, minor);
-	drm_debugfs_remove_files((struct drm_info_list *) &i915_drop_caches_fops,
-				 1, minor);
-	drm_debugfs_remove_files((struct drm_info_list *) &i915_ring_stop_fops,
-				 1, minor);
-	drm_debugfs_remove_files((struct drm_info_list *) &i915_error_state_fops,
-				 1, minor);
-	drm_debugfs_remove_files((struct drm_info_list *) &i915_next_seqno_fops,
-				 1, minor);
+	for (i = 0; i < ARRAY_SIZE(i915_debugfs_files); i++) {
+		struct drm_info_list *info_list =
+			(struct drm_info_list *) i915_debugfs_files[i].fops;
+
+		drm_debugfs_remove_files(info_list, 1, minor);
+	}
 }
 
 #endif /* CONFIG_DEBUG_FS */