crypto: ccree - remove struct cc_debugfs_ctx
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>
This commit is contained in:
parent
f1b19dff53
commit
ec8f3a5519
@ -8,10 +8,6 @@
|
|||||||
#include "cc_crypto_ctx.h"
|
#include "cc_crypto_ctx.h"
|
||||||
#include "cc_debugfs.h"
|
#include "cc_debugfs.h"
|
||||||
|
|
||||||
struct cc_debugfs_ctx {
|
|
||||||
struct dentry *dir;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define CC_DEBUG_REG(_X) { \
|
#define CC_DEBUG_REG(_X) { \
|
||||||
.name = __stringify(_X),\
|
.name = __stringify(_X),\
|
||||||
.offset = CC_REG(_X) \
|
.offset = CC_REG(_X) \
|
||||||
@ -67,13 +63,8 @@ void __exit cc_debugfs_global_fini(void)
|
|||||||
int cc_debugfs_init(struct cc_drvdata *drvdata)
|
int cc_debugfs_init(struct cc_drvdata *drvdata)
|
||||||
{
|
{
|
||||||
struct device *dev = drvdata_to_dev(drvdata);
|
struct device *dev = drvdata_to_dev(drvdata);
|
||||||
struct cc_debugfs_ctx *ctx;
|
|
||||||
struct debugfs_regset32 *regset, *verset;
|
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);
|
regset = devm_kzalloc(dev, sizeof(*regset), GFP_KERNEL);
|
||||||
if (!regset)
|
if (!regset)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
@ -83,15 +74,16 @@ int cc_debugfs_init(struct cc_drvdata *drvdata)
|
|||||||
regset->base = drvdata->cc_base;
|
regset->base = drvdata->cc_base;
|
||||||
regset->dev = dev;
|
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_regset32("regs", 0400, drvdata->dir, regset);
|
||||||
debugfs_create_bool("coherent", 0400, ctx->dir, &drvdata->coherent);
|
debugfs_create_bool("coherent", 0400, drvdata->dir, &drvdata->coherent);
|
||||||
|
|
||||||
verset = devm_kzalloc(dev, sizeof(*verset), GFP_KERNEL);
|
verset = devm_kzalloc(dev, sizeof(*verset), GFP_KERNEL);
|
||||||
/* Failing here is not important enough to fail the module load */
|
/* Failing here is not important enough to fail the module load */
|
||||||
if (!verset)
|
if (!verset)
|
||||||
goto out;
|
return 0;
|
||||||
|
|
||||||
if (drvdata->hw_rev <= CC_HW_REV_712) {
|
if (drvdata->hw_rev <= CC_HW_REV_712) {
|
||||||
ver_sig_regs[0].offset = drvdata->sig_offset;
|
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->base = drvdata->cc_base;
|
||||||
verset->dev = dev;
|
verset->dev = dev;
|
||||||
|
|
||||||
debugfs_create_regset32("version", 0400, ctx->dir, verset);
|
debugfs_create_regset32("version", 0400, drvdata->dir, verset);
|
||||||
|
|
||||||
out:
|
|
||||||
drvdata->debugfs = ctx;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cc_debugfs_fini(struct cc_drvdata *drvdata)
|
void cc_debugfs_fini(struct cc_drvdata *drvdata)
|
||||||
{
|
{
|
||||||
struct cc_debugfs_ctx *ctx = (struct cc_debugfs_ctx *)drvdata->debugfs;
|
debugfs_remove_recursive(drvdata->dir);
|
||||||
|
|
||||||
debugfs_remove_recursive(ctx->dir);
|
|
||||||
}
|
}
|
||||||
|
@ -147,7 +147,7 @@ struct cc_drvdata {
|
|||||||
void *request_mgr_handle;
|
void *request_mgr_handle;
|
||||||
void *fips_handle;
|
void *fips_handle;
|
||||||
u32 sram_free_offset; /* offset to non-allocated area in SRAM */
|
u32 sram_free_offset; /* offset to non-allocated area in SRAM */
|
||||||
void *debugfs;
|
struct dentry *dir; /* for debugfs */
|
||||||
struct clk *clk;
|
struct clk *clk;
|
||||||
bool coherent;
|
bool coherent;
|
||||||
char *hw_rev_name;
|
char *hw_rev_name;
|
||||||
|
Loading…
Reference in New Issue
Block a user