From 2a6e1c50db433a3a45662eec13a12120e6aef974 Mon Sep 17 00:00:00 2001 From: Jordan Crouse Date: Tue, 14 Jan 2020 14:45:49 -0700 Subject: [PATCH 1/4] crypto: msm: Fix incorrect boolean logic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix the following warning from gcc 7.4.1 with -Werror enabled: drivers/crypto/msm/qce50.c:4668:28: error: ‘~’ on a boolean expression [-Werror=bool-operation] pce_dev->cadence_flag = ~pce_dev->cadence_flag; drivers/crypto/msm/qce50.c:4668:28: note: did you mean to use logical not?. Fixes: 377c69bf3e72 ("crypto: msm: Add QTI crypto drivers") Change-Id: Ic0dedbad73c49d059d68d9412009b74583d33154 Signed-off-by: Jordan Crouse --- drivers/crypto/msm/qce50.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/crypto/msm/qce50.c b/drivers/crypto/msm/qce50.c index 3540326a0c1e..761bc1f8da20 100644 --- a/drivers/crypto/msm/qce50.c +++ b/drivers/crypto/msm/qce50.c @@ -4665,7 +4665,7 @@ again: pce_dev->intr_cadence = 0; atomic_set(&pce_dev->bunch_cmd_seq, 0); atomic_set(&pce_dev->last_intr_seq, 0); - pce_dev->cadence_flag = ~pce_dev->cadence_flag; + pce_dev->cadence_flag = !pce_dev->cadence_flag; } } From ddaf16c9fb95a1bb14f03f28d53ee8911e492192 Mon Sep 17 00:00:00 2001 From: Jordan Crouse Date: Tue, 14 Jan 2020 14:48:03 -0700 Subject: [PATCH 2/4] crypto: msm: Fix compile errors Fix an out of order definition of MODULE_DEVICE_TABLE, add missing brackets to fix a suspect indentation warning and mark an implcit switch fall through. Fixes: 377c69bf3e72 ("crypto: msm: Add QTI crypto drivers") Change-Id: Ic0dedbada33fd2e5c692e5f0d64fd0e7b7afb5f1 Signed-off-by: Jordan Crouse --- drivers/crypto/msm/qcedev.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/crypto/msm/qcedev.c b/drivers/crypto/msm/qcedev.c index 99ba34c6331e..4b0cd0d6023f 100644 --- a/drivers/crypto/msm/qcedev.c +++ b/drivers/crypto/msm/qcedev.c @@ -57,14 +57,14 @@ static dev_t qcedev_device_no; static struct class *driver_class; static struct device *class_dev; -MODULE_DEVICE_TABLE(of, qcedev_match); - static const struct of_device_id qcedev_match[] = { { .compatible = "qcom,qcedev"}, { .compatible = "qcom,qcedev,context-bank"}, {} }; +MODULE_DEVICE_TABLE(of, qcedev_match); + static int qcedev_control_clocks(struct qcedev_control *podev, bool enable) { unsigned int control_flag; @@ -1760,6 +1760,7 @@ static inline long qcedev_ioctl(struct file *file, err = -ENOTTY; goto exit_free_qcedev_areq; } + /* Fall-through */ case QCEDEV_IOCTL_SHA_UPDATE_REQ: { struct scatterlist sg_src; @@ -1810,10 +1811,11 @@ static inline long qcedev_ioctl(struct file *file, handle->sha_ctxt.diglen); mutex_unlock(&hash_access_lock); if (copy_to_user((void __user *)arg, &qcedev_areq->sha_op_req, - sizeof(struct qcedev_sha_op_req))) + sizeof(struct qcedev_sha_op_req))) { err = -EFAULT; goto exit_free_qcedev_areq; } + } break; case QCEDEV_IOCTL_SHA_FINAL_REQ: @@ -1902,10 +1904,11 @@ static inline long qcedev_ioctl(struct file *file, handle->sha_ctxt.diglen); mutex_unlock(&hash_access_lock); if (copy_to_user((void __user *)arg, &qcedev_areq->sha_op_req, - sizeof(struct qcedev_sha_op_req))) + sizeof(struct qcedev_sha_op_req))) { err = -EFAULT; goto exit_free_qcedev_areq; } + } break; case QCEDEV_IOCTL_MAP_BUF_REQ: From a3b509cd7ef01aceca5774d1f48b3b64cf692062 Mon Sep 17 00:00:00 2001 From: Jordan Crouse Date: Wed, 15 Jan 2020 08:21:57 -0700 Subject: [PATCH 3/4] crypto: msm: Build qcedev and qcedev-smmu together qcedev.c and qcedev_smmu.c are clearly not expected to be compiled as separate modules so bundle them together as one. Change-Id: Ic0dedbad96baebac00448edf4cf440d1e0edd41c Signed-off-by: Jordan Crouse --- drivers/crypto/msm/Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/msm/Makefile b/drivers/crypto/msm/Makefile index 665b150a5ef0..d67eb160b48a 100644 --- a/drivers/crypto/msm/Makefile +++ b/drivers/crypto/msm/Makefile @@ -1,5 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only obj-$(CONFIG_CRYPTO_DEV_QCOM_MSM_QCE) += qce50.o -obj-$(CONFIG_CRYPTO_DEV_QCEDEV) += qcedev.o -obj-$(CONFIG_CRYPTO_DEV_QCEDEV) += qcedev_smmu.o + +obj-$(CONFIG_CRYPTO_DEV_QCEDEV) += qcedev-mod.o +qcedev-mod-y = qcedev.o qcedev_smmu.o + obj-$(CONFIG_CRYPTO_DEV_QCRYPTO) += qcrypto.o From feba5ac0b5af7331c02c81c521f2b39750e6614f Mon Sep 17 00:00:00 2001 From: Jordan Crouse Date: Wed, 15 Jan 2020 08:44:14 -0700 Subject: [PATCH 4/4] crypto: msm: Rename qcrypto module There is already a qcrypto module defined in drivers/crypto/qce so rename this one to qcrypto-msm to avoid an error while building with 'allmodconfig'. Change-Id: Ic0dedbadb33e28eccd952c6f9c01c8b8208ad2ec Signed-off-by: Jordan Crouse --- drivers/crypto/msm/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/msm/Makefile b/drivers/crypto/msm/Makefile index d67eb160b48a..a3fb58f3fcfb 100644 --- a/drivers/crypto/msm/Makefile +++ b/drivers/crypto/msm/Makefile @@ -4,4 +4,5 @@ obj-$(CONFIG_CRYPTO_DEV_QCOM_MSM_QCE) += qce50.o obj-$(CONFIG_CRYPTO_DEV_QCEDEV) += qcedev-mod.o qcedev-mod-y = qcedev.o qcedev_smmu.o -obj-$(CONFIG_CRYPTO_DEV_QCRYPTO) += qcrypto.o +obj-$(CONFIG_CRYPTO_DEV_QCRYPTO) += qcrypto-msm.o +qcrypto-msm-y = qcrypto.o