kernel/modules: fix crypto API RNG for >=4.2
[librecmc/librecmc.git] / package / kernel / linux / modules / crypto.mk
1 #
2 # Copyright (C) 2006-2011 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 CRYPTO_MENU:=Cryptographic API modules
9
10 CRYPTO_MODULES = \
11         ALGAPI2=crypto_algapi \
12         BLKCIPHER2=crypto_blkcipher
13
14 crypto_confvar=CONFIG_CRYPTO_$(word 1,$(subst =,$(space),$(1)))
15 crypto_file=$(LINUX_DIR)/crypto/$(word 2,$(subst =,$(space),$(1))).ko
16 crypto_name=$(if $(findstring y,$($(call crypto_confvar,$(1)))),,$(word 2,$(subst =,$(space),$(1))))
17
18 define AddDepends/crypto
19   SUBMENU:=$(CRYPTO_MENU)
20   DEPENDS+= $(1)
21 endef
22
23 define KernelPackage/crypto-aead
24   TITLE:=CryptoAPI AEAD support
25   KCONFIG:= \
26         CONFIG_CRYPTO_AEAD \
27         CONFIG_CRYPTO_AEAD2
28   FILES:=$(LINUX_DIR)/crypto/aead.ko
29   AUTOLOAD:=$(call AutoLoad,09,aead,1)
30   $(call AddDepends/crypto, +LINUX_4_4:kmod-crypto-null)
31 endef
32
33 $(eval $(call KernelPackage,crypto-aead))
34
35
36 define KernelPackage/crypto-hash
37   TITLE:=CryptoAPI hash support
38   KCONFIG:=CONFIG_CRYPTO_HASH
39   FILES:=$(LINUX_DIR)/crypto/crypto_hash.ko
40   AUTOLOAD:=$(call AutoLoad,02,crypto_hash,1)
41   $(call AddDepends/crypto)
42 endef
43
44 $(eval $(call KernelPackage,crypto-hash))
45
46
47 define KernelPackage/crypto-manager
48   TITLE:=CryptoAPI algorithm manager
49   DEPENDS:=+kmod-crypto-aead +kmod-crypto-hash +kmod-crypto-pcompress
50   KCONFIG:= \
51         CONFIG_CRYPTO_MANAGER \
52         CONFIG_CRYPTO_MANAGER2
53   FILES:=$(LINUX_DIR)/crypto/cryptomgr.ko
54   AUTOLOAD:=$(call AutoLoad,09,cryptomgr,1)
55   $(call AddDepends/crypto)
56 endef
57
58 $(eval $(call KernelPackage,crypto-manager))
59
60
61 define KernelPackage/crypto-pcompress
62   TITLE:=CryptoAPI Partial (de)compression operations
63   KCONFIG:= \
64         CONFIG_CRYPTO_PCOMP=y \
65         CONFIG_CRYPTO_PCOMP2
66   FILES:=$(LINUX_DIR)/crypto/pcompress.ko
67   AUTOLOAD:=$(call AutoLoad,09,pcompress)
68   $(call AddDepends/crypto)
69 endef
70
71 $(eval $(call KernelPackage,crypto-pcompress))
72
73
74 define KernelPackage/crypto-user
75   TITLE:=CryptoAPI userspace interface
76   DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager
77   KCONFIG:= \
78         CONFIG_CRYPTO_USER_API \
79         CONFIG_CRYPTO_USER_API_HASH \
80         CONFIG_CRYPTO_USER_API_SKCIPHER
81   FILES:= \
82         $(LINUX_DIR)/crypto/af_alg.ko \
83         $(LINUX_DIR)/crypto/algif_hash.ko \
84         $(LINUX_DIR)/crypto/algif_skcipher.ko
85   AUTOLOAD:=$(call AutoLoad,09,af_alg algif_hash algif_skcipher)
86   $(call AddDepends/crypto)
87 endef
88
89 $(eval $(call KernelPackage,crypto-user))
90
91
92 define KernelPackage/crypto-wq
93   TITLE:=CryptoAPI work queue handling
94   KCONFIG:=CONFIG_CRYPTO_WORKQUEUE
95   FILES:=$(LINUX_DIR)/crypto/crypto_wq.ko
96   AUTOLOAD:=$(call AutoLoad,09,crypto_wq)
97   $(call AddDepends/crypto)
98 endef
99 $(eval $(call KernelPackage,crypto-wq))
100
101 define KernelPackage/crypto-rng
102   TITLE:=CryptoAPI random number generation
103   KCONFIG:= \
104         CONFIG_CRYPTO_DRBG \
105         CONFIG_CRYPTO_JITTERENTROPY \
106         CONFIG_CRYPTO_RNG2
107   FILES:= \
108         $(LINUX_DIR)/crypto/drbg.ko@ge4.2 \
109         $(LINUX_DIR)/crypto/jitterentropy_rng.ko@ge4.2 \
110         $(LINUX_DIR)/crypto/krng.ko@lt4.2 \
111         $(LINUX_DIR)/crypto/rng.ko
112   AUTOLOAD:=$(call AutoLoad,09,drbg@ge4.2 jitterentropy_rng@ge4.2 krng@lt4.2 rng)
113   $(call AddDepends/crypto)
114 endef
115
116 $(eval $(call KernelPackage,crypto-rng))
117
118
119 define KernelPackage/crypto-iv
120   TITLE:=CryptoAPI initialization vectors
121   DEPENDS:=+kmod-crypto-manager +kmod-crypto-rng +kmod-crypto-wq
122   KCONFIG:= CONFIG_CRYPTO_BLKCIPHER2
123   FILES:= \
124         $(LINUX_DIR)/crypto/eseqiv.ko \
125         $(LINUX_DIR)/crypto/chainiv.ko
126   AUTOLOAD:=$(call AutoLoad,10,eseqiv chainiv)
127   $(call AddDepends/crypto)
128 endef
129
130 $(eval $(call KernelPackage,crypto-iv))
131
132 define KernelPackage/crypto-seqiv
133   TITLE:=CryptoAPI Sequence Number IV Generator
134   DEPENDS:=+kmod-crypto-aead +kmod-crypto-rng
135   KCONFIG:=CONFIG_CRYPTO_SEQIV
136   FILES:=$(LINUX_DIR)/crypto/seqiv.ko
137   AUTOLOAD:=$(call AutoLoad,09,seqiv)
138   $(call AddDepends/crypto)
139 endef
140
141 $(eval $(call KernelPackage,crypto-seqiv))
142
143
144 define KernelPackage/crypto-hw-talitos
145   TITLE:=Freescale integrated security engine (SEC) driver
146   DEPENDS:=+kmod-crypto-manager +kmod-crypto-hash +kmod-random-core +kmod-crypto-authenc
147   KCONFIG:= \
148         CONFIG_CRYPTO_HW=y \
149         CONFIG_CRYPTO_DEV_TALITOS
150   FILES:= \
151         $(LINUX_DIR)/drivers/crypto/talitos.ko
152   AUTOLOAD:=$(call AutoLoad,09,talitos)
153   $(call AddDepends/crypto)
154 endef
155
156 $(eval $(call KernelPackage,crypto-hw-talitos))
157
158
159 define KernelPackage/crypto-hw-padlock
160   TITLE:=VIA PadLock ACE with AES/SHA hw crypto module
161   DEPENDS:=+kmod-crypto-manager
162   KCONFIG:= \
163         CONFIG_CRYPTO_HW=y \
164         CONFIG_CRYPTO_DEV_PADLOCK \
165         CONFIG_CRYPTO_DEV_PADLOCK_AES \
166         CONFIG_CRYPTO_DEV_PADLOCK_SHA
167   FILES:= \
168         $(LINUX_DIR)/drivers/crypto/padlock-aes.ko \
169         $(LINUX_DIR)/drivers/crypto/padlock-sha.ko
170   AUTOLOAD:=$(call AutoLoad,09,padlock-aes padlock-sha)
171   $(call AddDepends/crypto)
172 endef
173
174 $(eval $(call KernelPackage,crypto-hw-padlock))
175
176
177 define KernelPackage/crypto-hw-geode
178   TITLE:=AMD Geode hardware crypto module
179   DEPENDS:=+kmod-crypto-manager
180   KCONFIG:= \
181         CONFIG_CRYPTO_HW=y \
182         CONFIG_CRYPTO_DEV_GEODE
183   FILES:=$(LINUX_DIR)/drivers/crypto/geode-aes.ko
184   AUTOLOAD:=$(call AutoLoad,09,geode-aes)
185   $(call AddDepends/crypto)
186 endef
187
188 $(eval $(call KernelPackage,crypto-hw-geode))
189
190
191 define KernelPackage/crypto-hw-hifn-795x
192   TITLE:=HIFN 795x crypto accelerator
193   DEPENDS:=+kmod-random-core +kmod-crypto-manager
194   KCONFIG:= \
195         CONFIG_CRYPTO_HW=y \
196         CONFIG_CRYPTO_DEV_HIFN_795X \
197         CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y
198   FILES:=$(LINUX_DIR)/drivers/crypto/hifn_795x.ko
199   AUTOLOAD:=$(call AutoLoad,09,hifn_795x)
200   $(call AddDepends/crypto,+kmod-crypto-des)
201 endef
202
203 $(eval $(call KernelPackage,crypto-hw-hifn-795x))
204
205
206 define KernelPackage/crypto-hw-ppc4xx
207   TITLE:=AMCC PPC4xx hardware crypto module
208   DEPENDS:=@TARGET_ppc40x||TARGET_ppc44x
209   KCONFIG:= \
210         CONFIG_CRYPTO_HW=y \
211         CONFIG_CRYPTO_DEV_PPC4XX
212   FILES:=$(LINUX_DIR)/drivers/crypto/amcc/crypto4xx.ko
213   AUTOLOAD:=$(call AutoLoad,90,crypto4xx)
214   $(call AddDepends/crypto,+kmod-crypto-manager +kmod-crypto-hash)
215 endef
216
217 define KernelPackage/crypto-hw-ppc4xx/description
218   Kernel support for the AMCC PPC4xx HW crypto engine.
219 endef
220
221 $(eval $(call KernelPackage,crypto-hw-ppc4xx))
222
223
224 define KernelPackage/crypto-hw-omap
225   TITLE:=TI OMAP hardware crypto modules
226   DEPENDS:=@TARGET_omap
227   KCONFIG:= \
228         CONFIG_CRYPTO_HW=y \
229         CONFIG_CRYPTO_DEV_OMAP_AES \
230         CONFIG_CRYPTO_DEV_OMAP_DES \
231         CONFIG_CRYPTO_DEV_OMAP_SHAM
232 ifneq ($(wildcard $(LINUX_DIR)/drivers/crypto/omap-des.ko),)
233   FILES:= \
234         $(LINUX_DIR)/drivers/crypto/omap-aes.ko \
235         $(LINUX_DIR)/drivers/crypto/omap-des.ko \
236         $(LINUX_DIR)/drivers/crypto/omap-sham.ko
237   AUTOLOAD:=$(call AutoLoad,90,omap-aes omap-des omap-sham)
238 else
239   FILES:= \
240         $(LINUX_DIR)/drivers/crypto/omap-aes.ko \
241         $(LINUX_DIR)/drivers/crypto/omap-sham.ko
242   AUTOLOAD:=$(call AutoLoad,90,omap-aes omap-sham)
243 endif
244   $(call AddDepends/crypto,+kmod-crypto-manager +kmod-crypto-hash)
245 endef
246
247 define KernelPackage/crypto-hw-omap/description
248   Kernel support for the TI OMAP HW crypto engine.
249 endef
250
251 $(eval $(call KernelPackage,crypto-hw-omap))
252
253
254 define KernelPackage/crypto-authenc
255   TITLE:=Combined mode wrapper for IPsec
256   DEPENDS:=+kmod-crypto-manager +LINUX_4_4:kmod-crypto-null
257   KCONFIG:=CONFIG_CRYPTO_AUTHENC
258   FILES:=$(LINUX_DIR)/crypto/authenc.ko
259   AUTOLOAD:=$(call AutoLoad,09,authenc)
260   $(call AddDepends/crypto)
261 endef
262
263 $(eval $(call KernelPackage,crypto-authenc))
264
265 define KernelPackage/crypto-cbc
266   TITLE:=Cipher Block Chaining CryptoAPI module
267   DEPENDS:=+kmod-crypto-manager
268   KCONFIG:=CONFIG_CRYPTO_CBC
269   FILES:=$(LINUX_DIR)/crypto/cbc.ko
270   AUTOLOAD:=$(call AutoLoad,09,cbc)
271   $(call AddDepends/crypto)
272 endef
273
274 $(eval $(call KernelPackage,crypto-cbc))
275
276 define KernelPackage/crypto-ctr
277   TITLE:=Counter Mode CryptoAPI module
278   DEPENDS:=+kmod-crypto-manager +kmod-crypto-seqiv +kmod-crypto-iv
279   KCONFIG:=CONFIG_CRYPTO_CTR
280   FILES:=$(LINUX_DIR)/crypto/ctr.ko
281   AUTOLOAD:=$(call AutoLoad,09,ctr)
282   $(call AddDepends/crypto)
283 endef
284
285 $(eval $(call KernelPackage,crypto-ctr))
286
287 define KernelPackage/crypto-ccm
288  TITLE:=Support for Counter with CBC MAC (CCM)
289  DEPENDS:=+kmod-crypto-ctr +kmod-crypto-aead
290  KCONFIG:=CONFIG_CRYPTO_CCM
291  FILES:=$(LINUX_DIR)/crypto/ccm.ko
292  AUTOLOAD:=$(call AutoLoad,09,ccm)
293  $(call AddDepends/crypto)
294 endef
295
296 $(eval $(call KernelPackage,crypto-ccm))
297
298 define KernelPackage/crypto-pcbc
299   TITLE:=Propagating Cipher Block Chaining CryptoAPI module
300   DEPENDS:=+kmod-crypto-manager
301   KCONFIG:=CONFIG_CRYPTO_PCBC
302   FILES:=$(LINUX_DIR)/crypto/pcbc.ko
303   AUTOLOAD:=$(call AutoLoad,09,pcbc)
304   $(call AddDepends/crypto)
305 endef
306
307 $(eval $(call KernelPackage,crypto-pcbc))
308
309 define KernelPackage/crypto-crc32c
310   TITLE:=CRC32c CRC module
311   DEPENDS:=+kmod-crypto-hash
312   KCONFIG:=CONFIG_CRYPTO_CRC32C
313   FILES:=$(LINUX_DIR)/crypto/crc32c_generic.ko
314   AUTOLOAD:=$(call AutoLoad,04,crc32c_generic,1)
315   $(call AddDepends/crypto)
316 endef
317
318 $(eval $(call KernelPackage,crypto-crc32c))
319
320
321 define KernelPackage/crypto-des
322   TITLE:=DES/3DES cipher CryptoAPI module
323   KCONFIG:=CONFIG_CRYPTO_DES
324   FILES:=$(LINUX_DIR)/crypto/des_generic.ko
325   AUTOLOAD:=$(call AutoLoad,09,des_generic)
326   $(call AddDepends/crypto)
327 endef
328
329 $(eval $(call KernelPackage,crypto-des))
330
331
332 define KernelPackage/crypto-deflate
333   TITLE:=Deflate compression CryptoAPI module
334   DEPENDS:=+kmod-lib-zlib
335   KCONFIG:=CONFIG_CRYPTO_DEFLATE
336   FILES:=$(LINUX_DIR)/crypto/deflate.ko
337   AUTOLOAD:=$(call AutoLoad,09,deflate)
338   $(call AddDepends/crypto)
339 endef
340
341 $(eval $(call KernelPackage,crypto-deflate))
342
343
344 define KernelPackage/crypto-fcrypt
345   TITLE:=FCRYPT cipher CryptoAPI module
346   KCONFIG:=CONFIG_CRYPTO_FCRYPT
347   FILES:=$(LINUX_DIR)/crypto/fcrypt.ko
348   AUTOLOAD:=$(call AutoLoad,09,fcrypt)
349   $(call AddDepends/crypto)
350 endef
351
352 $(eval $(call KernelPackage,crypto-fcrypt))
353
354 define KernelPackage/crypto-ecb
355   TITLE:=Electronic CodeBook CryptoAPI module
356   DEPENDS:=+kmod-crypto-manager
357   KCONFIG:=CONFIG_CRYPTO_ECB
358   FILES:=$(LINUX_DIR)/crypto/ecb.ko
359   AUTOLOAD:=$(call AutoLoad,09,ecb)
360   $(call AddDepends/crypto)
361 endef
362
363 $(eval $(call KernelPackage,crypto-ecb))
364
365
366 define KernelPackage/crypto-hmac
367   TITLE:=HMAC digest CryptoAPI module
368   DEPENDS:=+kmod-crypto-hash +kmod-crypto-manager
369   KCONFIG:=CONFIG_CRYPTO_HMAC
370   FILES:=$(LINUX_DIR)/crypto/hmac.ko
371   AUTOLOAD:=$(call AutoLoad,09,hmac)
372   $(call AddDepends/crypto)
373 endef
374
375 $(eval $(call KernelPackage,crypto-hmac))
376
377
378 define KernelPackage/crypto-cmac
379   TITLE:=Support for Cipher-based Message Authentication Code (CMAC)
380   DEPENDS:=+kmod-crypto-hash
381   KCONFIG:=CONFIG_CRYPTO_CMAC
382   FILES:=$(LINUX_DIR)/crypto/cmac.ko
383   AUTOLOAD:=$(call AutoLoad,09,cmac)
384   $(call AddDepends/crypto)
385 endef
386
387 $(eval $(call KernelPackage,crypto-cmac))
388
389
390 define KernelPackage/crypto-gcm
391   TITLE:=GCM/GMAC CryptoAPI module
392   DEPENDS:=+kmod-crypto-ctr +kmod-crypto-ghash +kmod-crypto-null
393   KCONFIG:=CONFIG_CRYPTO_GCM
394   FILES:=$(LINUX_DIR)/crypto/gcm.ko
395   AUTOLOAD:=$(call AutoLoad,09,gcm)
396   $(call AddDepends/crypto)
397 endef
398
399 $(eval $(call KernelPackage,crypto-gcm))
400
401
402 define KernelPackage/crypto-gf128
403   TITLE:=GF(2^128) multiplication functions CryptoAPI module
404   KCONFIG:=CONFIG_CRYPTO_GF128MUL
405   FILES:=$(LINUX_DIR)/crypto/gf128mul.ko
406   AUTOLOAD:=$(call AutoLoad,09,gf128mul)
407   $(call AddDepends/crypto)
408 endef
409
410 $(eval $(call KernelPackage,crypto-gf128))
411
412
413 define KernelPackage/crypto-ghash
414   TITLE:=GHASH digest CryptoAPI module
415   DEPENDS:=+kmod-crypto-gf128 +kmod-crypto-hash
416   KCONFIG:=CONFIG_CRYPTO_GHASH
417   FILES:=$(LINUX_DIR)/crypto/ghash-generic.ko
418   AUTOLOAD:=$(call AutoLoad,09,ghash-generic)
419   $(call AddDepends/crypto)
420 endef
421
422 $(eval $(call KernelPackage,crypto-ghash))
423
424
425 define KernelPackage/crypto-md4
426   TITLE:=MD4 digest CryptoAPI module
427   DEPENDS:=+kmod-crypto-hash
428   KCONFIG:=CONFIG_CRYPTO_MD4
429   FILES:=$(LINUX_DIR)/crypto/md4.ko
430   AUTOLOAD:=$(call AutoLoad,09,md4)
431   $(call AddDepends/crypto)
432 endef
433
434 $(eval $(call KernelPackage,crypto-md4))
435
436
437 define KernelPackage/crypto-md5
438   TITLE:=MD5 digest CryptoAPI module
439   DEPENDS:=+kmod-crypto-hash
440   KCONFIG:= \
441         CONFIG_CRYPTO_MD5 \
442         CONFIG_CRYPTO_MD5_OCTEON
443   FILES:=$(LINUX_DIR)/crypto/md5.ko
444   AUTOLOAD:=$(call AutoLoad,09,md5)
445   $(call AddDepends/crypto)
446 endef
447
448 define KernelPackage/crypto-md5/octeon
449   FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-md5.ko
450   AUTOLOAD:=$(call AutoLoad,09,octeon-md5)
451 endef
452
453 $(eval $(call KernelPackage,crypto-md5))
454
455
456 define KernelPackage/crypto-michael-mic
457   TITLE:=Michael MIC keyed digest CryptoAPI module
458   DEPENDS:=+kmod-crypto-hash
459   KCONFIG:=CONFIG_CRYPTO_MICHAEL_MIC
460   FILES:=$(LINUX_DIR)/crypto/michael_mic.ko
461   AUTOLOAD:=$(call AutoLoad,09,michael_mic)
462   $(call AddDepends/crypto)
463 endef
464
465 $(eval $(call KernelPackage,crypto-michael-mic))
466
467
468 define KernelPackage/crypto-sha1
469   TITLE:=SHA1 digest CryptoAPI module
470   DEPENDS:=+kmod-crypto-hash
471   KCONFIG:= \
472         CONFIG_CRYPTO_SHA1 \
473         CONFIG_CRYPTO_SHA1_OCTEON
474   FILES:=$(LINUX_DIR)/crypto/sha1_generic.ko
475   AUTOLOAD:=$(call AutoLoad,09,sha1_generic)
476   $(call AddDepends/crypto)
477 endef
478
479 define KernelPackage/crypto-sha1/octeon
480   FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha1.ko
481   AUTOLOAD:=$(call AutoLoad,09,octeon-sha1)
482 endef
483
484 $(eval $(call KernelPackage,crypto-sha1))
485
486
487 define KernelPackage/crypto-sha256
488   TITLE:=SHA224 SHA256 digest CryptoAPI module
489   DEPENDS:=+kmod-crypto-hash
490   KCONFIG:= \
491         CONFIG_CRYPTO_SHA256 \
492         CONFIG_CRYPTO_SHA256_OCTEON
493   FILES:=$(LINUX_DIR)/crypto/sha256_generic.ko
494   AUTOLOAD:=$(call AutoLoad,09,sha256_generic)
495   $(call AddDepends/crypto)
496 endef
497
498 define KernelPackage/crypto-sha256/octeon
499   FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha256.ko
500   AUTOLOAD:=$(call AutoLoad,09,octeon-sha256)
501 endef
502
503 $(eval $(call KernelPackage,crypto-sha256))
504
505
506 define KernelPackage/crypto-sha512
507   TITLE:=SHA512 digest CryptoAPI module
508   DEPENDS:=+kmod-crypto-hash
509   KCONFIG:= \
510         CONFIG_CRYPTO_SHA512 \
511         CONFIG_CRYPTO_SHA512_OCTEON
512   FILES:=$(LINUX_DIR)/crypto/sha512_generic.ko
513   AUTOLOAD:=$(call AutoLoad,09,sha512_generic)
514   $(call AddDepends/crypto)
515 endef
516
517 define KernelPackage/crypto-sha512/octeon
518   FILES+=$(LINUX_DIR)/arch/mips/cavium-octeon/crypto/octeon-sha512.ko
519   AUTOLOAD:=$(call AutoLoad,09,octeon-sha512)
520 endef
521
522 $(eval $(call KernelPackage,crypto-sha512))
523
524
525 define KernelPackage/crypto-misc
526   TITLE:=Other CryptoAPI modules
527   DEPENDS:=+kmod-crypto-manager
528   KCONFIG:= \
529         CONFIG_CRYPTO_ANUBIS \
530         CONFIG_CRYPTO_BLOWFISH \
531         CONFIG_CRYPTO_CAMELLIA \
532         CONFIG_CRYPTO_CAST5 \
533         CONFIG_CRYPTO_CAST6 \
534         CONFIG_CRYPTO_FCRYPT \
535         CONFIG_CRYPTO_KHAZAD \
536         CONFIG_CRYPTO_SERPENT \
537         CONFIG_CRYPTO_TEA \
538         CONFIG_CRYPTO_TGR192 \
539         CONFIG_CRYPTO_TWOFISH \
540         CONFIG_CRYPTO_TWOFISH_COMMON \
541         CONFIG_CRYPTO_TWOFISH_586 \
542         CONFIG_CRYPTO_WP512
543   FILES:= \
544         $(LINUX_DIR)/crypto/anubis.ko \
545         $(LINUX_DIR)/crypto/camellia_generic.ko \
546         $(LINUX_DIR)/crypto/cast_common.ko \
547         $(LINUX_DIR)/crypto/cast5_generic.ko \
548         $(LINUX_DIR)/crypto/cast6_generic.ko \
549         $(LINUX_DIR)/crypto/khazad.ko \
550         $(LINUX_DIR)/crypto/tea.ko \
551         $(LINUX_DIR)/crypto/tgr192.ko \
552         $(LINUX_DIR)/crypto/twofish_common.ko \
553         $(LINUX_DIR)/crypto/wp512.ko \
554         $(LINUX_DIR)/crypto/twofish_generic.ko \
555         $(LINUX_DIR)/crypto/blowfish_common.ko \
556         $(LINUX_DIR)/crypto/blowfish_generic.ko \
557         $(LINUX_DIR)/crypto/serpent_generic.ko
558   $(call AddDepends/crypto)
559 endef
560
561 ifndef CONFIG_TARGET_x86_64
562   define KernelPackage/crypto-misc/x86
563     FILES+=$(LINUX_DIR)/arch/x86/crypto/twofish-i586.ko
564   endef
565 endif
566
567 $(eval $(call KernelPackage,crypto-misc))
568
569
570 define KernelPackage/crypto-ocf
571   TITLE:=OCF modules
572   DEPENDS:=+@OPENSSL_ENGINE_CRYPTO @!TARGET_uml +kmod-crypto-manager
573   KCONFIG:= \
574         CONFIG_OCF_OCF \
575         CONFIG_OCF_CRYPTODEV \
576         CONFIG_OCF_CRYPTOSOFT \
577         CONFIG_OCF_FIPS=y \
578         CONFIG_OCF_RANDOMHARVEST=y
579   FILES:= \
580         $(LINUX_DIR)/crypto/ocf/ocf.ko \
581         $(LINUX_DIR)/crypto/ocf/cryptodev.ko \
582         $(LINUX_DIR)/crypto/ocf/cryptosoft.ko
583   AUTOLOAD:=$(call AutoLoad,09, \
584         ocf \
585         cryptodev \
586         cryptosoft \
587   )
588   $(call AddDepends/crypto)
589 endef
590
591 $(eval $(call KernelPackage,crypto-ocf))
592
593
594 define KernelPackage/crypto-ocf-hifn7751
595   TITLE:=OCF support for Hifn 6500/7751/7811/795x, Invertex AEON and NetSec 7751 devices
596   DEPENDS:=+@OPENSSL_ENGINE_CRYPTO @PCI_SUPPORT @!TARGET_uml kmod-crypto-ocf
597   KCONFIG:=CONFIG_OCF_HIFN
598   FILES:=$(LINUX_DIR)/crypto/ocf/hifn/hifn7751.ko
599   AUTOLOAD:=$(call AutoLoad,10,hifn7751)
600   $(call AddDepends/crypto)
601 endef
602
603 $(eval $(call KernelPackage,crypto-ocf-hifn7751))
604
605
606 define KernelPackage/crypto-ocf-hifnhipp
607   TITLE:=OCF support for Hifn 7855/8155 devices
608   DEPENDS:=+@OPENSSL_ENGINE_CRYPTO @PCI_SUPPORT @!TARGET_uml kmod-crypto-ocf
609   KCONFIG:=CONFIG_OCF_HIFNHIPP
610   FILES:=$(LINUX_DIR)/crypto/ocf/hifn/hifnHIPP.ko
611   AUTOLOAD:=$(call AutoLoad,10,hifnHIPP)
612   $(call AddDepends/crypto)
613 endef
614
615 $(eval $(call KernelPackage,crypto-ocf-hifnhipp))
616
617
618 define KernelPackage/crypto-null
619   TITLE:=Null CryptoAPI module
620   KCONFIG:=CONFIG_CRYPTO_NULL
621   FILES:=$(LINUX_DIR)/crypto/crypto_null.ko
622   AUTOLOAD:=$(call AutoLoad,09,crypto_null)
623   $(call AddDepends/crypto, +kmod-crypto-hash)
624 endef
625
626 $(eval $(call KernelPackage,crypto-null))
627
628
629 define KernelPackage/crypto-test
630   TITLE:=Test CryptoAPI module
631   KCONFIG:=CONFIG_CRYPTO_TEST
632   FILES:=$(LINUX_DIR)/crypto/tcrypt.ko
633   $(call AddDepends/crypto,+kmod-crypto-manager)
634 endef
635
636 $(eval $(call KernelPackage,crypto-test))
637
638
639 define KernelPackage/crypto-xts
640   TITLE:=XTS cipher CryptoAPI module
641   DEPENDS:=+kmod-crypto-gf128 +kmod-crypto-manager
642   KCONFIG:=CONFIG_CRYPTO_XTS
643   FILES:=$(LINUX_DIR)/crypto/xts.ko
644   AUTOLOAD:=$(call AutoLoad,09,xts)
645   $(call AddDepends/crypto)
646 endef
647
648 $(eval $(call KernelPackage,crypto-xts))
649
650
651 define KernelPackage/crypto-mv-cesa
652   TITLE:=Marvell crypto engine
653   DEPENDS:=+kmod-crypto-manager @TARGET_kirkwood||TARGET_orion||TARGET_mvebu
654   KCONFIG:=CONFIG_CRYPTO_DEV_MV_CESA
655   FILES:=$(LINUX_DIR)/drivers/crypto/mv_cesa.ko
656   AUTOLOAD:=$(call AutoLoad,09,mv_cesa)
657   $(call AddDepends/crypto)
658 endef
659
660 $(eval $(call KernelPackage,crypto-mv-cesa))