From 55fbcad20a2d9572966ddbb8856d3b01f68be23a Mon Sep 17 00:00:00 2001 From: Christian Lamparter Date: Sun, 28 May 2023 22:13:52 +0200 Subject: [PATCH] apm821xx: make crypto4xx as a standalone module Make the crypto4xx crypto accelerator support as a standalone module. This saves 90kb on a gzipped kernel. Signed-off-by: Christian Lamparter --- target/linux/apm821xx/Makefile | 3 ++- target/linux/apm821xx/config-5.15 | 6 ------ target/linux/apm821xx/config-6.1 | 6 ------ target/linux/apm821xx/modules.mk | 20 ++++++++++++++++++++ 4 files changed, 22 insertions(+), 13 deletions(-) diff --git a/target/linux/apm821xx/Makefile b/target/linux/apm821xx/Makefile index 6dcdf63f26..e5e2841fd3 100644 --- a/target/linux/apm821xx/Makefile +++ b/target/linux/apm821xx/Makefile @@ -21,6 +21,7 @@ include $(INCLUDE_DIR)/target.mk KERNELNAME:=uImage DEFAULT_PACKAGES += \ - kmod-leds-gpio kmod-i2c-core kmod-gpio-button-hotplug uboot-envtools + kmod-leds-gpio kmod-i2c-core kmod-gpio-button-hotplug uboot-envtools \ + kmod-hw-crypto-4xx $(eval $(call BuildTarget)) diff --git a/target/linux/apm821xx/config-5.15 b/target/linux/apm821xx/config-5.15 index 2af8110553..adcccbe567 100644 --- a/target/linux/apm821xx/config-5.15 +++ b/target/linux/apm821xx/config-5.15 @@ -39,15 +39,11 @@ CONFIG_CRC16=y # CONFIG_CRC32_SARWATE is not set CONFIG_CRC32_SLICEBY8=y CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_DEV_PPC4XX=y -CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_JITTERENTROPY=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1 CONFIG_CRYPTO_LZO=y # CONFIG_CRYPTO_MD5_PPC is not set -CONFIG_CRYPTO_RNG=y -CONFIG_CRYPTO_RNG2=y # CONFIG_CRYPTO_SHA1_PPC is not set CONFIG_DATA_SHIFT=12 CONFIG_DMADEVICES=y @@ -96,8 +92,6 @@ CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_PPC4XX=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y diff --git a/target/linux/apm821xx/config-6.1 b/target/linux/apm821xx/config-6.1 index 2fab71cb5a..9e51e94a2f 100644 --- a/target/linux/apm821xx/config-6.1 +++ b/target/linux/apm821xx/config-6.1 @@ -46,8 +46,6 @@ CONFIG_CRC16=y # CONFIG_CRC32_SARWATE is not set CONFIG_CRC32_SLICEBY8=y CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_DEV_PPC4XX=y -CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_JITTERENTROPY=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1 @@ -55,8 +53,6 @@ CONFIG_CRYPTO_LIB_SHA1=y CONFIG_CRYPTO_LIB_UTILS=y CONFIG_CRYPTO_LZO=y # CONFIG_CRYPTO_MD5_PPC is not set -CONFIG_CRYPTO_RNG=y -CONFIG_CRYPTO_RNG2=y # CONFIG_CRYPTO_SHA1_PPC is not set CONFIG_DATA_SHIFT=12 CONFIG_DMADEVICES=y @@ -106,8 +102,6 @@ CONFIG_GPIO_GENERIC_PLATFORM=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y -CONFIG_HW_RANDOM=y -CONFIG_HW_RANDOM_PPC4XX=y CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CHARDEV=y diff --git a/target/linux/apm821xx/modules.mk b/target/linux/apm821xx/modules.mk index 98610f9b2e..b837461157 100644 --- a/target/linux/apm821xx/modules.mk +++ b/target/linux/apm821xx/modules.mk @@ -11,3 +11,23 @@ define KernelPackage/ata-dwc/description endef $(eval $(call KernelPackage,ata-dwc)) + +define KernelPackage/hw-crypto-4xx + TITLE:=Driver AMCC PPC4xx crypto accelerator + KCONFIG:= \ + CONFIG_CRYPTO_HW=y \ + CONFIG_HW_RANDOM=y \ + CONFIG_CRYPTO_DEV_PPC4XX \ + CONFIG_HW_RANDOM_PPC4XX=y + DEPENDS:=+kmod-random-core +kmod-crypto-manager \ + +kmod-crypto-ccm +kmod-crypto-gcm \ + +kmod-crypto-sha1 +kmod-crypto-sha256 +kmod-crypto-sha512 + FILES:=$(LINUX_DIR)/drivers/crypto/amcc/crypto4xx.ko + AUTOLOAD:=$(call AutoLoad,09,sata_dwc_460ex,1) +endef + +define KernelPackage/hw-crypto-4xx/description + Platform support for the on-chip crypto acceleration. +endef + +$(eval $(call KernelPackage,hw-crypto-4xx)) -- 2.30.2