aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/804-crypto-0005-crypto-caam-use-devres-to-remove-debugfs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/804-crypto-0005-crypto-caam-use-devres-to-remove-debugfs.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/804-crypto-0005-crypto-caam-use-devres-to-remove-debugfs.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0005-crypto-caam-use-devres-to-remove-debugfs.patch b/target/linux/layerscape/patches-5.4/804-crypto-0005-crypto-caam-use-devres-to-remove-debugfs.patch
new file mode 100644
index 0000000000..ff15d95d08
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/804-crypto-0005-crypto-caam-use-devres-to-remove-debugfs.patch
@@ -0,0 +1,88 @@
+From 93fbe7c21a64d22ac057fc9e8eed5967f5d0bd88 Mon Sep 17 00:00:00 2001
+From: Andrey Smirnov <andrew.smirnov@gmail.com>
+Date: Tue, 22 Oct 2019 08:30:09 -0700
+Subject: [PATCH] crypto: caam - use devres to remove debugfs
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Use devres to remove debugfs and drop corresponding
+debugfs_remove_recursive() call.
+
+Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
+Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
+Cc: Chris Healy <cphealy@gmail.com>
+Cc: Lucas Stach <l.stach@pengutronix.de>
+Cc: Horia Geantă <horia.geanta@nxp.com>
+Cc: Herbert Xu <herbert@gondor.apana.org.au>
+Cc: Iuliana Prodan <iuliana.prodan@nxp.com>
+Cc: linux-crypto@vger.kernel.org
+Cc: linux-kernel@vger.kernel.org
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+(cherry picked from commit eceb5daf9ebaa564a65eb2d9d5a4682a33747300)
+---
+ drivers/crypto/caam/ctrl.c | 21 ++++++++++++++-------
+ drivers/crypto/caam/intern.h | 1 -
+ 2 files changed, 14 insertions(+), 8 deletions(-)
+
+--- a/drivers/crypto/caam/ctrl.c
++++ b/drivers/crypto/caam/ctrl.c
+@@ -327,11 +327,6 @@ static int caam_remove(struct platform_d
+ if (!ctrlpriv->mc_en && ctrlpriv->rng4_sh_init)
+ deinstantiate_rng(ctrldev, ctrlpriv->rng4_sh_init);
+
+- /* Shut down debug views */
+-#ifdef CONFIG_DEBUG_FS
+- debugfs_remove_recursive(ctrlpriv->dfs_root);
+-#endif
+-
+ return 0;
+ }
+
+@@ -563,6 +558,13 @@ static int init_clocks(struct device *de
+ return devm_add_action_or_reset(dev, disable_clocks, ctrlpriv);
+ }
+
++#ifdef CONFIG_DEBUG_FS
++static void caam_remove_debugfs(void *root)
++{
++ debugfs_remove_recursive(root);
++}
++#endif
++
+ /* Probe routine for CAAM top (controller) level */
+ static int caam_probe(struct platform_device *pdev)
+ {
+@@ -575,6 +577,7 @@ static int caam_probe(struct platform_de
+ struct caam_drv_private *ctrlpriv;
+ #ifdef CONFIG_DEBUG_FS
+ struct caam_perfmon *perfmon;
++ struct dentry *dfs_root;
+ #endif
+ u32 scfgr, comp_params;
+ u8 rng_vid;
+@@ -726,8 +729,12 @@ static int caam_probe(struct platform_de
+ */
+ perfmon = (struct caam_perfmon __force *)&ctrl->perfmon;
+
+- ctrlpriv->dfs_root = debugfs_create_dir(dev_name(dev), NULL);
+- ctrlpriv->ctl = debugfs_create_dir("ctl", ctrlpriv->dfs_root);
++ dfs_root = debugfs_create_dir(dev_name(dev), NULL);
++ ret = devm_add_action_or_reset(dev, caam_remove_debugfs, dfs_root);
++ if (ret)
++ return ret;
++
++ ctrlpriv->ctl = debugfs_create_dir("ctl", dfs_root);
+ #endif
+
+ /* Check to see if (DPAA 1.x) QI present. If so, enable */
+--- a/drivers/crypto/caam/intern.h
++++ b/drivers/crypto/caam/intern.h
+@@ -102,7 +102,6 @@ struct caam_drv_private {
+ * variables at runtime.
+ */
+ #ifdef CONFIG_DEBUG_FS
+- struct dentry *dfs_root;
+ struct dentry *ctl; /* controller dir */
+ struct debugfs_blob_wrapper ctl_kek_wrap, ctl_tkek_wrap, ctl_tdsk_wrap;
+ #endif