Skip to content

Commit

Permalink
Input: switch to using seq_list_xxx helpers
Browse files Browse the repository at this point in the history
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: Pavel Emelianov <xemul@openvz.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
Pavel Emelianov authored and Dmitry Torokhov committed Jul 18, 2007
1 parent 080c652 commit ad5d972
Showing 1 changed file with 4 additions and 25 deletions.
29 changes: 4 additions & 25 deletions drivers/input/input.c
Original file line number Diff line number Diff line change
Expand Up @@ -471,37 +471,16 @@ static unsigned int input_proc_devices_poll(struct file *file, poll_table *wait)
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)
{
/* 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)
{
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)
Expand Down Expand Up @@ -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... */
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)
{
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)
Expand Down

0 comments on commit ad5d972

Please sign in to comment.