From: Domen Puncer Make code more readable with list_for_each_entry. Signed-off-by: Maximilian Attems Signed-off-by: Domen Puncer Cc: Paul Mackerras Signed-off-by: Andrew Morton --- drivers/net/ppp_generic.c | 23 +++++++---------------- 1 files changed, 7 insertions(+), 16 deletions(-) diff -puN drivers/net/ppp_generic.c~janitor-net-ppp-generic-list_for_each_entry drivers/net/ppp_generic.c --- devel/drivers/net/ppp_generic.c~janitor-net-ppp-generic-list_for_each_entry 2005-08-16 00:06:49.000000000 -0700 +++ devel-akpm/drivers/net/ppp_generic.c 2005-08-16 00:06:49.000000000 -0700 @@ -1265,9 +1265,7 @@ static int ppp_mp_explode(struct ppp *pp navail = 0; /* total # of usable channels (not deregistered) */ hdrlen = (ppp->flags & SC_MP_XSHORTSEQ)? MPHDRLEN_SSN: MPHDRLEN; i = 0; - list = &ppp->channels; - while ((list = list->next) != &ppp->channels) { - pch = list_entry(list, struct channel, clist); + list_for_each_entry(pch, &ppp->channels, clist) { navail += pch->avail = (pch->chan != NULL); if (pch->avail) { if (skb_queue_empty(&pch->file.xq) || @@ -1313,6 +1311,7 @@ static int ppp_mp_explode(struct ppp *pp /* skip to the channel after the one we last used and start at that one */ + list = &ppp->channels; for (i = 0; i < ppp->nxchan; ++i) { list = list->next; if (list == &ppp->channels) { @@ -1763,7 +1762,7 @@ static void ppp_receive_mp_frame(struct ppp *ppp, struct sk_buff *skb, struct channel *pch) { u32 mask, seq; - struct list_head *l; + struct channel *ch; int mphdrlen = (ppp->flags & SC_MP_SHORTSEQ)? MPHDRLEN_SSN: MPHDRLEN; if (!pskb_may_pull(skb, mphdrlen) || ppp->mrru == 0) @@ -1817,8 +1816,7 @@ ppp_receive_mp_frame(struct ppp *ppp, st * The list of channels can't change because we have the receive * side of the ppp unit locked. */ - for (l = ppp->channels.next; l != &ppp->channels; l = l->next) { - struct channel *ch = list_entry(l, struct channel, clist); + list_for_each_entry(ch, &ppp->channels, clist) { if (seq_before(ch->lastseq, seq)) seq = ch->lastseq; } @@ -2304,10 +2302,8 @@ static struct compressor_entry * find_comp_entry(int proto) { struct compressor_entry *ce; - struct list_head *list = &compressor_list; - while ((list = list->next) != &compressor_list) { - ce = list_entry(list, struct compressor_entry, list); + list_for_each_entry(ce, &compressor_list, list) { if (ce->comp->compress_proto == proto) return ce; } @@ -2573,20 +2569,15 @@ static struct channel * ppp_find_channel(int unit) { struct channel *pch; - struct list_head *list; - list = &new_channels; - while ((list = list->next) != &new_channels) { - pch = list_entry(list, struct channel, list); + list_for_each_entry(pch, &new_channels, list) { if (pch->file.index == unit) { list_del(&pch->list); list_add(&pch->list, &all_channels); return pch; } } - list = &all_channels; - while ((list = list->next) != &all_channels) { - pch = list_entry(list, struct channel, list); + list_for_each_entry(pch, &all_channels, list) { if (pch->file.index == unit) return pch; } _