Commit 4805fc76 authored by Stephen Hemminger's avatar Stephen Hemminger Committed by David S. Miller

fusion: convert devices to new API

Convert to net_device_ops and internal net_device_stats
Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d700555b
...@@ -106,7 +106,6 @@ struct mpt_lan_priv { ...@@ -106,7 +106,6 @@ struct mpt_lan_priv {
u32 total_posted; u32 total_posted;
u32 total_received; u32 total_received;
struct net_device_stats stats; /* Per device statistics */
struct delayed_work post_buckets_task; struct delayed_work post_buckets_task;
struct net_device *dev; struct net_device *dev;
...@@ -547,15 +546,6 @@ mpt_lan_close(struct net_device *dev) ...@@ -547,15 +546,6 @@ mpt_lan_close(struct net_device *dev)
return 0; return 0;
} }
/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
static struct net_device_stats *
mpt_lan_get_stats(struct net_device *dev)
{
struct mpt_lan_priv *priv = netdev_priv(dev);
return (struct net_device_stats *) &priv->stats;
}
/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
static int static int
mpt_lan_change_mtu(struct net_device *dev, int new_mtu) mpt_lan_change_mtu(struct net_device *dev, int new_mtu)
...@@ -594,8 +584,8 @@ mpt_lan_send_turbo(struct net_device *dev, u32 tmsg) ...@@ -594,8 +584,8 @@ mpt_lan_send_turbo(struct net_device *dev, u32 tmsg)
ctx = GET_LAN_BUFFER_CONTEXT(tmsg); ctx = GET_LAN_BUFFER_CONTEXT(tmsg);
sent = priv->SendCtl[ctx].skb; sent = priv->SendCtl[ctx].skb;
priv->stats.tx_packets++; dev->stats.tx_packets++;
priv->stats.tx_bytes += sent->len; dev->stats.tx_bytes += sent->len;
dioprintk((KERN_INFO MYNAM ": %s/%s: @%s, skb %p sent.\n", dioprintk((KERN_INFO MYNAM ": %s/%s: @%s, skb %p sent.\n",
IOC_AND_NETDEV_NAMES_s_s(dev), IOC_AND_NETDEV_NAMES_s_s(dev),
...@@ -636,7 +626,7 @@ mpt_lan_send_reply(struct net_device *dev, LANSendReply_t *pSendRep) ...@@ -636,7 +626,7 @@ mpt_lan_send_reply(struct net_device *dev, LANSendReply_t *pSendRep)
switch (le16_to_cpu(pSendRep->IOCStatus) & MPI_IOCSTATUS_MASK) { switch (le16_to_cpu(pSendRep->IOCStatus) & MPI_IOCSTATUS_MASK) {
case MPI_IOCSTATUS_SUCCESS: case MPI_IOCSTATUS_SUCCESS:
priv->stats.tx_packets += count; dev->stats.tx_packets += count;
break; break;
case MPI_IOCSTATUS_LAN_CANCELED: case MPI_IOCSTATUS_LAN_CANCELED:
...@@ -644,13 +634,13 @@ mpt_lan_send_reply(struct net_device *dev, LANSendReply_t *pSendRep) ...@@ -644,13 +634,13 @@ mpt_lan_send_reply(struct net_device *dev, LANSendReply_t *pSendRep)
break; break;
case MPI_IOCSTATUS_INVALID_SGL: case MPI_IOCSTATUS_INVALID_SGL:
priv->stats.tx_errors += count; dev->stats.tx_errors += count;
printk (KERN_ERR MYNAM ": %s/%s: ERROR - Invalid SGL sent to IOC!\n", printk (KERN_ERR MYNAM ": %s/%s: ERROR - Invalid SGL sent to IOC!\n",
IOC_AND_NETDEV_NAMES_s_s(dev)); IOC_AND_NETDEV_NAMES_s_s(dev));
goto out; goto out;
default: default:
priv->stats.tx_errors += count; dev->stats.tx_errors += count;
break; break;
} }
...@@ -661,7 +651,7 @@ mpt_lan_send_reply(struct net_device *dev, LANSendReply_t *pSendRep) ...@@ -661,7 +651,7 @@ mpt_lan_send_reply(struct net_device *dev, LANSendReply_t *pSendRep)
ctx = GET_LAN_BUFFER_CONTEXT(le32_to_cpu(*pContext)); ctx = GET_LAN_BUFFER_CONTEXT(le32_to_cpu(*pContext));
sent = priv->SendCtl[ctx].skb; sent = priv->SendCtl[ctx].skb;
priv->stats.tx_bytes += sent->len; dev->stats.tx_bytes += sent->len;
dioprintk((KERN_INFO MYNAM ": %s/%s: @%s, skb %p sent.\n", dioprintk((KERN_INFO MYNAM ": %s/%s: @%s, skb %p sent.\n",
IOC_AND_NETDEV_NAMES_s_s(dev), IOC_AND_NETDEV_NAMES_s_s(dev),
...@@ -842,8 +832,8 @@ mpt_lan_receive_skb(struct net_device *dev, struct sk_buff *skb) ...@@ -842,8 +832,8 @@ mpt_lan_receive_skb(struct net_device *dev, struct sk_buff *skb)
"delivered to upper level.\n", "delivered to upper level.\n",
IOC_AND_NETDEV_NAMES_s_s(dev), skb->len)); IOC_AND_NETDEV_NAMES_s_s(dev), skb->len));
priv->stats.rx_bytes += skb->len; dev->stats.rx_bytes += skb->len;
priv->stats.rx_packets++; dev->stats.rx_packets++;
skb->dev = dev; skb->dev = dev;
netif_rx(skb); netif_rx(skb);
...@@ -1308,6 +1298,14 @@ mpt_lan_post_receive_buckets_work(struct work_struct *work) ...@@ -1308,6 +1298,14 @@ mpt_lan_post_receive_buckets_work(struct work_struct *work)
post_buckets_task.work)); post_buckets_task.work));
} }
static const struct net_device_ops mpt_netdev_ops = {
.ndo_open = mpt_lan_open,
.ndo_stop = mpt_lan_close,
.ndo_start_xmit = mpt_lan_sdu_send,
.ndo_change_mtu = mpt_lan_change_mtu,
.ndo_tx_timeout = mpt_lan_tx_timeout,
};
/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
static struct net_device * static struct net_device *
mpt_register_lan_device (MPT_ADAPTER *mpt_dev, int pnum) mpt_register_lan_device (MPT_ADAPTER *mpt_dev, int pnum)
...@@ -1372,15 +1370,7 @@ mpt_register_lan_device (MPT_ADAPTER *mpt_dev, int pnum) ...@@ -1372,15 +1370,7 @@ mpt_register_lan_device (MPT_ADAPTER *mpt_dev, int pnum)
priv->tx_max_out = (tx_max_out_p <= MPT_TX_MAX_OUT_LIM) ? priv->tx_max_out = (tx_max_out_p <= MPT_TX_MAX_OUT_LIM) ?
tx_max_out_p : MPT_TX_MAX_OUT_LIM; tx_max_out_p : MPT_TX_MAX_OUT_LIM;
dev->open = mpt_lan_open; dev->netdev_ops = &mpt_netdev_ops;
dev->stop = mpt_lan_close;
dev->get_stats = mpt_lan_get_stats;
dev->set_multicast_list = NULL;
dev->change_mtu = mpt_lan_change_mtu;
dev->hard_start_xmit = mpt_lan_sdu_send;
/* Not in 2.3.42. Need 2.3.45+ */
dev->tx_timeout = mpt_lan_tx_timeout;
dev->watchdog_timeo = MPT_LAN_TX_TIMEOUT; dev->watchdog_timeo = MPT_LAN_TX_TIMEOUT;
dlprintk((KERN_INFO MYNAM ": Finished registering dev " dlprintk((KERN_INFO MYNAM ": Finished registering dev "
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment