aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto/padlock-aes.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/crypto/padlock-aes.c')
-rw-r--r--drivers/crypto/padlock-aes.c34
1 files changed, 30 insertions, 4 deletions
diff --git a/drivers/crypto/padlock-aes.c b/drivers/crypto/padlock-aes.c
index b643d71298a9..ee33bd6c1b77 100644
--- a/drivers/crypto/padlock-aes.c
+++ b/drivers/crypto/padlock-aes.c
@@ -495,15 +495,41 @@ static struct crypto_alg aes_alg = {
495 } 495 }
496}; 496};
497 497
498int __init padlock_init_aes(void) 498static int __init padlock_init(void)
499{ 499{
500 printk(KERN_NOTICE PFX "Using VIA PadLock ACE for AES algorithm.\n"); 500 int ret;
501
502 if (!cpu_has_xcrypt) {
503 printk(KERN_ERR PFX "VIA PadLock not detected.\n");
504 return -ENODEV;
505 }
506
507 if (!cpu_has_xcrypt_enabled) {
508 printk(KERN_ERR PFX "VIA PadLock detected, but not enabled. Hmm, strange...\n");
509 return -ENODEV;
510 }
501 511
502 gen_tabs(); 512 gen_tabs();
503 return crypto_register_alg(&aes_alg); 513 if ((ret = crypto_register_alg(&aes_alg))) {
514 printk(KERN_ERR PFX "VIA PadLock AES initialization failed.\n");
515 return ret;
516 }
517
518 printk(KERN_NOTICE PFX "Using VIA PadLock ACE for AES algorithm.\n");
519
520 return ret;
504} 521}
505 522
506void __exit padlock_fini_aes(void) 523static void __exit padlock_fini(void)
507{ 524{
508 crypto_unregister_alg(&aes_alg); 525 crypto_unregister_alg(&aes_alg);
509} 526}
527
528module_init(padlock_init);
529module_exit(padlock_fini);
530
531MODULE_DESCRIPTION("VIA PadLock AES algorithm support");
532MODULE_LICENSE("GPL");
533MODULE_AUTHOR("Michal Ludvig");
534
535MODULE_ALIAS("aes-padlock");