aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Emelianov <xemul@openvz.org>2007-07-09 13:12:24 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2007-07-10 22:18:48 -0700
commit9af97186fcc9a1d9bbf195eb4bc2399d0dd66223 (patch)
tree526a2be17c0464e6807efb196594bcb35843f23f
parent1c8c7d64169dc4b1ae3d8cd1bf35ea0a099b50ad (diff)
[ATM] br2684: Use seq_list_xxx helpers
The .show callback receives the list_head pointer now, not the struct br2684_dev one. Signed-off-by: Pavel Emelianov <xemul@openvz.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/atm/br2684.c22
1 files changed, 4 insertions, 18 deletions
diff --git a/net/atm/br2684.c b/net/atm/br2684.c
index 0e9f00c5c89..3e264389317 100644
--- a/net/atm/br2684.c
+++ b/net/atm/br2684.c
@@ -699,28 +699,13 @@ static struct atm_ioctl br2684_ioctl_ops = {
#ifdef CONFIG_PROC_FS
static void *br2684_seq_start(struct seq_file *seq, loff_t *pos)
{
- loff_t offs = 0;
- struct br2684_dev *brd;
-
read_lock(&devs_lock);
-
- list_for_each_entry(brd, &br2684_devs, br2684_devs) {
- if (offs == *pos)
- return brd;
- ++offs;
- }
- return NULL;
+ return seq_list_start(&br2684_devs, *pos);
}
static void *br2684_seq_next(struct seq_file *seq, void *v, loff_t *pos)
{
- struct br2684_dev *brd = v;
-
- ++*pos;
-
- brd = list_entry(brd->br2684_devs.next,
- struct br2684_dev, br2684_devs);
- return (&brd->br2684_devs != &br2684_devs) ? brd : NULL;
+ return seq_list_next(v, &br2684_devs, pos);
}
static void br2684_seq_stop(struct seq_file *seq, void *v)
@@ -730,7 +715,8 @@ static void br2684_seq_stop(struct seq_file *seq, void *v)
static int br2684_seq_show(struct seq_file *seq, void *v)
{
- const struct br2684_dev *brdev = v;
+ const struct br2684_dev *brdev = list_entry(v, struct br2684_dev,
+ br2684_devs);
const struct net_device *net_dev = brdev->net_dev;
const struct br2684_vcc *brvcc;