~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/drivers/crypto/padlock-generic.c

Version: ~ [ 2.4.21-47.EL ] ~ [ 2.6.9-67.EL ] ~ [ 2.6.18-128.el5 ] ~ [ 2.6.18-164.el5 ] ~
Architecture: ~ [ i386 ] ~ [ x86_64 ] ~

  1 /* 
  2  * Cryptographic API.
  3  *
  4  * Support for VIA PadLock hardware crypto engine.
  5  *
  6  * Copyright (c) 2004  Michal Ludvig <michal@logix.cz>
  7  *
  8  * This program is free software; you can redistribute it and/or modify
  9  * it under the terms of the GNU General Public License as published by
 10  * the Free Software Foundation; either version 2 of the License, or
 11  * (at your option) any later version.
 12  */
 13 
 14 #include <linux/module.h>
 15 #include <linux/init.h>
 16 #include <linux/types.h>
 17 #include <linux/errno.h>
 18 #include <linux/crypto.h>
 19 #include <asm/byteorder.h>
 20 #include "padlock.h"
 21 
 22 static int __init
 23 padlock_init(void)
 24 {
 25         int ret = -ENOSYS;
 26         
 27         if (!cpu_has_xcrypt) {
 28                 printk(KERN_ERR PFX "VIA PadLock not detected.\n");
 29                 return -ENODEV;
 30         }
 31 
 32         if (!cpu_has_xcrypt_enabled) {
 33                 printk(KERN_ERR PFX "VIA PadLock detected, but not enabled. Hmm, strange...\n");
 34                 return -ENODEV;
 35         }
 36 
 37 #ifdef CONFIG_CRYPTO_DEV_PADLOCK_AES
 38         if ((ret = padlock_init_aes())) {
 39                 printk(KERN_ERR PFX "VIA PadLock AES initialization failed.\n");
 40                 return ret;
 41         }
 42 #endif
 43 
 44         if (ret == -ENOSYS)
 45                 printk(KERN_ERR PFX "Hmm, VIA PadLock was compiled without any algorithm.\n");
 46 
 47         return ret;
 48 }
 49 
 50 static void __exit
 51 padlock_fini(void)
 52 {
 53 #ifdef CONFIG_CRYPTO_DEV_PADLOCK_AES
 54         padlock_fini_aes();
 55 #endif
 56 }
 57 
 58 module_init(padlock_init);
 59 module_exit(padlock_fini);
 60 
 61 MODULE_DESCRIPTION("VIA PadLock crypto engine support.");
 62 MODULE_LICENSE("Dual BSD/GPL");
 63 MODULE_AUTHOR("Michal Ludvig");
 64 
 65 MODULE_ALIAS("aes");
 66 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.