# # Copyright (C) 2006-2011 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # CRYPTO_MENU:=Cryptographic API modules CRYPTO_MODULES = \ ALGAPI2=crypto_algapi \ BLKCIPHER2=crypto_blkcipher CRYPTOMGR_MODULES = \ AEAD2=aead \ MANAGER2=cryptomgr \ crypto_confvar=CONFIG_CRYPTO_$(word 1,$(subst =,$(space),$(1))) crypto_file=$(LINUX_DIR)/crypto/$(word 2,$(subst =,$(space),$(1))).ko crypto_name=$(if $(findstring y,$($(call crypto_confvar,$(1)))),,$(word 2,$(subst =,$(space),$(1)))) define KernelPackage/crypto-core SUBMENU:=$(CRYPTO_MENU) TITLE:=Core CryptoAPI modules KCONFIG:= \ CONFIG_CRYPTO=y \ CONFIG_CRYPTO_HW=y \ CONFIG_CRYPTO_BLKCIPHER \ CONFIG_CRYPTO_ALGAPI \ $(foreach mod,$(CRYPTO_MODULES),$(call crypto_confvar,$(mod))) FILES:=$(foreach mod,$(CRYPTO_MODULES),$(call crypto_file,$(mod))) endef $(eval $(call KernelPackage,crypto-core)) define AddDepends/crypto SUBMENU:=$(CRYPTO_MENU) DEPENDS+=+kmod-crypto-core $(1) endef define KernelPackage/crypto-hash TITLE:=CryptoAPI hash support KCONFIG:=CONFIG_CRYPTO_HASH FILES:=$(LINUX_DIR)/crypto/crypto_hash.ko AUTOLOAD:=$(call AutoLoad,02,crypto_hash,1) $(call AddDepends/crypto) endef $(eval $(call KernelPackage,crypto-hash)) define KernelPackage/crypto-manager TITLE:=CryptoAPI algorithm manager DEPENDS:=+kmod-crypto-hash +kmod-crypto-pcompress KCONFIG:= \ CONFIG_CRYPTO_AEAD \ CONFIG_CRYPTO_MANAGER \ $(foreach mod,$(CRYPTOMGR_MODULES),$(call crypto_confvar,$(mod))) FILES:=$(foreach mod,$(CRYPTOMGR_MODULES),$(call crypto_file,$(mod))) $(call AddDepends/crypto) endef $(eval $(call KernelPackage,crypto-manager)) define KernelPackage/crypto-pcompress TITLE:=CryptoAPI Partial (de)compression operations KCONFIG:= \ CONFIG_CRYPTO_PCOMP=y \ CONFIG_CRYPTO_PCOMP2 FILES:=$(LINUX_DIR)/crypto/pcompress.ko AUTOLOAD:=$(call AutoLoad,09,pcompress) $(call AddDepends/crypto) endef $(eval $(call KernelPackage,crypto-pcompress)) define KernelPackage/crypto-user TITLE:=CryptoAPI userspace interface DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager KCONFIG:= \ CONFIG_CRYPTO_USER_API \ CONFIG_CRYPTO_USER_API_HASH \ CONFIG_CRYPTO_USER_API_SKCIPHER FILES:= \ $(LINUX_DIR)/crypto/af_alg.ko \ $(LINUX_DIR)/crypto/algif_hash.ko \ $(LINUX_DIR)/crypto/algif_skcipher.ko AUTOLOAD:=$(call AutoLoad,09,af_alg algif_hash algif_skcipher) $(call AddDepends/crypto) endef $(eval $(call KernelPackage,crypto-user)) define KernelPackage/crypto-wq TITLE:=CryptoAPI work queue handling KCONFIG:=CONFIG_CRYPTO_WORKQUEUE FILES:=$(LINUX_DIR)/crypto/crypto_wq.ko AUTOLOAD:=$(call AutoLoad,09,crypto_wq) $(call AddDepends/crypto) endef $(eval $(call KernelPackage,crypto-wq)) define KernelPackage/crypto-rng TITLE:=CryptoAPI random number generation KCONFIG:=CONFIG_CRYPTO_RNG2 FILES:= \ $(LINUX_DIR)/crypto/rng.ko \ $(LINUX_DIR)/crypto/krng.ko AUTOLOAD:=$(call AutoLoad,09,rng krng) $(call AddDepends/crypto) endef $(eval $(call KernelPackage,crypto-rng)) define KernelPackage/crypto-iv TITLE:=CryptoAPI initialization vectors DEPENDS:=+kmod-crypto-manager +kmod-crypto-rng +kmod-crypto-wq KCONFIG:= CONFIG_CRYPTO_BLKCIPHER2 FILES:= \ $(LINUX_DIR)/crypto/eseqiv.ko \ $(LINUX_DIR)/crypto/chainiv.ko AUTOLOAD:=$(call AutoLoad,10,eseqiv chainiv) $(call AddDepends/crypto) endef $(eval $(call KernelPackage,crypto-iv)) define KernelPackage/crypto-hw-talitos TITLE:=Freescale integrated security engine (SEC) driver DEPENDS:=+kmod-crypto-aes +kmod-crypto-manager +kmod-crypto-hash +kmod-random-core KCONFIG:= \ CONFIG_CRYPTO_DEV_TALITOS FILES:= \ $(LINUX_DIR)/drivers/crypto/talitos.ko AUTOLOAD:=$(call AutoLoad,09,talitos) $(call AddDepends/crypto) endef $(eval $(call KernelPackage,crypto-hw-talitos)) define KernelPackage/crypto-hw-padlock TITLE:=VIA PadLock ACE with AES/SHA hw crypto module DEPENDS:=+kmod-crypto-aes +kmod-crypto-manager KCONFIG:= \ CONFIG_CRYPTO_DEV_PADLOCK \ CONFIG_CRYPTO_DEV_PADLOCK_AES \ CONFIG_CRYPTO_DEV_PADLOCK_SHA FILES:= \ $(LINUX_DIR)/drivers/crypto/padlock-aes.ko \ $(LINUX_DIR)/drivers/crypto/padlock-sha.ko AUTOLOAD:=$(call AutoLoad,09,padlock-aes padlock-sha) $(call AddDepends/crypto) endef $(eval $(call KernelPackage,crypto-hw-padlock)) define KernelPackage/crypto-hw-geode TITLE:=AMD Geode hardware crypto module DEPENDS:=+kmod-crypto-manager KCONFIG:= \ CONFIG_CRYPTO_DEV_GEODE FILES:=$(LINUX_DIR)/drivers/crypto/geode-aes.ko AUTOLOAD:=$(call AutoLoad,09,geode-aes) $(call AddDepends/crypto) endef $(eval $(call KernelPackage,crypto-hw-geode)) define KernelPackage/crypto-hw-hifn-795x TITLE:=HIFN 795x crypto accelerator DEPENDS:=+kmod-random-core +kmod-crypto-manager KCONFIG:= \ CONFIG_CRYPTO_DEV_HIFN_795X \ CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y FILES:=$(LINUX_DIR)/drivers/crypto/hifn_795x.ko AUTOLOAD:=$(call AutoLoad,09,hifn_795x) $(call AddDepends/crypto,+kmod-crypto-des) endef $(eval $(call KernelPackage,crypto-hw-hifn-795x)) define KernelPackage/crypto-hw-ppc4xx TITLE:=AMCC PPC4xx hardware crypto module DEPENDS:=@TARGET_ppc40x||TARGET_ppc44x KCONFIG:= \ CONFIG_CRYPTO_DEV_PPC4XX FILES:=$(LINUX_DIR)/drivers/crypto/amcc/crypto4xx.ko AUTOLOAD:=$(call AutoLoad,90,crypto4xx) $(call AddDepends/crypto,+kmod-crypto-manager +kmod-crypto-hash) endef define KernelPackage/crypto-hw-ppc4xx/description Kernel support for the AMCC PPC4xx HW crypto engine. endef $(eval $(call KernelPackage,crypto-hw-ppc4xx)) define KernelPackage/crypto-hw-omap TITLE:=TI OMAP hardware crypto modules DEPENDS:=@TARGET_omap KCONFIG:= \ CONFIG_CRYPTO_DEV_OMAP_AES \ CONFIG_CRYPTO_DEV_OMAP_DES \ CONFIG_CRYPTO_DEV_OMAP_SHAM ifneq ($(wildcard $(LINUX_DIR)/drivers/crypto/omap-des.ko),) FILES:= \ $(LINUX_DIR)/drivers/crypto/omap-aes.ko \ $(LINUX_DIR)/drivers/crypto/omap-des.ko \ $(LINUX_DIR)/drivers/crypto/omap-sham.ko AUTOLOAD:=$(call AutoLoad,90,omap-aes omap-des omap-sham) else FILES:= \ $(LINUX_DIR)/drivers/crypto/omap-aes.ko \ $(LINUX_DIR)/drivers/crypto/omap-sham.ko AUTOLOAD:=$(call AutoLoad,90,omap-aes omap-sham) endif $(call AddDepends/crypto,+kmod-crypto-manager +kmod-crypto-hash) endef define KernelPackage/crypto-hw-omap/description Kernel support for the TI OMAP HW crypto engine. endef $(eval $
#
# Copyright (C) 2006-2008 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

WIRELESS_MENU:=Wireless Drivers

define KernelPackage/net-prism54
  SUBMENU:=$(WIRELESS_MENU)
  TITLE:=Intersil Prism54 support
  DEPENDS:=@PCI_SUPPORT +@DRIVER_WEXT_SUPPORT
  KCONFIG:=CONFIG_PRISM54
  FILES:= \
	$(LINUX_DIR)/drivers/net/wireless/prism54/prism54.ko@lt4.5 \
	$(LINUX_DIR)/drivers/net/wireless/intersil/prism54/prism54.ko@ge4.5
  AUTOLOAD:=$(call AutoProbe,prism54)
endef

define KernelPackage/net-prism54/description
 Kernel modules for Intersil Prism54 support
endef

# Prism54 FullMAC firmware (jbnore.free.fr seems to be rather slow, so we use daemonizer.de)
PRISM54_FW:=1.0.4.3.arm

define Download/net-prism54
  FILE:=$(PRISM54_FW)
  URL:=http://daemonizer.de/prism54/prism54-fw/fw-fullmac/
  MD5SUM:=8bd4310971772a486b9784c77f8a6df9
endef

define KernelPackage/net-prism54/install
	$(INSTALL_DIR) $(1)/lib/firmware
	$(INSTALL_DATA) $(DL_DIR)/$(PRISM54_FW) $(1)/lib/firmware/isl3890
endef

$(eval $(call Download,net-prism54))
$(eval $(call KernelPackage,net-prism54))


define KernelPackage/net-rtl8192su
  SUBMENU:=$(WIRELESS_MENU)
  TITLE:=RTL8192SU support (staging)
  DEPENDS:=@USB_SUPPORT +@DRIVER_WEXT_SUPPORT +kmod-usb-core
  KCONFIG:=\
	CONFIG_STAGING=y \
	CONFIG_R8712U
  FILES:=$(LINUX_DIR)/drivers/staging/rtl8712/r8712u.ko
  AUTOLOAD:=$(call AutoProbe,r8712u)
endef

define KernelPackage/net-rtl8192su/description
 Kernel modules for RealTek RTL8712 and RTL81XXSU fullmac support.
endef

# R8712 FullMAC firmware
R8712_FW:=rtl8712u.bin

define Download/net-rtl8192su
  FILE:=$(R8712_FW)

  URL:=http://mirrors.arizona.edu/raspbmc/downloads/bin/lib/wifi/rtlwifi/
  MD5SUM:=8e6396b5844a3e279ae8679555dec3f0
endef

define KernelPackage/net-rtl8192su/install
	$(INSTALL_DIR) $(1)/lib/firmware/rtlwifi
	$(INSTALL_DATA) $(DL_DIR)/$(R8712_FW) $(1)/lib/firmware/rtlwifi/
endef

$(eval $(call Download,net-rtl8192su))
$(eval $(call KernelPackage,net-rtl8192su))