From 94b686e5026e2612038b8ea5382e22729553738a Mon Sep 17 00:00:00 2001 From: Ruifeng Wang Date: Thu, 23 Jan 2020 11:45:57 +0800 Subject: [PATCH] crypto/armv8: fix clang build 1. Clang requires braces around initialization of subobject. 2. Clang complains implicit conversion of enumeration type. Trapped issue with Clang version 8.0 and CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO was set. Error messages: rte_armv8_pmd.c:144:2: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] NULL ^~~~ { } /usr/lib/llvm-8/lib/clang/8.0.0/include/stddef.h:105:16: note: expanded from macro 'NULL' ^~~~~~~~~~ rte_armv8_pmd.c:429:21: error: implicit conversion from enumeration type 'enum rte_crypto_cipher_operation' to different enumeration type 'enum armv8_crypto_cipher_operation' [-Werror,-Wenum-conversion] cop = sess->cipher.direction; ~ ~~~~~~~~~~~~~^~~~~~~~~ Fixes: 169ca3db550c ("crypto/armv8: add PMD optimized for ARMv8 processors") Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang Reviewed-by: Honnappa Nagarahalli Reviewed-by: Gavin Hu Acked-by: Akhil Goyal --- drivers/crypto/armv8/rte_armv8_pmd.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/crypto/armv8/rte_armv8_pmd.c b/drivers/crypto/armv8/rte_armv8_pmd.c index fd81408968..d2b7ab5e03 100644 --- a/drivers/crypto/armv8/rte_armv8_pmd.c +++ b/drivers/crypto/armv8/rte_armv8_pmd.c @@ -86,12 +86,12 @@ crypto_op_ca_encrypt = { static const crypto_func_tbl_t crypto_op_ca_decrypt = { - NULL + { {NULL} } }; static const crypto_func_tbl_t crypto_op_ac_encrypt = { - NULL + { {NULL} } }; static const crypto_func_tbl_t @@ -377,7 +377,16 @@ armv8_crypto_set_session_chained_parameters(struct armv8_crypto_session *sess, /* Select cipher key */ sess->cipher.key.length = cipher_xform->cipher.key.length; /* Set cipher direction */ - cop = sess->cipher.direction; + switch (sess->cipher.direction) { + case RTE_CRYPTO_CIPHER_OP_ENCRYPT: + cop = ARMV8_CRYPTO_CIPHER_OP_ENCRYPT; + break; + case RTE_CRYPTO_CIPHER_OP_DECRYPT: + cop = ARMV8_CRYPTO_CIPHER_OP_DECRYPT; + break; + default: + return -ENOTSUP; + } /* Set cipher algorithm */ calg = cipher_xform->cipher.algo; -- 2.20.1