diff options
author | Geert Uytterhoeven <geert+renesas@glider.be> | 2020-02-11 19:19:12 +0100 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2020-02-22 02:25:44 +0100 |
commit | f1b19dff53cfc43b5171f0c74fe56e0724ff7b01 (patch) | |
tree | 468f2f501a26e99fb46c4b64a713fe840389ef24 /drivers/crypto/ccree | |
parent | crypto: ccree - make cc_pm_{suspend,resume}() static (diff) | |
download | linux-f1b19dff53cfc43b5171f0c74fe56e0724ff7b01.tar.xz linux-f1b19dff53cfc43b5171f0c74fe56e0724ff7b01.zip |
crypto: ccree - remove struct cc_sram_ctx
The cc_sram_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>
Diffstat (limited to 'drivers/crypto/ccree')
-rw-r--r-- | drivers/crypto/ccree/cc_driver.h | 2 | ||||
-rw-r--r-- | drivers/crypto/ccree/cc_sram_mgr.c | 27 |
2 files changed, 6 insertions, 23 deletions
diff --git a/drivers/crypto/ccree/cc_driver.h b/drivers/crypto/ccree/cc_driver.h index 9e94a29d84ae..7e483c228582 100644 --- a/drivers/crypto/ccree/cc_driver.h +++ b/drivers/crypto/ccree/cc_driver.h @@ -146,7 +146,7 @@ struct cc_drvdata { void *aead_handle; void *request_mgr_handle; void *fips_handle; - void *sram_mgr_handle; + u32 sram_free_offset; /* offset to non-allocated area in SRAM */ void *debugfs; struct clk *clk; bool coherent; diff --git a/drivers/crypto/ccree/cc_sram_mgr.c b/drivers/crypto/ccree/cc_sram_mgr.c index d46aad7c8140..38f36cbc05b3 100644 --- a/drivers/crypto/ccree/cc_sram_mgr.c +++ b/drivers/crypto/ccree/cc_sram_mgr.c @@ -5,14 +5,6 @@ #include "cc_sram_mgr.h" /** - * struct cc_sram_ctx -Internal RAM context manager - * @sram_free_offset: the offset to the non-allocated area - */ -struct cc_sram_ctx { - u32 sram_free_offset; -}; - -/** * cc_sram_mgr_init() - Initializes SRAM pool. * The pool starts right at the beginning of SRAM. * Returns zero for success, negative value otherwise. @@ -21,7 +13,6 @@ struct cc_sram_ctx { */ int cc_sram_mgr_init(struct cc_drvdata *drvdata) { - struct cc_sram_ctx *ctx; u32 start = 0; struct device *dev = drvdata_to_dev(drvdata); @@ -34,14 +25,7 @@ int cc_sram_mgr_init(struct cc_drvdata *drvdata) } } - /* Allocate "this" context */ - ctx = devm_kzalloc(dev, sizeof(*ctx), GFP_KERNEL); - if (!ctx) - return -ENOMEM; - - ctx->sram_free_offset = start; - drvdata->sram_mgr_handle = ctx; - + drvdata->sram_free_offset = start; return 0; } @@ -53,7 +37,6 @@ int cc_sram_mgr_init(struct cc_drvdata *drvdata) */ u32 cc_sram_alloc(struct cc_drvdata *drvdata, u32 size) { - struct cc_sram_ctx *smgr_ctx = drvdata->sram_mgr_handle; struct device *dev = drvdata_to_dev(drvdata); u32 p; @@ -62,14 +45,14 @@ u32 cc_sram_alloc(struct cc_drvdata *drvdata, u32 size) size); return NULL_SRAM_ADDR; } - if (size > (CC_CC_SRAM_SIZE - smgr_ctx->sram_free_offset)) { + if (size > (CC_CC_SRAM_SIZE - drvdata->sram_free_offset)) { dev_err(dev, "Not enough space to allocate %u B (at offset %u)\n", - size, smgr_ctx->sram_free_offset); + size, drvdata->sram_free_offset); return NULL_SRAM_ADDR; } - p = smgr_ctx->sram_free_offset; - smgr_ctx->sram_free_offset += size; + p = drvdata->sram_free_offset; + drvdata->sram_free_offset += size; dev_dbg(dev, "Allocated %u B @ %u\n", size, p); return p; } |