|
@@ -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;
|