apm821xx: make crypto4xx as a standalone module
authorChristian Lamparter <chunkeey@gmail.com>
Sun, 28 May 2023 20:13:52 +0000 (22:13 +0200)
committerChristian Lamparter <chunkeey@gmail.com>
Mon, 29 May 2023 23:58:20 +0000 (01:58 +0200)
Make the crypto4xx crypto accelerator support as a standalone module.
This saves 90kb on a gzipped kernel.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
target/linux/apm821xx/Makefile
target/linux/apm821xx/config-5.15
target/linux/apm821xx/config-6.1
target/linux/apm821xx/modules.mk

index 6dcdf63f2652d4d9f783547e6a0ac90ccd94f6b0..e5e2841fd34afcea8ea071fd42e648f856584c29 100644 (file)
@@ -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))
index 2af8110553fccd9b84304a1cf1797ed5b64f28c4..adcccbe567c26b49d0d855efee870ccd97d74605 100644 (file)
@@ -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
index 2fab71cb5a120001efcaee4f86b1e159b5637775..9e51e94a2f5c1e6fc745f24fcfa8b53e129ae645 100644 (file)
@@ -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
index 98610f9b2e3d55f411c6f514a6689d2bc6705311..b83746115758dd1556e32245197fd08de8ab8cf6 100644 (file)
@@ -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))