aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Emelianov <xemul@sw.ru>2007-07-15 23:39:53 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-16 09:05:42 -0700
commit13d31894b3c459805303325aa5b91f9cd4ed70bc (patch)
treeb2f2e43642209551f1cc1d28c4e2bd9033a970f5
parenta6a8bd6d2839f7134f191c6e13e2fd2e9e8c91a6 (diff)
Make crypto API use seq_list_xxx helpers
Simple and stupid - just use the same code from another place in the kernel. Signed-off-by: Pavel Emelianov <xemul@openvz.org> Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--crypto/proc.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/crypto/proc.c b/crypto/proc.c
index 102c751a124..3d73323ff79 100644
--- a/crypto/proc.c
+++ b/crypto/proc.c
@@ -23,24 +23,13 @@
static void *c_start(struct seq_file *m, loff_t *pos)
{
- struct list_head *v;
- loff_t n = *pos;
-
down_read(&crypto_alg_sem);
- list_for_each(v, &crypto_alg_list)
- if (!n--)
- return list_entry(v, struct crypto_alg, cra_list);
- return NULL;
+ return seq_list_start(&crypto_alg_list, *pos);
}
static void *c_next(struct seq_file *m, void *p, loff_t *pos)
{
- struct list_head *v = p;
-
- (*pos)++;
- v = v->next;
- return (v == &crypto_alg_list) ?
- NULL : list_entry(v, struct crypto_alg, cra_list);
+ return seq_list_next(p, &crypto_alg_list, pos);
}
static void c_stop(struct seq_file *m, void *p)
@@ -50,7 +39,7 @@ static void c_stop(struct seq_file *m, void *p)
static int c_show(struct seq_file *m, void *p)
{
- struct crypto_alg *alg = (struct crypto_alg *)p;
+ struct crypto_alg *alg = list_entry(p, struct crypto_alg, cra_list);
seq_printf(m, "name : %s\n", alg->cra_name);
seq_printf(m, "driver : %s\n", alg->cra_driver_name);