diff options
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.patch | 88 |
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 |