Commit ad5d972c authored by Pavel Emelianov's avatar Pavel Emelianov Committed by Dmitry Torokhov

Input: switch to using seq_list_xxx helpers

This is essentially just a renaming of the existing functions
as copies of seq_list_start() and seq_list_next() already existed
in the input.c.
Signed-off-by: default avatarPavel Emelianov <xemul@openvz.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 080c652d
...@@ -471,37 +471,16 @@ static unsigned int input_proc_devices_poll(struct file *file, poll_table *wait) ...@@ -471,37 +471,16 @@ static unsigned int input_proc_devices_poll(struct file *file, poll_table *wait)
return 0; return 0;
} }
static struct list_head *list_get_nth_element(struct list_head *list, loff_t *pos)
{
struct list_head *node;
loff_t i = 0;
list_for_each(node, list)
if (i++ == *pos)
return node;
return NULL;
}
static struct list_head *list_get_next_element(struct list_head *list, struct list_head *element, loff_t *pos)
{
if (element->next == list)
return NULL;
++(*pos);
return element->next;
}
static void *input_devices_seq_start(struct seq_file *seq, loff_t *pos) static void *input_devices_seq_start(struct seq_file *seq, loff_t *pos)
{ {
/* acquire lock here ... Yes, we do need locking, I knowi, I know... */ /* acquire lock here ... Yes, we do need locking, I knowi, I know... */
return list_get_nth_element(&input_dev_list, pos); return seq_list_start(&input_dev_list, *pos);
} }
static void *input_devices_seq_next(struct seq_file *seq, void *v, loff_t *pos) static void *input_devices_seq_next(struct seq_file *seq, void *v, loff_t *pos)
{ {
return list_get_next_element(&input_dev_list, v, pos); return seq_list_next(v, &input_dev_list, pos);
} }
static void input_devices_seq_stop(struct seq_file *seq, void *v) static void input_devices_seq_stop(struct seq_file *seq, void *v)
...@@ -592,13 +571,13 @@ static void *input_handlers_seq_start(struct seq_file *seq, loff_t *pos) ...@@ -592,13 +571,13 @@ static void *input_handlers_seq_start(struct seq_file *seq, loff_t *pos)
{ {
/* acquire lock here ... Yes, we do need locking, I knowi, I know... */ /* acquire lock here ... Yes, we do need locking, I knowi, I know... */
seq->private = (void *)(unsigned long)*pos; seq->private = (void *)(unsigned long)*pos;
return list_get_nth_element(&input_handler_list, pos); return seq_list_start(&input_handler_list, *pos);
} }
static void *input_handlers_seq_next(struct seq_file *seq, void *v, loff_t *pos) static void *input_handlers_seq_next(struct seq_file *seq, void *v, loff_t *pos)
{ {
seq->private = (void *)(unsigned long)(*pos + 1); seq->private = (void *)(unsigned long)(*pos + 1);
return list_get_next_element(&input_handler_list, v, pos); return seq_list_next(v, &input_handler_list, pos);
} }
static void input_handlers_seq_stop(struct seq_file *seq, void *v) static void input_handlers_seq_stop(struct seq_file *seq, void *v)
......
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