summaryrefslogtreecommitdiff
path: root/kernel/module.c
diff options
context:
space:
mode:
authorPavel Emelianov <xemul@sw.ru>2007-07-15 23:39:54 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-16 09:05:42 -0700
commit708f4b522371da5e6c615a49e1844195aff84cb4 (patch)
treec87006648a17d68428e190c44133c6819972b9ad /kernel/module.c
parent46c65b71e6122b89cd7b2bb36c1ba26d07e84fcd (diff)
downloadlwn-708f4b522371da5e6c615a49e1844195aff84cb4.tar.gz
lwn-708f4b522371da5e6c615a49e1844195aff84cb4.zip
Make /proc/modules use seq_list_xxx helpers
Here there is not need even in .show callback altering. The original code passes list_head in *v. Signed-off-by: Pavel Emelianov <xemul@openvz.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/module.c')
-rw-r--r--kernel/module.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/kernel/module.c b/kernel/module.c
index 015d60cfd90e..7a1a4d3558d5 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -2232,26 +2232,13 @@ unsigned long module_kallsyms_lookup_name(const char *name)
/* Called by the /proc file system to return a list of modules. */
static void *m_start(struct seq_file *m, loff_t *pos)
{
- struct list_head *i;
- loff_t n = 0;
-
mutex_lock(&module_mutex);
- list_for_each(i, &modules) {
- if (n++ == *pos)
- break;
- }
- if (i == &modules)
- return NULL;
- return i;
+ return seq_list_start(&modules, *pos);
}
static void *m_next(struct seq_file *m, void *p, loff_t *pos)
{
- struct list_head *i = p;
- (*pos)++;
- if (i->next == &modules)
- return NULL;
- return i->next;
+ return seq_list_next(p, &modules, pos);
}
static void m_stop(struct seq_file *m, void *p)