aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Emelianov <xemul@sw.ru>2007-07-16 02:39:53 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-16 12:05:42 -0400
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 102c751a124c..3d73323ff79b 100644
--- a/crypto/proc.c
+++ b/crypto/proc.c
@@ -23,24 +23,13 @@
23 23
24static void *c_start(struct seq_file *m, loff_t *pos) 24static void *c_start(struct seq_file *m, loff_t *pos)
25{ 25{
26 struct list_head *v;
27 loff_t n = *pos;
28
29 down_read(&crypto_alg_sem); 26 down_read(&crypto_alg_sem);
30 list_for_each(v, &crypto_alg_list) 27 return seq_list_start(&crypto_alg_list, *pos);
31 if (!n--)
32 return list_entry(v, struct crypto_alg, cra_list);
33 return NULL;
34} 28}
35 29
36static void *c_next(struct seq_file *m, void *p, loff_t *pos) 30static void *c_next(struct seq_file *m, void *p, loff_t *pos)
37{ 31{
38 struct list_head *v = p; 32 return seq_list_next(p, &crypto_alg_list, pos);
39
40 (*pos)++;
41 v = v->next;
42 return (v == &crypto_alg_list) ?
43 NULL : list_entry(v, struct crypto_alg, cra_list);
44} 33}
45 34
46static void c_stop(struct seq_file *m, void *p) 35static void c_stop(struct seq_file *m, void *p)
@@ -50,7 +39,7 @@ static void c_stop(struct seq_file *m, void *p)
50 39
51static int c_show(struct seq_file *m, void *p) 40static int c_show(struct seq_file *m, void *p)
52{ 41{
53 struct crypto_alg *alg = (struct crypto_alg *)p; 42 struct crypto_alg *alg = list_entry(p, struct crypto_alg, cra_list);
54 43
55 seq_printf(m, "name : %s\n", alg->cra_name); 44 seq_printf(m, "name : %s\n", alg->cra_name);
56 seq_printf(m, "driver : %s\n", alg->cra_driver_name); 45 seq_printf(m, "driver : %s\n", alg->cra_driver_name);