From f34c01773d5dbd2db04200079bb4d32ecb0cd847 Mon Sep 17 00:00:00 2001
From: Roy Pledge <roy.pledge@nxp.com>
Date: Tue, 18 Feb 2020 14:02:21 -0500
Subject: [PATCH] sdk_qbman: Only create debugfs entries when QBMan is part of
 device tree

Only create debugfs entries if the QBMan nodes exist in the device
tree.

Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
Acked-by: Madalin Bucur <madalin.bucur@nxp.com>
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
---
 drivers/staging/fsl_qbman/bman_debugfs.c |  8 +++++++-
 drivers/staging/fsl_qbman/qman_debugfs.c | 17 ++++++++++-------
 2 files changed, 17 insertions(+), 8 deletions(-)

--- a/drivers/staging/fsl_qbman/bman_debugfs.c
+++ b/drivers/staging/fsl_qbman/bman_debugfs.c
@@ -33,6 +33,7 @@
 #include <linux/debugfs.h>
 #include <linux/seq_file.h>
 #include <linux/uaccess.h>
+#include <linux/of.h>
 
 static struct dentry *dfs_root; /* debugfs root directory */
 
@@ -83,9 +84,14 @@ static int __init bman_debugfs_module_in
 {
 	int ret = 0;
 	struct dentry *d;
+	struct device_node *dn;
 
+	dn = of_find_compatible_node(NULL, NULL, "fsl,bman");
+	if (!dn) {
+		pr_debug("No fsl,bman node\n");
+		return 0;
+	}
 	dfs_root = debugfs_create_dir("bman", NULL);
-
 	if (dfs_root == NULL) {
 		ret = -ENOMEM;
 		pr_err("Cannot create bman debugfs dir\n");
--- a/drivers/staging/fsl_qbman/qman_debugfs.c
+++ b/drivers/staging/fsl_qbman/qman_debugfs.c
@@ -1457,13 +1457,16 @@ static int __init qman_debugfs_module_in
 
 	fqid_max = 0;
 	init_ccsrmempeek();
-	if (qman_ccsr_start) {
-		if (!qman_ccsrmempeek(&reg, QM_FQD_AR)) {
-			/* extract the size of the FQD window */
-			reg = reg & 0x3f;
-			/* calculate valid frame queue descriptor range */
-			fqid_max = (1 << (reg + 1)) / QM_FQD_BLOCK_SIZE;
-		}
+	if (!qman_ccsr_start) {
+		/* No QMan node found in device tree */
+		return 0;
+	}
+
+	if (!qman_ccsrmempeek(&reg, QM_FQD_AR)) {
+		/* extract the size of the FQD window */
+		reg = reg & 0x3f;
+		/* calculate valid frame queue descriptor range */
+		fqid_max = (1 << (reg + 1)) / QM_FQD_BLOCK_SIZE;
 	}
 	dfs_root = debugfs_create_dir("qman", NULL);
 	fqd_root = debugfs_create_dir("fqd", dfs_root);
