Lines Matching full:netdev

134 	struct net_device *netdev[F81604_MAX_DEV];  member
139 struct net_device *netdev; member
254 int port = priv->netdev->dev_port; in f81604_sja1000_write()
264 int port = priv->netdev->dev_port; in f81604_sja1000_read()
370 static void f81604_process_rx_packet(struct net_device *netdev, in f81604_process_rx_packet() argument
373 struct net_device_stats *stats = &netdev->stats; in f81604_process_rx_packet()
380 skb = alloc_can_skb(netdev, &cf); in f81604_process_rx_packet()
415 struct net_device *netdev = urb->context; in f81604_read_bulk_callback() local
418 if (!netif_device_present(netdev)) in f81604_read_bulk_callback()
422 netdev_info(netdev, "%s: URB aborted %pe\n", __func__, in f81604_read_bulk_callback()
440 netdev_warn(netdev, "URB length %u not equal to %zu\n", in f81604_read_bulk_callback()
445 f81604_process_rx_packet(netdev, frame); in f81604_read_bulk_callback()
450 netif_device_detach(netdev); in f81604_read_bulk_callback()
452 netdev_err(netdev, in f81604_read_bulk_callback()
460 struct net_device *netdev = priv->netdev; in f81604_handle_tx() local
461 struct net_device_stats *stats = &netdev->stats; in f81604_handle_tx()
467 can_free_echo_skb(netdev, 0, NULL); in f81604_handle_tx()
470 stats->tx_bytes += can_get_echo_skb(netdev, 0, NULL); in f81604_handle_tx()
474 netif_wake_queue(netdev); in f81604_handle_tx()
481 struct net_device *netdev = priv->netdev; in f81604_handle_can_bus_errors() local
482 struct net_device_stats *stats = &netdev->stats; in f81604_handle_can_bus_errors()
490 skb = alloc_can_err_skb(netdev, &cf); in f81604_handle_can_bus_errors()
499 netdev_dbg(netdev, "data overrun interrupt\n"); in f81604_handle_can_bus_errors()
514 netdev_dbg(netdev, "error warning interrupt\n"); in f81604_handle_can_bus_errors()
526 netdev_dbg(netdev, "bus error interrupt\n"); in f81604_handle_can_bus_errors()
571 netdev_dbg(netdev, "error passive interrupt: %d\n", can_state); in f81604_handle_can_bus_errors()
576 netdev_dbg(netdev, "arbitration lost interrupt\n"); in f81604_handle_can_bus_errors()
594 can_change_state(netdev, cf, tx_state, rx_state); in f81604_handle_can_bus_errors()
597 can_bus_off(netdev); in f81604_handle_can_bus_errors()
610 struct net_device *netdev = urb->context; in f81604_read_int_callback() local
614 priv = netdev_priv(netdev); in f81604_read_int_callback()
616 if (!netif_device_present(netdev)) in f81604_read_int_callback()
620 netdev_info(netdev, "%s: Int URB aborted: %pe\n", __func__, in f81604_read_int_callback()
651 netif_device_detach(netdev); in f81604_read_int_callback()
653 netdev_err(netdev, "%s: failed to resubmit int urb: %pe\n", in f81604_read_int_callback()
664 struct net_device *netdev = priv->netdev; in f81604_register_urbs() local
666 int id = netdev->dev_port; in f81604_register_urbs()
691 f81604_read_bulk_callback, netdev); in f81604_register_urbs()
708 netdev_warn(netdev, "%s: submit rx urb failed: %pe\n", in f81604_register_urbs()
729 sizeof(*int_data), f81604_read_int_callback, netdev, in f81604_register_urbs()
740 netdev_warn(netdev, "%s: submit int urb failed: %pe\n", in f81604_register_urbs()
755 static int f81604_start(struct net_device *netdev) in f81604_start() argument
757 struct f81604_port_priv *priv = netdev_priv(netdev); in f81604_start()
852 static int f81604_set_mode(struct net_device *netdev, enum can_mode mode) in f81604_set_mode() argument
858 ret = f81604_start(netdev); in f81604_set_mode()
859 if (!ret && netif_queue_stopped(netdev)) in f81604_set_mode()
860 netif_wake_queue(netdev); in f81604_set_mode()
872 struct net_device *netdev = urb->context; in f81604_write_bulk_callback() local
874 if (!netif_device_present(netdev)) in f81604_write_bulk_callback()
878 netdev_info(netdev, "%s: Tx URB error: %pe\n", __func__, in f81604_write_bulk_callback()
904 struct net_device *netdev) in f81604_start_xmit() argument
907 struct f81604_port_priv *priv = netdev_priv(netdev); in f81604_start_xmit()
908 struct net_device_stats *stats = &netdev->stats; in f81604_start_xmit()
913 if (can_dev_dropped_skb(netdev, skb)) in f81604_start_xmit()
916 netif_stop_queue(netdev); in f81604_start_xmit()
928 bulk_out_addr[netdev->dev_port]), in f81604_start_xmit()
930 priv->netdev); in f81604_start_xmit()
958 can_put_echo_skb(skb, netdev, 0, 0); in f81604_start_xmit()
962 netdev_err(netdev, "%s: failed to resubmit tx bulk urb: %pe\n", in f81604_start_xmit()
965 can_free_echo_skb(netdev, 0, NULL); in f81604_start_xmit()
970 netif_device_detach(netdev); in f81604_start_xmit()
972 netif_wake_queue(netdev); in f81604_start_xmit()
987 netif_wake_queue(netdev); in f81604_start_xmit()
992 static int f81604_get_berr_counter(const struct net_device *netdev, in f81604_get_berr_counter() argument
995 struct f81604_port_priv *priv = netdev_priv(netdev); in f81604_get_berr_counter()
1014 static int f81604_open(struct net_device *netdev) in f81604_open() argument
1018 ret = open_candev(netdev); in f81604_open()
1022 ret = f81604_start(netdev); in f81604_open()
1025 netif_device_detach(netdev); in f81604_open()
1027 close_candev(netdev); in f81604_open()
1031 netif_start_queue(netdev); in f81604_open()
1036 static int f81604_close(struct net_device *netdev) in f81604_close() argument
1038 struct f81604_port_priv *priv = netdev_priv(netdev); in f81604_close()
1042 netif_stop_queue(netdev); in f81604_close()
1044 close_candev(netdev); in f81604_close()
1076 for (i = 0; i < ARRAY_SIZE(priv->netdev); ++i) { in f81604_disconnect()
1077 if (!priv->netdev[i]) in f81604_disconnect()
1080 unregister_netdev(priv->netdev[i]); in f81604_disconnect()
1081 free_candev(priv->netdev[i]); in f81604_disconnect()
1100 static int f81604_set_termination(struct net_device *netdev, u16 term) in f81604_set_termination() argument
1102 struct f81604_port_priv *port_priv = netdev_priv(netdev); in f81604_set_termination()
1106 return __f81604_set_termination(port_priv->dev, netdev->dev_port, in f81604_set_termination()
1114 struct net_device *netdev; in f81604_probe() local
1124 for (i = 0; i < ARRAY_SIZE(priv->netdev); ++i) { in f81604_probe()
1134 for (i = 0; i < ARRAY_SIZE(priv->netdev); ++i) { in f81604_probe()
1137 netdev = alloc_candev(sizeof(*port_priv), 1); in f81604_probe()
1138 if (!netdev) { in f81604_probe()
1145 port_priv = netdev_priv(netdev); in f81604_probe()
1152 port_priv->netdev = netdev; in f81604_probe()
1168 netdev->ethtool_ops = &f81604_ethtool_ops; in f81604_probe()
1169 netdev->netdev_ops = &f81604_netdev_ops; in f81604_probe()
1170 netdev->flags |= IFF_ECHO; in f81604_probe()
1171 netdev->dev_port = i; in f81604_probe()
1173 SET_NETDEV_DEV(netdev, &intf->dev); in f81604_probe()
1175 ret = register_candev(netdev); in f81604_probe()
1177 netdev_err(netdev, "register CAN device failed: %pe\n", in f81604_probe()
1179 free_candev(netdev); in f81604_probe()
1184 priv->netdev[i] = netdev; in f81604_probe()