crypto: ccree - remove struct cc_debugfs_ctx
authorGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 11 Feb 2020 18:19:13 +0000 (19:19 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 22 Feb 2020 01:25:45 +0000 (09:25 +0800)
The cc_debugfs_ctx structure contains only a single member, and only one
instance exists.  Simplify the code and reduce memory consumption by
moving this member to struct cc_drvdata.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/ccree/cc_debugfs.c
drivers/crypto/ccree/cc_driver.h

index 35f3a21..c454afc 100644 (file)
@@ -8,10 +8,6 @@
 #include "cc_crypto_ctx.h"
 #include "cc_debugfs.h"
 
-struct cc_debugfs_ctx {
-       struct dentry *dir;
-};
-
 #define CC_DEBUG_REG(_X) {     \
        .name = __stringify(_X),\
        .offset = CC_REG(_X)    \
@@ -67,13 +63,8 @@ void __exit cc_debugfs_global_fini(void)
 int cc_debugfs_init(struct cc_drvdata *drvdata)
 {
        struct device *dev = drvdata_to_dev(drvdata);
-       struct cc_debugfs_ctx *ctx;
        struct debugfs_regset32 *regset, *verset;
 
-       ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL);
-       if (!ctx)
-               return -ENOMEM;
-
        regset = devm_kzalloc(dev, sizeof(*regset), GFP_KERNEL);
        if (!regset)
                return -ENOMEM;
@@ -83,15 +74,16 @@ int cc_debugfs_init(struct cc_drvdata *drvdata)
        regset->base = drvdata->cc_base;
        regset->dev = dev;
 
-       ctx->dir = debugfs_create_dir(drvdata->plat_dev->name, cc_debugfs_dir);
+       drvdata->dir = debugfs_create_dir(drvdata->plat_dev->name,
+                                         cc_debugfs_dir);
 
-       debugfs_create_regset32("regs", 0400, ctx->dir, regset);
-       debugfs_create_bool("coherent", 0400, ctx->dir, &drvdata->coherent);
+       debugfs_create_regset32("regs", 0400, drvdata->dir, regset);
+       debugfs_create_bool("coherent", 0400, drvdata->dir, &drvdata->coherent);
 
        verset = devm_kzalloc(dev, sizeof(*verset), GFP_KERNEL);
        /* Failing here is not important enough to fail the module load */
        if (!verset)
-               goto out;
+               return 0;
 
        if (drvdata->hw_rev <= CC_HW_REV_712) {
                ver_sig_regs[0].offset = drvdata->sig_offset;
@@ -105,16 +97,11 @@ int cc_debugfs_init(struct cc_drvdata *drvdata)
        verset->base = drvdata->cc_base;
        verset->dev = dev;
 
-       debugfs_create_regset32("version", 0400, ctx->dir, verset);
-
-out:
-       drvdata->debugfs = ctx;
+       debugfs_create_regset32("version", 0400, drvdata->dir, verset);
        return 0;
 }
 
 void cc_debugfs_fini(struct cc_drvdata *drvdata)
 {
-       struct cc_debugfs_ctx *ctx = (struct cc_debugfs_ctx *)drvdata->debugfs;
-
-       debugfs_remove_recursive(ctx->dir);
+       debugfs_remove_recursive(drvdata->dir);
 }
index 7e483c2..7360b40 100644 (file)
@@ -147,7 +147,7 @@ struct cc_drvdata {
        void *request_mgr_handle;
        void *fips_handle;
        u32 sram_free_offset;   /* offset to non-allocated area in SRAM */
-       void *debugfs;
+       struct dentry *dir;     /* for debugfs */
        struct clk *clk;
        bool coherent;
        char *hw_rev_name;