Commit c4a80d7e67b1a084e061853d39a1ba6f500027fd

Authored by Stephen Hemminger
Committed by David S. Miller
1 parent 5ec38f3023

uwb: convert devices to net_device_ops

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 5 changed files with 16 additions and 26 deletions Side-by-side Diff

drivers/uwb/i1480/i1480u-wlp/i1480u-wlp.h
... ... @@ -221,7 +221,6 @@
221 221 struct net_device *net_dev;
222 222  
223 223 spinlock_t lock;
224   - struct net_device_stats stats;
225 224  
226 225 /* RX context handling */
227 226 struct sk_buff *rx_skb;
... ... @@ -271,7 +270,6 @@
271 270 extern int i1480u_hard_start_xmit(struct sk_buff *, struct net_device *);
272 271 extern void i1480u_tx_timeout(struct net_device *);
273 272 extern int i1480u_set_config(struct net_device *, struct ifmap *);
274   -extern struct net_device_stats *i1480u_get_stats(struct net_device *);
275 273 extern int i1480u_change_mtu(struct net_device *, int);
276 274 extern void i1480u_uwb_notifs_cb(void *, struct uwb_dev *, enum uwb_notifs);
277 275  
drivers/uwb/i1480/i1480u-wlp/lc.c
... ... @@ -181,6 +181,15 @@
181 181 }
182 182 #endif
183 183  
  184 +static const struct net_device_ops i1480u_netdev_ops = {
  185 + .ndo_open = i1480u_open,
  186 + .ndo_stop = i1480u_stop,
  187 + .ndo_start_xmit = i1480u_hard_start_xmit,
  188 + .ndo_tx_timeout = i1480u_tx_timeout,
  189 + .ndo_set_config = i1480u_set_config,
  190 + .ndo_change_mtu = i1480u_change_mtu,
  191 +};
  192 +
184 193 static
185 194 int i1480u_add(struct i1480u *i1480u, struct usb_interface *iface)
186 195 {
... ... @@ -235,13 +244,7 @@
235 244 net_dev->features |= NETIF_F_HIGHDMA;
236 245 net_dev->watchdog_timeo = 5*HZ; /* FIXME: a better default? */
237 246  
238   - net_dev->open = i1480u_open;
239   - net_dev->stop = i1480u_stop;
240   - net_dev->hard_start_xmit = i1480u_hard_start_xmit;
241   - net_dev->tx_timeout = i1480u_tx_timeout;
242   - net_dev->get_stats = i1480u_get_stats;
243   - net_dev->set_config = i1480u_set_config;
244   - net_dev->change_mtu = i1480u_change_mtu;
  247 + net_dev->netdev_ops = &i1480u_netdev_ops;
245 248  
246 249 #ifdef i1480u_FLOW_CONTROL
247 250 /* Notification endpoint setup (submitted when we open the device) */
drivers/uwb/i1480/i1480u-wlp/netdev.c
... ... @@ -262,15 +262,6 @@
262 262 return 0;
263 263 }
264 264  
265   -
266   -/** Report statistics */
267   -struct net_device_stats *i1480u_get_stats(struct net_device *net_dev)
268   -{
269   - struct i1480u *i1480u = netdev_priv(net_dev);
270   - return &i1480u->stats;
271   -}
272   -
273   -
274 265 /**
275 266 *
276 267 * Change the interface config--we probably don't have to do anything.
drivers/uwb/i1480/i1480u-wlp/rx.c
... ... @@ -167,7 +167,7 @@
167 167 do { \
168 168 if (printk_ratelimit()) \
169 169 dev_err(&i1480u->usb_iface->dev, msg); \
170   - i1480u->stats.rx_dropped++; \
  170 + i1480u->net_dev->stats.rx_dropped++; \
171 171 } while (0)
172 172  
173 173  
... ... @@ -193,10 +193,8 @@
193 193 if (!should_parse)
194 194 goto out;
195 195 i1480u->rx_skb->protocol = eth_type_trans(i1480u->rx_skb, net_dev);
196   - i1480u->stats.rx_packets++;
197   - i1480u->stats.rx_bytes += i1480u->rx_untd_pkt_size;
198   - net_dev->last_rx = jiffies;
199   - /* FIXME: flow control: check netif_rx() retval */
  196 + net_dev->stats.rx_packets++;
  197 + net_dev->stats.rx_bytes += i1480u->rx_untd_pkt_size;
200 198  
201 199 netif_rx(i1480u->rx_skb); /* deliver */
202 200 out:
drivers/uwb/i1480/i1480u-wlp/tx.c
... ... @@ -117,8 +117,8 @@
117 117 switch (urb->status) {
118 118 case 0:
119 119 spin_lock_irqsave(&i1480u->lock, flags);
120   - i1480u->stats.tx_packets++;
121   - i1480u->stats.tx_bytes += urb->actual_length;
  120 + net_dev->stats.tx_packets++;
  121 + net_dev->stats.tx_bytes += urb->actual_length;
122 122 spin_unlock_irqrestore(&i1480u->lock, flags);
123 123 break;
124 124 case -ECONNRESET: /* Not an error, but a controlled situation; */
... ... @@ -530,7 +530,7 @@
530 530 return NETDEV_TX_OK;
531 531 error:
532 532 dev_kfree_skb_any(skb);
533   - i1480u->stats.tx_dropped++;
  533 + net_dev->stats.tx_dropped++;
534 534 out:
535 535 return NETDEV_TX_OK;
536 536 }