summaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2003-09-04 09:02:39 -0700
committerDavid S. Miller <davem@nuts.ninka.net>2003-09-04 09:02:39 -0700
commit8697648c34930bb48cfc40785688cd73a3e7269c (patch)
tree16c8c0c84eabf6af26e95172386b2ecf009dec04 /crypto
parentfb06b8eebfcfba5bb21de79f01530c168fb91a76 (diff)
[CRYPTO]: Use try_then_request_module().
try_then_request_module() does what crypto/autoload.c is doing, so replace it. Fix try_then_request_module(), too (thanks James).
Diffstat (limited to 'crypto')
-rw-r--r--crypto/Makefile3
-rw-r--r--crypto/autoload.c37
-rw-r--r--crypto/internal.h10
3 files changed, 5 insertions, 45 deletions
diff --git a/crypto/Makefile b/crypto/Makefile
index f3325db1ee76..8326b4fb5be4 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -2,11 +2,10 @@
# Cryptographic API
#
-autoload-crypto-$(CONFIG_KMOD) = autoload.o
proc-crypto-$(CONFIG_PROC_FS) = proc.o
obj-$(CONFIG_CRYPTO) += api.o cipher.o digest.o compress.o \
- $(autoload-crypto-y) $(proc-crypto-y)
+ $(proc-crypto-y)
obj-$(CONFIG_CRYPTO_HMAC) += hmac.o
obj-$(CONFIG_CRYPTO_NULL) += crypto_null.o
diff --git a/crypto/autoload.c b/crypto/autoload.c
deleted file mode 100644
index 7cda40b39ddf..000000000000
--- a/crypto/autoload.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Cryptographic API.
- *
- * Algorithm autoloader.
- *
- * Copyright (c) 2002 James Morris <jmorris@intercode.com.au>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- */
-#include <linux/kernel.h>
-#include <linux/crypto.h>
-#include <linux/string.h>
-#include <linux/kmod.h>
-#include "internal.h"
-
-/*
- * A far more intelligent version of this is planned. For now, just
- * try an exact match on the name of the algorithm.
- */
-void crypto_alg_autoload(const char *name)
-{
- request_module("%s", name);
-}
-
-struct crypto_alg *crypto_alg_mod_lookup(const char *name)
-{
- struct crypto_alg *alg = crypto_alg_lookup(name);
- if (alg == NULL) {
- crypto_alg_autoload(name);
- alg = crypto_alg_lookup(name);
- }
- return alg;
-}
diff --git a/crypto/internal.h b/crypto/internal.h
index 10880d149afe..8ba30b772ee3 100644
--- a/crypto/internal.h
+++ b/crypto/internal.h
@@ -15,6 +15,7 @@
#include <linux/highmem.h>
#include <linux/interrupt.h>
#include <linux/init.h>
+#include <linux/kmod.h>
#include <asm/hardirq.h>
#include <asm/kmap_types.h>
@@ -48,15 +49,12 @@ static inline void *crypto_tfm_ctx(struct crypto_tfm *tfm)
struct crypto_alg *crypto_alg_lookup(const char *name);
-#ifdef CONFIG_KMOD
-void crypto_alg_autoload(const char *name);
-struct crypto_alg *crypto_alg_mod_lookup(const char *name);
-#else
+/* A far more intelligent version of this is planned. For now, just
+ * try an exact match on the name of the algorithm. */
static inline struct crypto_alg *crypto_alg_mod_lookup(const char *name)
{
- return crypto_alg_lookup(name);
+ return try_then_request_module(crypto_alg_lookup(name), name);
}
-#endif
#ifdef CONFIG_CRYPTO_HMAC
int crypto_alloc_hmac_block(struct crypto_tfm *tfm);