Lines Matching refs:netdev
18 * test is a specific CAN netdev
21 static inline int canif_is_active(struct net_device *netdev)
23 struct can_priv *can = netdev_priv(netdev);
25 if (!netif_running(netdev))
132 int softing_netdev_rx(struct net_device *netdev, const struct can_frame *msg,
138 skb = alloc_can_skb(netdev, &cf);
152 struct net_device *netdev;
178 netdev = card->net[j];
179 if (!netdev)
181 if (!canif_is_active(netdev))
184 ++netdev->stats.rx_over_errors;
185 softing_netdev_rx(netdev, &msg, 0);
211 netdev = card->net[0];
213 netdev = card->net[1];
214 priv = netdev_priv(netdev);
245 ++netdev->stats.rx_errors;
254 can_bus_off(netdev);
255 netif_stop_queue(netdev);
258 softing_netdev_rx(netdev, &msg, ktime);
286 ++netdev->stats.tx_packets;
287 netdev->stats.tx_bytes +=
288 can_get_echo_skb(netdev, priv->tx.echo_get,
300 ret = softing_netdev_rx(netdev, &msg, ktime);
302 ++netdev->stats.rx_packets;
304 netdev->stats.rx_bytes += msg.len;
306 ++netdev->stats.rx_dropped;
320 struct net_device *netdev;
336 netdev = card->net[(j + offset + 1) % card->pdat->nbus];
337 if (!netdev)
339 priv = netdev_priv(netdev);
340 if (!canif_is_active(netdev))
346 netif_wake_queue(netdev);
376 * netdev/candev interoperability
549 * netdev sysfs
635 struct net_device *netdev;
638 netdev = alloc_candev(sizeof(*priv), TX_ECHO_SKB_MAX);
639 if (!netdev) {
643 priv = netdev_priv(netdev);
644 priv->netdev = netdev;
652 priv->output = softing_default_output(netdev);
653 SET_NETDEV_DEV(netdev, &card->pdev->dev);
655 netdev->flags |= IFF_ECHO;
656 netdev->netdev_ops = &softing_netdev_ops;
657 netdev->ethtool_ops = &softing_ethtool_ops;
661 return netdev;
664 static int softing_netdev_register(struct net_device *netdev)
668 ret = register_candev(netdev);
670 dev_alert(&netdev->dev, "register failed\n");
673 if (sysfs_create_group(&netdev->dev.kobj, &netdev_sysfs_group) < 0)
674 netdev_alert(netdev, "sysfs group failed\n");
679 static void softing_netdev_cleanup(struct net_device *netdev)
681 sysfs_remove_group(&netdev->dev.kobj, &netdev_sysfs_group);
682 unregister_candev(netdev);
683 free_candev(netdev);
756 struct net_device *netdev;
813 card->net[j] = netdev =
815 if (!netdev) {
820 netdev->dev_id = j;
823 ret = softing_netdev_register(netdev);
825 free_candev(netdev);