summaryrefslogtreecommitdiff
path: root/drivers/crypto
diff options
context:
space:
mode:
authorKai Ye <yekai13@huawei.com>2021-06-11 12:06:45 +0300
committerHerbert Xu <herbert@gondor.apana.org.au>2021-06-17 10:07:31 +0300
commit362c50bad3a792969f8142372a0813aadee89a61 (patch)
tree1d5a47b09cb2679f3099849e880394f6ed2dab33 /drivers/crypto
parentcc0c40c613d2c7a00f3bce4770a925dc56672f01 (diff)
downloadlinux-362c50bad3a792969f8142372a0813aadee89a61.tar.xz
crypto: hisilicon/qm - merges the work initialization process into a single function
Merges the work initialization process into a single function from qm initialization. Signed-off-by: Kai Ye <yekai13@huawei.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/hisilicon/qm.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/crypto/hisilicon/qm.c b/drivers/crypto/hisilicon/qm.c
index 4350b6796821..754ddb5dec21 100644
--- a/drivers/crypto/hisilicon/qm.c
+++ b/drivers/crypto/hisilicon/qm.c
@@ -5317,6 +5317,16 @@ err_disable_pcidev:
return ret;
}
+static void hisi_qm_init_work(struct hisi_qm *qm)
+{
+ INIT_WORK(&qm->work, qm_work_process);
+ if (qm->fun_type == QM_HW_PF)
+ INIT_WORK(&qm->rst_work, hisi_qm_controller_reset);
+
+ if (qm->ver > QM_HW_V2)
+ INIT_WORK(&qm->cmd_process, qm_cmd_process);
+}
+
static int hisi_qp_alloc_memory(struct hisi_qm *qm)
{
struct device *dev = &qm->pdev->dev;
@@ -5432,13 +5442,7 @@ int hisi_qm_init(struct hisi_qm *qm)
if (ret)
goto err_alloc_uacce;
- INIT_WORK(&qm->work, qm_work_process);
- if (qm->fun_type == QM_HW_PF)
- INIT_WORK(&qm->rst_work, hisi_qm_controller_reset);
-
- if (qm->ver >= QM_HW_V3)
- INIT_WORK(&qm->cmd_process, qm_cmd_process);
-
+ hisi_qm_init_work(qm);
qm_cmd_init(qm);
atomic_set(&qm->status.flags, QM_INIT);