From e2988f434a25fa87161f6a25a008bcdeed4189b2 Mon Sep 17 00:00:00 2001 From: Pavel Emelianov Date: Tue, 17 Jul 2007 04:04:18 -0700 Subject: [PATCH] --- yaml --- r: 60799 b: refs/heads/master c: 2b7c30292af56e64feaecdbe97da57918927b730 h: refs/heads/master i: 60797: 6a0b7a3e89151a7077b1795b210412a11d3173c2 60795: 13127305e91c5a813f966820fd05fb4227d49fd0 60791: 39f392ef1569982ae392640e479e2a69789255ec 60783: 221bdc7aba07642f9e7d83dee309eb4da3012781 60767: 36ab7479d02ae9dad4e124606a28f81d620eec1f 60735: ed90eb4721428149b1d564d58b39c8c25ec88211 60671: e9fa1c9562999d4d8d57aa3588e0a24d44124c80 v: v3 --- [refs] | 2 +- trunk/drivers/isdn/capi/kcapi_proc.c | 28 ++++------------------------ 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/[refs] b/[refs] index 2200760b5c74..f599f4eee724 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6acee02712d0592dcd6120bc54d77c47cd2f6059 +refs/heads/master: 2b7c30292af56e64feaecdbe97da57918927b730 diff --git a/trunk/drivers/isdn/capi/kcapi_proc.c b/trunk/drivers/isdn/capi/kcapi_proc.c index 31f4fd8b8b0a..845a797b0030 100644 --- a/trunk/drivers/isdn/capi/kcapi_proc.c +++ b/trunk/drivers/isdn/capi/kcapi_proc.c @@ -243,36 +243,15 @@ create_seq_entry(char *name, mode_t mode, const struct file_operations *f) // --------------------------------------------------------------------------- - -static __inline__ struct capi_driver *capi_driver_get_idx(loff_t pos) -{ - struct capi_driver *drv = NULL; - struct list_head *l; - loff_t i; - - i = 0; - list_for_each(l, &capi_drivers) { - drv = list_entry(l, struct capi_driver, list); - if (i++ == pos) - return drv; - } - return NULL; -} - static void *capi_driver_start(struct seq_file *seq, loff_t *pos) { - struct capi_driver *drv; read_lock(&capi_drivers_list_lock); - drv = capi_driver_get_idx(*pos); - return drv; + return seq_list_start(&capi_drivers, *pos); } static void *capi_driver_next(struct seq_file *seq, void *v, loff_t *pos) { - struct capi_driver *drv = (struct capi_driver *)v; - ++*pos; - if (drv->list.next == &capi_drivers) return NULL; - return list_entry(drv->list.next, struct capi_driver, list); + return seq_list_next(v, &capi_drivers, pos); } static void capi_driver_stop(struct seq_file *seq, void *v) @@ -282,7 +261,8 @@ static void capi_driver_stop(struct seq_file *seq, void *v) static int capi_driver_show(struct seq_file *seq, void *v) { - struct capi_driver *drv = (struct capi_driver *)v; + struct capi_driver *drv = list_entry(v, struct capi_driver, list); + seq_printf(seq, "%-32s %s\n", drv->name, drv->revision); return 0; }