Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 216437eb authored by Li Zefan's avatar Li Zefan Committed by David S. Miller
Browse files

net: irda: use seq_list_foo() helpers



Simplify seq_file code.

Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4f134204
Loading
Loading
Loading
Loading
+4 −24
Original line number Diff line number Diff line
@@ -1128,34 +1128,14 @@ int irlan_extract_param(__u8 *buf, char *name, char *value, __u16 *len)
 */
static void *irlan_seq_start(struct seq_file *seq, loff_t *pos)
{
	int i = 1;
	struct irlan_cb *self;

	rcu_read_lock();
	if (*pos == 0)
		return SEQ_START_TOKEN;

	list_for_each_entry(self, &irlans, dev_list) {
		if (*pos == i)
			return self;
		++i;
	}
	return NULL;
	return seq_list_start_head(&irlans, *pos);
}

/* Return entry after v, and increment pos */
static void *irlan_seq_next(struct seq_file *seq, void *v, loff_t *pos)
{
	struct list_head *nxt;

	++*pos;
	if (v == SEQ_START_TOKEN)
		nxt = irlans.next;
	else
		nxt = ((struct irlan_cb *)v)->dev_list.next;

	return (nxt == &irlans) ? NULL
		: list_entry(nxt, struct irlan_cb, dev_list);
	return seq_list_next(v, &irlans, pos);
}

/* End of reading /proc file */
@@ -1170,10 +1150,10 @@ static void irlan_seq_stop(struct seq_file *seq, void *v)
 */
static int irlan_seq_show(struct seq_file *seq, void *v)
{
	if (v == SEQ_START_TOKEN)
	if (v == &irlans)
		seq_puts(seq, "IrLAN instances:\n");
	else {
		struct irlan_cb *self = v;
		struct irlan_cb *self = list_entry(v, struct irlan_cb, dev_list);

		IRDA_ASSERT(self != NULL, return -1;);
		IRDA_ASSERT(self->magic == IRLAN_MAGIC, return -1;);