Commit 13d31894b3c459805303325aa5b91f9cd4ed70bc
Committed by
Linus Torvalds
1 parent
a6a8bd6d28
Exists in
master
and in
4 other branches
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>
Showing 1 changed file with 3 additions and 14 deletions Side-by-side Diff
crypto/proc.c
... | ... | @@ -23,24 +23,13 @@ |
23 | 23 | |
24 | 24 | static void *c_start(struct seq_file *m, loff_t *pos) |
25 | 25 | { |
26 | - struct list_head *v; | |
27 | - loff_t n = *pos; | |
28 | - | |
29 | 26 | down_read(&crypto_alg_sem); |
30 | - list_for_each(v, &crypto_alg_list) | |
31 | - if (!n--) | |
32 | - return list_entry(v, struct crypto_alg, cra_list); | |
33 | - return NULL; | |
27 | + return seq_list_start(&crypto_alg_list, *pos); | |
34 | 28 | } |
35 | 29 | |
36 | 30 | static void *c_next(struct seq_file *m, void *p, loff_t *pos) |
37 | 31 | { |
38 | - struct list_head *v = p; | |
39 | - | |
40 | - (*pos)++; | |
41 | - v = v->next; | |
42 | - return (v == &crypto_alg_list) ? | |
43 | - NULL : list_entry(v, struct crypto_alg, cra_list); | |
32 | + return seq_list_next(p, &crypto_alg_list, pos); | |
44 | 33 | } |
45 | 34 | |
46 | 35 | static void c_stop(struct seq_file *m, void *p) |
... | ... | @@ -50,7 +39,7 @@ |
50 | 39 | |
51 | 40 | static 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 | 44 | seq_printf(m, "name : %s\n", alg->cra_name); |
56 | 45 | seq_printf(m, "driver : %s\n", alg->cra_driver_name); |