From df56b7997890662b9d5c8d913f039972f501c9ff Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Tue, 18 Jul 2006 16:35:03 +0000
Subject: [PATCH] move the cryptoapi kmod to package/kernel

SVN-Revision: 4149
---
 openwrt/include/modules-2.4.mk    | 10 ----------
 openwrt/include/modules-2.6.mk    |  8 --------
 openwrt/package/kernel/Makefile   |  4 ++--
 openwrt/package/kernel/modules.mk | 33 +++++++++++++++++++++++++++++++
 openwrt/target/linux/Config.in    | 10 +---------
 5 files changed, 36 insertions(+), 29 deletions(-)

diff --git a/openwrt/include/modules-2.4.mk b/openwrt/include/modules-2.4.mk
index f8d966f4013..93a89737344 100644
--- a/openwrt/include/modules-2.4.mk
+++ b/openwrt/include/modules-2.4.mk
@@ -122,16 +122,6 @@ $(eval $(call KMOD_template,NBD,nbd,\
 ,CONFIG_BLK_DEV_NBD,,20,nbd))
 
 
-# Crypto
-
-ifneq ($(wildcard $(MODULES_DIR)/kernel/crypto/*.o),)
-CONFIG_CRYPTO:=m
-endif
-$(eval $(call KMOD_template,CRYPTO,crypto,\
-	$(MODULES_DIR)/kernel/crypto/*.o \
-,CONFIG_CRYPTO))
-
-
 # Filesystems
 
 $(eval $(call KMOD_template,FS_CIFS,fs-cifs,\
diff --git a/openwrt/include/modules-2.6.mk b/openwrt/include/modules-2.6.mk
index c98e4ea8a49..6767586437f 100644
--- a/openwrt/include/modules-2.6.mk
+++ b/openwrt/include/modules-2.6.mk
@@ -126,14 +126,6 @@ $(eval $(call KMOD_template,NBD,nbd,\
     $(MODULES_DIR)/kernel/drivers/block/nbd.ko \
 ,CONFIG_BLK_DEV_NBD,,20,nbd))
 
-
-# Crypto
-
-$(eval $(call KMOD_template,CRYPTO,crypto,\
-	$(MODULES_DIR)/kernel/crypto/*.ko \
-))
-
-
 # Filesystems
 
 $(eval $(call KMOD_template,FS_CIFS,fs-cifs,\
diff --git a/openwrt/package/kernel/Makefile b/openwrt/package/kernel/Makefile
index f3a9a287eda..0a26cd6cf19 100644
--- a/openwrt/package/kernel/Makefile
+++ b/openwrt/package/kernel/Makefile
@@ -42,14 +42,14 @@ define ModuleAutoLoad
 		modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$1-$(1)"; \
 	}; \
 	$(3) \
-	[ -n "$$$$$$$$modules" ] && { \
+	if [ -n "$$$$$$$$modules" ]; then \
 		mkdir -p $(2)/etc/modules.d; \
 		echo "#!/bin/sh" >> $(2)/CONTROL/postinst; \
 		echo "[ -z \"\$$$$$$$$IPKG_INSTROOT\" ] || exit" >> $(2)/CONTROL/postinst; \
 		echo ". /etc/functions.sh" >> $(2)/CONTROL/postinst; \
 		echo "load_modules $$$$$$$$modules" >> $(2)/CONTROL/postinst; \
 		chmod 0755 $(2)/CONTROL/postinst; \
-	}
+	fi
 endef
  
 
diff --git a/openwrt/package/kernel/modules.mk b/openwrt/package/kernel/modules.mk
index b777c1177ea..ff979cf8686 100644
--- a/openwrt/package/kernel/modules.mk
+++ b/openwrt/package/kernel/modules.mk
@@ -6,6 +6,38 @@
 #
 # $Id$
 
+
+define KernelPackage/crypto
+TITLE:=CryptoAPI modules
+DESCRIPTION:=CryptoAPI modules
+KCONFIG:= \
+  $(CONFIG_CRYPTO_HMAC) \
+  $(CONFIG_CRYPTO_NULL) \
+  $(CONFIG_CRYPTO_MD4) \
+  $(CONFIG_CRYPTO_MD5) \
+  $(CONFIG_CRYPTO_SHA1) \
+  $(CONFIG_CRYPTO_SHA256) \
+  $(CONFIG_CRYPTO_SHA512) \
+  $(CONFIG_CRYPTO_WP512) \
+  $(CONFIG_CRYPTO_TGR192) \
+  $(CONFIG_CRYPTO_DES) \
+  $(CONFIG_CRYPTO_BLOWFISH) \
+  $(CONFIG_CRYPTO_TWOFISH) \
+  $(CONFIG_CRYPTO_SERPENT) \
+  $(CONFIG_CRYPTO_AES) \
+  $(CONFIG_CRYPTO_CAST5) \
+  $(CONFIG_CRYPTO_CAST6) \
+  $(CONFIG_CRYPTO_TEA) \
+  $(CONFIG_CRYPTO_ARC4) \
+  $(CONFIG_CRYPTO_KHAZAD) \
+  $(CONFIG_CRYPTO_ANUBIS) \
+  $(CONFIG_CRYPTO_DEFLATE) \
+  $(CONFIG_CRYPTO_MICHAEL_MIC) \
+  $(CONFIG_CRYPTO_CRC32C)
+FILES:=$(MODULES_DIR)/kernel/crypto/*.$(LINUX_KMOD_SUFFIX)
+endef
+$(eval $(call KernelPackage,crypto))
+
 define KernelPackage/ide-core
 TITLE:=Kernel support for IDE
 DESCRIPTION:=Kernel modules for IDE support\\\
@@ -31,3 +63,4 @@ AUTOLOAD:=$(call AutoLoad,30,pdc202xx_old)
 endef
 $(eval $(call KernelPackage,ide-pdc202xx))
 
+
diff --git a/openwrt/target/linux/Config.in b/openwrt/target/linux/Config.in
index 65b8592abdc..47d87775de5 100644
--- a/openwrt/target/linux/Config.in
+++ b/openwrt/target/linux/Config.in
@@ -56,7 +56,7 @@ config PACKAGE_KMOD_MPPE
 	tristate
 	default m
 	depends PACKAGE_KMOD_PPP
-	select PACKAGE_KMOD_CRYPTO
+	select PACKAGE_kmod-crypto
 	help
 	  Support for Microsoft PPP Encryption/Compression
 
@@ -310,14 +310,6 @@ config PACKAGE_KMOD_NBD
 
 endmenu
 
-config PACKAGE_KMOD_CRYPTO
-	prompt "CryptoAPI modules"
-	tristate
-	default m
-	select BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
-	help
-	  Kernel modules for cryptographic algorithms
-
 menu "Filesystems support"
 
 config PACKAGE_KMOD_FS_CIFS