Commit 13d31894 authored by Pavel Emelianov's avatar Pavel Emelianov Committed by Linus Torvalds

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: default avatarPavel Emelianov <xemul@openvz.org>
Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a6a8bd6d
...@@ -23,24 +23,13 @@ ...@@ -23,24 +23,13 @@
static void *c_start(struct seq_file *m, loff_t *pos) static void *c_start(struct seq_file *m, loff_t *pos)
{ {
struct list_head *v;
loff_t n = *pos;
down_read(&crypto_alg_sem); down_read(&crypto_alg_sem);
list_for_each(v, &crypto_alg_list) return seq_list_start(&crypto_alg_list, *pos);
if (!n--)
return list_entry(v, struct crypto_alg, cra_list);
return NULL;
} }
static void *c_next(struct seq_file *m, void *p, loff_t *pos) static void *c_next(struct seq_file *m, void *p, loff_t *pos)
{ {
struct list_head *v = p; return seq_list_next(p, &crypto_alg_list, pos);
(*pos)++;
v = v->next;
return (v == &crypto_alg_list) ?
NULL : list_entry(v, struct crypto_alg, cra_list);
} }
static void c_stop(struct seq_file *m, void *p) static void c_stop(struct seq_file *m, void *p)
...@@ -50,7 +39,7 @@ 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) 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, "name : %s\n", alg->cra_name);
seq_printf(m, "driver : %s\n", alg->cra_driver_name); seq_printf(m, "driver : %s\n", alg->cra_driver_name);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment