Commit efaffb78d875a155b9f327532c2ddccf28c592b4
Committed by
David S. Miller
1 parent
b512f3d841
Exists in
master
and in
39 other branches
net: appletalk: use seq_hlist_foo() helpers
Simplify seq_file code. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 3 additions and 27 deletions Side-by-side Diff
net/appletalk/atalk_proc.c
... | ... | @@ -144,40 +144,16 @@ |
144 | 144 | return 0; |
145 | 145 | } |
146 | 146 | |
147 | -static __inline__ struct sock *atalk_get_socket_idx(loff_t pos) | |
148 | -{ | |
149 | - struct sock *s; | |
150 | - struct hlist_node *node; | |
151 | - | |
152 | - sk_for_each(s, node, &atalk_sockets) | |
153 | - if (!pos--) | |
154 | - goto found; | |
155 | - s = NULL; | |
156 | -found: | |
157 | - return s; | |
158 | -} | |
159 | - | |
160 | 147 | static void *atalk_seq_socket_start(struct seq_file *seq, loff_t *pos) |
161 | 148 | __acquires(atalk_sockets_lock) |
162 | 149 | { |
163 | - loff_t l = *pos; | |
164 | - | |
165 | 150 | read_lock_bh(&atalk_sockets_lock); |
166 | - return l ? atalk_get_socket_idx(--l) : SEQ_START_TOKEN; | |
151 | + return seq_hlist_start_head(&atalk_sockets, *pos); | |
167 | 152 | } |
168 | 153 | |
169 | 154 | static void *atalk_seq_socket_next(struct seq_file *seq, void *v, loff_t *pos) |
170 | 155 | { |
171 | - struct sock *i; | |
172 | - | |
173 | - ++*pos; | |
174 | - if (v == SEQ_START_TOKEN) { | |
175 | - i = sk_head(&atalk_sockets); | |
176 | - goto out; | |
177 | - } | |
178 | - i = sk_next(v); | |
179 | -out: | |
180 | - return i; | |
156 | + return seq_hlist_next(v, &atalk_sockets, pos); | |
181 | 157 | } |
182 | 158 | |
183 | 159 | static void atalk_seq_socket_stop(struct seq_file *seq, void *v) |
... | ... | @@ -197,7 +173,7 @@ |
197 | 173 | goto out; |
198 | 174 | } |
199 | 175 | |
200 | - s = v; | |
176 | + s = sk_entry(v); | |
201 | 177 | at = at_sk(s); |
202 | 178 | |
203 | 179 | seq_printf(seq, "%02X %04X:%02X:%02X %04X:%02X:%02X %08X:%08X " |