]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - net/atm/resources.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit...
[mv-sheeva.git] / net / atm / resources.c
index 447ed89205d8e4ef5a43e7614de049838e69056d..d29e582615116a68e1f476091c6475d589401878 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/capability.h>
 #include <linux/delay.h>
 #include <linux/mutex.h>
+#include <linux/slab.h>
 
 #include <net/sock.h>   /* for struct sock */
 
@@ -444,21 +445,10 @@ done:
        return error;
 }
 
-static inline void *dev_get_idx(loff_t left)
-{
-       struct list_head *p;
-
-       list_for_each(p, &atm_devs) {
-               if (!--left)
-                       break;
-       }
-       return (p != &atm_devs) ? p : NULL;
-}
-
 void *atm_dev_seq_start(struct seq_file *seq, loff_t *pos)
 {
        mutex_lock(&atm_dev_mutex);
-       return *pos ? dev_get_idx(*pos) : SEQ_START_TOKEN;
+       return seq_list_start_head(&atm_devs, *pos);
 }
 
 void atm_dev_seq_stop(struct seq_file *seq, void *v)
@@ -468,8 +458,5 @@ void atm_dev_seq_stop(struct seq_file *seq, void *v)
 
 void *atm_dev_seq_next(struct seq_file *seq, void *v, loff_t *pos)
 {
-       ++*pos;
-       v = (v == SEQ_START_TOKEN)
-               ? atm_devs.next : ((struct list_head *)v)->next;
-       return (v == &atm_devs) ? NULL : v;
+       return seq_list_next(v, &atm_devs, pos);
 }