diff options
author | Pavel Emelianov <xemul@sw.ru> | 2007-07-15 23:39:53 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-16 09:05:42 -0700 |
commit | 13d31894b3c459805303325aa5b91f9cd4ed70bc (patch) | |
tree | b2f2e43642209551f1cc1d28c4e2bd9033a970f5 /crypto | |
parent | a6a8bd6d2839f7134f191c6e13e2fd2e9e8c91a6 (diff) | |
download | lwn-13d31894b3c459805303325aa5b91f9cd4ed70bc.tar.gz lwn-13d31894b3c459805303325aa5b91f9cd4ed70bc.zip |
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>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/proc.c | 17 |
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 @@ 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); |