mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
crypto: ccree - remove struct cc_cipher_handle
The cc_cipher_handle 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
040187a0fa
commit
c23d799755
@ -20,10 +20,6 @@
|
||||
|
||||
#define template_skcipher template_u.skcipher
|
||||
|
||||
struct cc_cipher_handle {
|
||||
struct list_head alg_list;
|
||||
};
|
||||
|
||||
struct cc_user_key_info {
|
||||
u8 *key;
|
||||
dma_addr_t key_dma_addr;
|
||||
@ -1661,36 +1657,24 @@ static struct cc_crypto_alg *cc_create_alg(const struct cc_alg_template *tmpl,
|
||||
int cc_cipher_free(struct cc_drvdata *drvdata)
|
||||
{
|
||||
struct cc_crypto_alg *t_alg, *n;
|
||||
struct cc_cipher_handle *cipher_handle = drvdata->cipher_handle;
|
||||
|
||||
if (cipher_handle) {
|
||||
/* Remove registered algs */
|
||||
list_for_each_entry_safe(t_alg, n, &cipher_handle->alg_list,
|
||||
entry) {
|
||||
list_for_each_entry_safe(t_alg, n, &drvdata->alg_list, entry) {
|
||||
crypto_unregister_skcipher(&t_alg->skcipher_alg);
|
||||
list_del(&t_alg->entry);
|
||||
kfree(t_alg);
|
||||
}
|
||||
kfree(cipher_handle);
|
||||
drvdata->cipher_handle = NULL;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cc_cipher_alloc(struct cc_drvdata *drvdata)
|
||||
{
|
||||
struct cc_cipher_handle *cipher_handle;
|
||||
struct cc_crypto_alg *t_alg;
|
||||
struct device *dev = drvdata_to_dev(drvdata);
|
||||
int rc = -ENOMEM;
|
||||
int alg;
|
||||
|
||||
cipher_handle = kmalloc(sizeof(*cipher_handle), GFP_KERNEL);
|
||||
if (!cipher_handle)
|
||||
return -ENOMEM;
|
||||
|
||||
INIT_LIST_HEAD(&cipher_handle->alg_list);
|
||||
drvdata->cipher_handle = cipher_handle;
|
||||
INIT_LIST_HEAD(&drvdata->alg_list);
|
||||
|
||||
/* Linux crypto */
|
||||
dev_dbg(dev, "Number of algorithms = %zu\n",
|
||||
@ -1722,8 +1706,7 @@ int cc_cipher_alloc(struct cc_drvdata *drvdata)
|
||||
kfree(t_alg);
|
||||
goto fail0;
|
||||
} else {
|
||||
list_add_tail(&t_alg->entry,
|
||||
&cipher_handle->alg_list);
|
||||
list_add_tail(&t_alg->entry, &drvdata->alg_list);
|
||||
dev_dbg(dev, "Registered %s\n",
|
||||
t_alg->skcipher_alg.base.cra_driver_name);
|
||||
}
|
||||
|
@ -141,7 +141,7 @@ struct cc_drvdata {
|
||||
struct platform_device *plat_dev;
|
||||
u32 mlli_sram_addr;
|
||||
struct dma_pool *mlli_buffs_pool;
|
||||
void *cipher_handle;
|
||||
struct list_head alg_list;
|
||||
void *hash_handle;
|
||||
void *aead_handle;
|
||||
void *request_mgr_handle;
|
||||
|
Loading…
Reference in New Issue
Block a user