Blob Blame History Raw
From: Thierry Reding <treding@nvidia.com>
Date: Thu, 12 Oct 2017 19:07:54 +0200
Subject: drm/tegra: sor: Root debugfs files at the connector
Git-commit: d92e600998d83569cc0955a63c5f036867336343
Patch-mainline: v4.16-rc1
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166

Rather create new files within the top-level DRM device's debugfs node,
add the SOR specific files to the connector's debugfs node. This avoids
the need to come up with subdirectory names and is also more intuitive.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
 drivers/gpu/drm/tegra/sor.c |   17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

--- a/drivers/gpu/drm/tegra/sor.c
+++ b/drivers/gpu/drm/tegra/sor.c
@@ -184,7 +184,6 @@ struct tegra_sor {
 
 	struct drm_info_list *debugfs_files;
 	struct drm_minor *minor;
-	struct dentry *debugfs;
 
 	const struct tegra_sor_ops *ops;
 
@@ -1260,14 +1259,10 @@ static const struct drm_info_list debugf
 static int tegra_sor_debugfs_init(struct tegra_sor *sor,
 				  struct drm_minor *minor)
 {
-	const char *name = sor->soc->supports_dp ? "sor1" : "sor";
+	struct dentry *root = sor->output.connector.debugfs_entry;
 	unsigned int i;
 	int err;
 
-	sor->debugfs = debugfs_create_dir(name, minor->debugfs_root);
-	if (!sor->debugfs)
-		return -ENOMEM;
-
 	sor->debugfs_files = kmemdup(debugfs_files, sizeof(debugfs_files),
 				     GFP_KERNEL);
 	if (!sor->debugfs_files) {
@@ -1280,7 +1275,7 @@ static int tegra_sor_debugfs_init(struct
 
 	err = drm_debugfs_create_files(sor->debugfs_files,
 				       ARRAY_SIZE(debugfs_files),
-				       sor->debugfs, minor);
+				       root, minor);
 	if (err < 0)
 		goto free;
 
@@ -1292,13 +1287,14 @@ free:
 	kfree(sor->debugfs_files);
 	sor->debugfs_files = NULL;
 remove:
-	debugfs_remove_recursive(sor->debugfs);
-	sor->debugfs = NULL;
+	debugfs_remove_recursive(root);
 	return err;
 }
 
 static void tegra_sor_debugfs_exit(struct tegra_sor *sor)
 {
+	struct dentry *root = sor->output.connector.debugfs_entry;
+
 	drm_debugfs_remove_files(sor->debugfs_files, ARRAY_SIZE(debugfs_files),
 				 sor->minor);
 	sor->minor = NULL;
@@ -1306,8 +1302,7 @@ static void tegra_sor_debugfs_exit(struc
 	kfree(sor->debugfs_files);
 	sor->debugfs_files = NULL;
 
-	debugfs_remove_recursive(sor->debugfs);
-	sor->debugfs = NULL;
+	debugfs_remove_recursive(root);
 }
 
 static void tegra_sor_connector_reset(struct drm_connector *connector)