Commit efaffb78d875a155b9f327532c2ddccf28c592b4

Authored by Li Zefan
Committed by David S. Miller
1 parent b512f3d841

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 "