Loading drivers/misc/sgi-xp/xpnet.c +20 −48 Original line number Diff line number Diff line Loading @@ -95,11 +95,6 @@ struct xpnet_pending_msg { atomic_t use_count; }; /* driver specific structure pointed to by the device structure */ struct xpnet_dev_private { struct net_device_stats stats; }; struct net_device *xpnet_device; /* Loading Loading @@ -153,7 +148,6 @@ xpnet_receive(short partid, int channel, struct xpnet_message *msg) struct sk_buff *skb; void *dst; enum xp_retval ret; struct xpnet_dev_private *priv = netdev_priv(xpnet_device); if (!XPNET_VALID_MSG(msg)) { /* Loading @@ -161,7 +155,7 @@ xpnet_receive(short partid, int channel, struct xpnet_message *msg) */ xpc_received(partid, channel, (void *)msg); priv->stats.rx_errors++; xpnet_device->stats.rx_errors++; return; } Loading @@ -176,7 +170,7 @@ xpnet_receive(short partid, int channel, struct xpnet_message *msg) xpc_received(partid, channel, (void *)msg); priv->stats.rx_errors++; xpnet_device->stats.rx_errors++; return; } Loading Loading @@ -226,7 +220,7 @@ xpnet_receive(short partid, int channel, struct xpnet_message *msg) xpc_received(partid, channel, (void *)msg); priv->stats.rx_errors++; xpnet_device->stats.rx_errors++; return; } Loading @@ -247,8 +241,8 @@ xpnet_receive(short partid, int channel, struct xpnet_message *msg) skb_end_pointer(skb), skb->len); xpnet_device->last_rx = jiffies; priv->stats.rx_packets++; priv->stats.rx_bytes += skb->len + ETH_HLEN; xpnet_device->stats.rx_packets++; xpnet_device->stats.rx_bytes += skb->len + ETH_HLEN; netif_rx_ni(skb); xpc_received(partid, channel, (void *)msg); Loading Loading @@ -352,26 +346,6 @@ xpnet_dev_change_mtu(struct net_device *dev, int new_mtu) return 0; } /* * Required for the net_device structure. */ static int xpnet_dev_set_config(struct net_device *dev, struct ifmap *new_map) { return 0; } /* * Return statistics to the caller. */ static struct net_device_stats * xpnet_dev_get_stats(struct net_device *dev) { struct xpnet_dev_private *priv = netdev_priv(dev); return &priv->stats; } /* * Notification that the other end has received the message and * DMA'd the skb information. At this point, they are done with Loading Loading @@ -453,7 +427,6 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) struct xpnet_pending_msg *queued_msg; u64 start_addr, end_addr; short dest_partid; struct xpnet_dev_private *priv = netdev_priv(dev); u16 embedded_bytes = 0; dev_dbg(xpnet, ">skb->head=0x%p skb->data=0x%p skb->tail=0x%p " Loading @@ -476,7 +449,7 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) dev_warn(xpnet, "failed to kmalloc %ld bytes; dropping " "packet\n", sizeof(struct xpnet_pending_msg)); priv->stats.tx_errors++; dev->stats.tx_errors++; return -ENOMEM; } Loading Loading @@ -526,8 +499,8 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) kfree(queued_msg); } priv->stats.tx_packets++; priv->stats.tx_bytes += skb->len; dev->stats.tx_packets++; dev->stats.tx_bytes += skb->len; return 0; } Loading @@ -538,12 +511,19 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) static void xpnet_dev_tx_timeout(struct net_device *dev) { struct xpnet_dev_private *priv = netdev_priv(dev); priv->stats.tx_errors++; return; dev->stats.tx_errors++; } static const struct net_device_ops xpnet_netdev_ops = { .ndo_open = xpnet_dev_open, .ndo_stop = xpnet_dev_stop, .ndo_start_xmit = xpnet_dev_hard_start_xmit, .ndo_change_mtu = xpnet_dev_change_mtu, .ndo_tx_timeout = xpnet_dev_tx_timeout, .ndo_set_mac_address = eth_mac_addr, .ndo_validate_addr = eth_validate_addr, }; static int __init xpnet_init(void) { Loading @@ -563,8 +543,7 @@ xpnet_init(void) * use ether_setup() to init the majority of our device * structure and then override the necessary pieces. */ xpnet_device = alloc_netdev(sizeof(struct xpnet_dev_private), XPNET_DEVICE_NAME, ether_setup); xpnet_device = alloc_netdev(0, XPNET_DEVICE_NAME, ether_setup); if (xpnet_device == NULL) { kfree(xpnet_broadcast_partitions); return -ENOMEM; Loading @@ -573,13 +552,6 @@ xpnet_init(void) netif_carrier_off(xpnet_device); xpnet_device->mtu = XPNET_DEF_MTU; xpnet_device->change_mtu = xpnet_dev_change_mtu; xpnet_device->open = xpnet_dev_open; xpnet_device->get_stats = xpnet_dev_get_stats; xpnet_device->stop = xpnet_dev_stop; xpnet_device->hard_start_xmit = xpnet_dev_hard_start_xmit; xpnet_device->tx_timeout = xpnet_dev_tx_timeout; xpnet_device->set_config = xpnet_dev_set_config; /* * Multicast assumes the LSB of the first octet is set for multicast Loading Loading
drivers/misc/sgi-xp/xpnet.c +20 −48 Original line number Diff line number Diff line Loading @@ -95,11 +95,6 @@ struct xpnet_pending_msg { atomic_t use_count; }; /* driver specific structure pointed to by the device structure */ struct xpnet_dev_private { struct net_device_stats stats; }; struct net_device *xpnet_device; /* Loading Loading @@ -153,7 +148,6 @@ xpnet_receive(short partid, int channel, struct xpnet_message *msg) struct sk_buff *skb; void *dst; enum xp_retval ret; struct xpnet_dev_private *priv = netdev_priv(xpnet_device); if (!XPNET_VALID_MSG(msg)) { /* Loading @@ -161,7 +155,7 @@ xpnet_receive(short partid, int channel, struct xpnet_message *msg) */ xpc_received(partid, channel, (void *)msg); priv->stats.rx_errors++; xpnet_device->stats.rx_errors++; return; } Loading @@ -176,7 +170,7 @@ xpnet_receive(short partid, int channel, struct xpnet_message *msg) xpc_received(partid, channel, (void *)msg); priv->stats.rx_errors++; xpnet_device->stats.rx_errors++; return; } Loading Loading @@ -226,7 +220,7 @@ xpnet_receive(short partid, int channel, struct xpnet_message *msg) xpc_received(partid, channel, (void *)msg); priv->stats.rx_errors++; xpnet_device->stats.rx_errors++; return; } Loading @@ -247,8 +241,8 @@ xpnet_receive(short partid, int channel, struct xpnet_message *msg) skb_end_pointer(skb), skb->len); xpnet_device->last_rx = jiffies; priv->stats.rx_packets++; priv->stats.rx_bytes += skb->len + ETH_HLEN; xpnet_device->stats.rx_packets++; xpnet_device->stats.rx_bytes += skb->len + ETH_HLEN; netif_rx_ni(skb); xpc_received(partid, channel, (void *)msg); Loading Loading @@ -352,26 +346,6 @@ xpnet_dev_change_mtu(struct net_device *dev, int new_mtu) return 0; } /* * Required for the net_device structure. */ static int xpnet_dev_set_config(struct net_device *dev, struct ifmap *new_map) { return 0; } /* * Return statistics to the caller. */ static struct net_device_stats * xpnet_dev_get_stats(struct net_device *dev) { struct xpnet_dev_private *priv = netdev_priv(dev); return &priv->stats; } /* * Notification that the other end has received the message and * DMA'd the skb information. At this point, they are done with Loading Loading @@ -453,7 +427,6 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) struct xpnet_pending_msg *queued_msg; u64 start_addr, end_addr; short dest_partid; struct xpnet_dev_private *priv = netdev_priv(dev); u16 embedded_bytes = 0; dev_dbg(xpnet, ">skb->head=0x%p skb->data=0x%p skb->tail=0x%p " Loading @@ -476,7 +449,7 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) dev_warn(xpnet, "failed to kmalloc %ld bytes; dropping " "packet\n", sizeof(struct xpnet_pending_msg)); priv->stats.tx_errors++; dev->stats.tx_errors++; return -ENOMEM; } Loading Loading @@ -526,8 +499,8 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) kfree(queued_msg); } priv->stats.tx_packets++; priv->stats.tx_bytes += skb->len; dev->stats.tx_packets++; dev->stats.tx_bytes += skb->len; return 0; } Loading @@ -538,12 +511,19 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) static void xpnet_dev_tx_timeout(struct net_device *dev) { struct xpnet_dev_private *priv = netdev_priv(dev); priv->stats.tx_errors++; return; dev->stats.tx_errors++; } static const struct net_device_ops xpnet_netdev_ops = { .ndo_open = xpnet_dev_open, .ndo_stop = xpnet_dev_stop, .ndo_start_xmit = xpnet_dev_hard_start_xmit, .ndo_change_mtu = xpnet_dev_change_mtu, .ndo_tx_timeout = xpnet_dev_tx_timeout, .ndo_set_mac_address = eth_mac_addr, .ndo_validate_addr = eth_validate_addr, }; static int __init xpnet_init(void) { Loading @@ -563,8 +543,7 @@ xpnet_init(void) * use ether_setup() to init the majority of our device * structure and then override the necessary pieces. */ xpnet_device = alloc_netdev(sizeof(struct xpnet_dev_private), XPNET_DEVICE_NAME, ether_setup); xpnet_device = alloc_netdev(0, XPNET_DEVICE_NAME, ether_setup); if (xpnet_device == NULL) { kfree(xpnet_broadcast_partitions); return -ENOMEM; Loading @@ -573,13 +552,6 @@ xpnet_init(void) netif_carrier_off(xpnet_device); xpnet_device->mtu = XPNET_DEF_MTU; xpnet_device->change_mtu = xpnet_dev_change_mtu; xpnet_device->open = xpnet_dev_open; xpnet_device->get_stats = xpnet_dev_get_stats; xpnet_device->stop = xpnet_dev_stop; xpnet_device->hard_start_xmit = xpnet_dev_hard_start_xmit; xpnet_device->tx_timeout = xpnet_dev_tx_timeout; xpnet_device->set_config = xpnet_dev_set_config; /* * Multicast assumes the LSB of the first octet is set for multicast Loading