include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit...
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / net / irda / irlan / irlan_common.c
index 315ead3cb926beb93550b9a89f54b8e7497eb504..a788f9e9427d2c1c127d411adc8b06eb9d19ba87 100644 (file)
@@ -27,6 +27,7 @@
 
 #include <linux/kernel.h>
 #include <linux/string.h>
+#include <linux/gfp.h>
 #include <linux/init.h>
 #include <linux/errno.h>
 #include <linux/proc_fs.h>
@@ -1128,34 +1129,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 +1151,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;);