diff --git a/package/qca/qca-nss-crypto/Makefile b/package/qca/qca-nss-crypto/Makefile index c0d2dc4bb..a95543aa5 100644 --- a/package/qca/qca-nss-crypto/Makefile +++ b/package/qca/qca-nss-crypto/Makefile @@ -4,10 +4,10 @@ PKG_NAME:=qca-nss-crypto PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2022-12-15 +PKG_SOURCE_DATE:=2024-09-16 PKG_SOURCE_URL:=https://git.codelinaro.org/clo/qsdk/oss/lklm/nss-crypto.git -PKG_SOURCE_VERSION:=3c5a574ce99d7f0b9f892002020f1bf9bfc57a81 -PKG_MIRROR_HASH:=ff487c5574481f548eef7b61129fa7be1d83ae285dcc3356a06be237440d8782 +PKG_SOURCE_VERSION:=60e27b91f9cdb1d6de38337c03444021ae8c1040 +PKG_MIRROR_HASH:=1ba1133bcc3d760a3d77cb6cf49541a293fc08c97a8b1eebebf01ade55606e63 PKG_BUILD_PARALLEL:=1 @@ -16,11 +16,7 @@ include $(INCLUDE_DIR)/package.mk # v1.0 is for Akronite # v2.0 is for Hawkeye/Cypress/Maple -ifneq (, $(findstring $(CONFIG_TARGET_SUBTARGET), "ipq807x" "ipq60xx")) NSS_CRYPTO_DIR:=v2.0 -else -NSS_CRYPTO_DIR:=v1.0 -endif define KernelPackage/qca-nss-crypto SECTION:=kernel @@ -43,6 +39,8 @@ define Build/InstallDev endef EXTRA_CFLAGS+= \ + -Wno-missing-prototypes \ + -Wno-missing-declarations \ -DCONFIG_NSS_DEBUG_LEVEL=4 \ -I$(STAGING_DIR)/usr/include/qca-nss-crypto \ -I$(STAGING_DIR)/usr/include/qca-nss-drv \ diff --git a/package/qca/qca-nss-crypto/patches/0001-nss-crypto-fix-SHA1-header-include.patch b/package/qca/qca-nss-crypto/patches/0001-nss-crypto-fix-SHA1-header-include.patch deleted file mode 100644 index c9849a2e8..000000000 --- a/package/qca/qca-nss-crypto/patches/0001-nss-crypto-fix-SHA1-header-include.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0c6c593783f2d64a429ad38523661a915aa462fc Mon Sep 17 00:00:00 2001 -From: Robert Marko -Date: Sun, 13 Mar 2022 13:44:47 +0100 -Subject: [PATCH 1/3] nss-crypto: fix SHA1 header include - -SHA1 header has been merged to the generic SHA one, -and with that the cryptohash.h was dropped. - -So, fix include in kernels 5.8 and newer. - -Signed-off-by: Robert Marko ---- - v2.0/src/nss_crypto_hlos.h | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/v2.0/src/nss_crypto_hlos.h -+++ b/v2.0/src/nss_crypto_hlos.h -@@ -55,7 +55,9 @@ - #include - #include - #include -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) - #include -+#endif - #include - #include - #include diff --git a/package/qca/qca-nss-crypto/patches/0001-nss-crypto-support-kernel-6.12.patch b/package/qca/qca-nss-crypto/patches/0001-nss-crypto-support-kernel-6.12.patch new file mode 100644 index 000000000..7bde99de3 --- /dev/null +++ b/package/qca/qca-nss-crypto/patches/0001-nss-crypto-support-kernel-6.12.patch @@ -0,0 +1,155 @@ +--- a/v1.0/src/nss_crypto_dtsi.c ++++ b/v1.0/src/nss_crypto_dtsi.c +@@ -346,7 +346,7 @@ static int nss_crypto_probe(struct platf + * nss_crypto_remove() + * remove the crypto engine and deregister everything + */ +-static int nss_crypto_remove(struct platform_device *pdev) ++static void nss_crypto_remove(struct platform_device *pdev) + { + struct nss_crypto_ctrl_eng *e_ctrl; + struct nss_crypto_ctrl *ctrl; +@@ -361,7 +361,6 @@ static int nss_crypto_remove(struct plat + kfree(ctrl->clocks); + } + +- return 0; + }; + + static struct of_device_id nss_crypto_dt_ids[] = { +@@ -375,7 +374,11 @@ MODULE_DEVICE_TABLE(of, nss_crypto_dt_id + */ + static struct platform_driver nss_crypto_drv = { + .probe = nss_crypto_probe, ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) ++ .remove_new = nss_crypto_remove, ++#else + .remove = nss_crypto_remove, ++#endif + .driver = { + .owner = THIS_MODULE, + .name = "nss-crypto", +--- a/v2.0/src/hal/ipq60xx/nss_crypto_eip197.h ++++ b/v2.0/src/hal/ipq60xx/nss_crypto_eip197.h +@@ -19,7 +19,9 @@ + #ifndef __NSS_CRYPTO_EIP197_H + #define __NSS_CRYPTO_EIP197_H + ++#include + #include ++#include + + /* + * Common configuration data for command and result +--- a/v2.0/src/hal/ipq60xx/nss_crypto_hw.c ++++ b/v2.0/src/hal/ipq60xx/nss_crypto_hw.c +@@ -15,8 +15,10 @@ + * PERFORMANCE OF THIS SOFTWARE. + */ + ++#include + #include + #include "nss_crypto_eip197.h" ++#include "nss_crypto_hw.h" + + /* + * nss_crypto_hw_deinit() +--- a/v2.0/src/hal/ipq807x/nss_crypto_eip197.h ++++ b/v2.0/src/hal/ipq807x/nss_crypto_eip197.h +@@ -20,6 +20,8 @@ + #define __NSS_CRYPTO_EIP197_H + + #include ++#include ++#include + + /* + * Common configuration data for command and result +--- a/v2.0/src/hal/ipq807x/nss_crypto_hw.c ++++ b/v2.0/src/hal/ipq807x/nss_crypto_hw.c +@@ -15,8 +15,10 @@ + * PERFORMANCE OF THIS SOFTWARE. + */ + ++#include + #include + #include "nss_crypto_eip197.h" ++#include "nss_crypto_hw.h" + + /* + * nss_crypto_hw_deinit() +@@ -27,7 +29,6 @@ void nss_crypto_hw_deinit(struct platfor + /* + * TODO: Add support for putting HW into reset + */ +- return; + } + + /* +--- a/v2.0/src/nss_crypto_ctrl.c ++++ b/v2.0/src/nss_crypto_ctrl.c +@@ -1575,11 +1575,10 @@ static int nss_crypto_device_probe(struc + * nss_crypto_device_remove() + * remove crypto device and deregister everything + */ +-static int nss_crypto_device_remove(struct platform_device *pdev) ++static void nss_crypto_device_remove(struct platform_device *pdev) + { + nss_crypto_hw_deinit(pdev); + nss_crypto_node_free(platform_get_drvdata(pdev)); +- return 0; + }; + + /* +@@ -1588,7 +1587,11 @@ static int nss_crypto_device_remove(stru + */ + static struct platform_driver nss_crypto_device = { + .probe = nss_crypto_device_probe, ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) ++ .remove_new = nss_crypto_device_remove, ++#else + .remove = nss_crypto_device_remove, ++#endif + .driver = { + .owner = THIS_MODULE, + .name = "nss-crypto-device", +@@ -1656,7 +1659,7 @@ static int nss_crypto_probe(struct platf + * nss_crypto_remove() + * remove the crypto driver + */ +-static int nss_crypto_remove(struct platform_device *pdev) ++static void nss_crypto_remove(struct platform_device *pdev) + { + struct nss_crypto_ctrl *ctrl = platform_get_drvdata(pdev); + +@@ -1670,7 +1673,6 @@ static int nss_crypto_remove(struct plat + * Clear the active state of driver + */ + ctrl->active = false; +- return 0; + } + + /* +@@ -1679,7 +1681,11 @@ static int nss_crypto_remove(struct plat + */ + static struct platform_driver nss_crypto_drv = { + .probe = nss_crypto_probe, ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 11, 0) ++ .remove_new = nss_crypto_remove, ++#else + .remove = nss_crypto_remove, ++#endif + .driver = { + .owner = THIS_MODULE, + .name = "nss-crypto", +--- a/v2.0/tool/nss_crypto_bench.c ++++ b/v2.0/tool/nss_crypto_bench.c +@@ -980,7 +980,7 @@ int __init crypto_bench_init(void) + + ctx->attach = crypto_bench_attach; + ctx->detach = crypto_bench_detach; +- strlcpy(ctx->name, "bench", sizeof(ctx->name)); ++ strscpy(ctx->name, "bench", sizeof(ctx->name)); + ctx->hdr_pool_sz = 1024; + ctx->default_hdr_sz = 512; + ctx->timeout_ticks = 1; diff --git a/package/qca/qca-nss-crypto/patches/0003-nss-crypto-fix-SHA-header-include-in-5.15.patch b/package/qca/qca-nss-crypto/patches/0003-nss-crypto-fix-SHA-header-include-in-5.15.patch deleted file mode 100644 index 61df791fd..000000000 --- a/package/qca/qca-nss-crypto/patches/0003-nss-crypto-fix-SHA-header-include-in-5.15.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 96da3ca01ac172e5d858209b3d3d9aefad04423c Mon Sep 17 00:00:00 2001 -From: Robert Marko -Date: Sun, 13 Mar 2022 13:47:24 +0100 -Subject: [PATCH 3/3] nss-crypto: fix SHA header include in 5.15 - -SHA header was split into SHA-1 and SHA-2 headers in kernel 5.11, so -fix the include for newer kernels. - -Signed-off-by: Robert Marko ---- - v2.0/src/nss_crypto_ctrl.c | 6 ++++++ - v2.0/src/nss_crypto_hlos.h | 4 ++++ - 2 files changed, 10 insertions(+) - ---- a/v2.0/src/nss_crypto_ctrl.c -+++ b/v2.0/src/nss_crypto_ctrl.c -@@ -38,7 +38,13 @@ - #include - #include - #include -+#include -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 11, 0) - #include -+#else -+#include -+#include -+#endif - #include - #include - #include ---- a/v2.0/src/nss_crypto_hlos.h -+++ b/v2.0/src/nss_crypto_hlos.h -@@ -58,7 +58,11 @@ - #if LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0) - #include - #endif -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 11, 0) - #include -+#else -+#include -+#endif - #include - #include - #include