crypto: ccree - remove struct cc_sram_ctx
authorGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 11 Feb 2020 18:19:12 +0000 (19:19 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 22 Feb 2020 01:25:44 +0000 (09:25 +0800)
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>
drivers/crypto/ccree/cc_driver.h
drivers/crypto/ccree/cc_sram_mgr.c

index 9e94a29..7e483c2 100644 (file)
@@ -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;
index d46aad7..38f36cb 100644 (file)
@@ -4,14 +4,6 @@
 #include "cc_driver.h"
 #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.
@@ -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;
 }