Make /proc/misc use seq_list_xxx helpers
authorPavel Emelianov <xemul@sw.ru>
Mon, 16 Jul 2007 06:39:53 +0000 (23:39 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 16 Jul 2007 16:05:42 +0000 (09:05 -0700)
Simple and stupid - just use the helpers.

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>
drivers/char/misc.c

index 4e6fb9651a16435e5a4e3a9fd829ac14d4b5058d..71c8cd7fa15f8d5c32574ce95016f980e6830c41 100644 (file)
@@ -67,25 +67,13 @@ extern int pmu_device_init(void);
 #ifdef CONFIG_PROC_FS
 static void *misc_seq_start(struct seq_file *seq, loff_t *pos)
 {
-       struct miscdevice *p;
-       loff_t off = 0;
-
        mutex_lock(&misc_mtx);
-       list_for_each_entry(p, &misc_list, list) {
-               if (*pos == off++) 
-                       return p;
-       }
-       return NULL;
+       return seq_list_start(&misc_list, *pos);
 }
 
 static void *misc_seq_next(struct seq_file *seq, void *v, loff_t *pos)
 {
-       struct list_head *n = ((struct miscdevice *)v)->list.next;
-
-       ++*pos;
-
-       return (n != &misc_list) ? list_entry(n, struct miscdevice, list)
-                : NULL;
+       return seq_list_next(v, &misc_list, pos);
 }
 
 static void misc_seq_stop(struct seq_file *seq, void *v)
@@ -95,7 +83,7 @@ static void misc_seq_stop(struct seq_file *seq, void *v)
 
 static int misc_seq_show(struct seq_file *seq, void *v)
 {
-       const struct miscdevice *p = v;
+       const struct miscdevice *p = list_entry(v, struct miscdevice, list);
 
        seq_printf(seq, "%3i %s\n", p->minor, p->name ? p->name : "");
        return 0;