cycx: convert to net_device_ops
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
49e8abaf62
commit
d9b06c47a9
@@ -355,12 +355,6 @@ static int cycx_wan_update(struct wan_device *wandev)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* callback to initialize device */
|
|
||||||
static void cycx_x25_chan_setup(struct net_device *dev)
|
|
||||||
{
|
|
||||||
dev->init = cycx_netdevice_init;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Create new logical channel.
|
/* Create new logical channel.
|
||||||
* This routine is called by the router when ROUTER_IFNEW IOCTL is being
|
* This routine is called by the router when ROUTER_IFNEW IOCTL is being
|
||||||
* handled.
|
* handled.
|
||||||
@@ -476,6 +470,27 @@ static const struct header_ops cycx_header_ops = {
|
|||||||
.rebuild = cycx_netdevice_rebuild_header,
|
.rebuild = cycx_netdevice_rebuild_header,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct net_device_ops cycx_netdev_ops = {
|
||||||
|
.ndo_init = cycx_netdevice_init,
|
||||||
|
.ndo_open = cycx_netdevice_open,
|
||||||
|
.ndo_stop = cycx_netdevice_stop,
|
||||||
|
.ndo_start_xmit = cycx_netdevice_hard_start_xmit,
|
||||||
|
.ndo_get_stats = cycx_netdevice_get_stats,
|
||||||
|
};
|
||||||
|
|
||||||
|
static void cycx_x25_chan_setup(struct net_device *dev)
|
||||||
|
{
|
||||||
|
/* Initialize device driver entry points */
|
||||||
|
dev->netdev_ops = &cycx_netdev_ops;
|
||||||
|
dev->header_ops = &cycx_header_ops;
|
||||||
|
|
||||||
|
/* Initialize media-specific parameters */
|
||||||
|
dev->mtu = CYCX_X25_CHAN_MTU;
|
||||||
|
dev->type = ARPHRD_HWX25; /* ARP h/w type */
|
||||||
|
dev->hard_header_len = 0; /* media header length */
|
||||||
|
dev->addr_len = 0; /* hardware address length */
|
||||||
|
}
|
||||||
|
|
||||||
/* Initialize Linux network interface.
|
/* Initialize Linux network interface.
|
||||||
*
|
*
|
||||||
* This routine is called only once for each interface, during Linux network
|
* This routine is called only once for each interface, during Linux network
|
||||||
@@ -487,20 +502,6 @@ static int cycx_netdevice_init(struct net_device *dev)
|
|||||||
struct cycx_device *card = chan->card;
|
struct cycx_device *card = chan->card;
|
||||||
struct wan_device *wandev = &card->wandev;
|
struct wan_device *wandev = &card->wandev;
|
||||||
|
|
||||||
/* Initialize device driver entry points */
|
|
||||||
dev->open = cycx_netdevice_open;
|
|
||||||
dev->stop = cycx_netdevice_stop;
|
|
||||||
dev->header_ops = &cycx_header_ops;
|
|
||||||
|
|
||||||
dev->hard_start_xmit = cycx_netdevice_hard_start_xmit;
|
|
||||||
dev->get_stats = cycx_netdevice_get_stats;
|
|
||||||
|
|
||||||
/* Initialize media-specific parameters */
|
|
||||||
dev->mtu = CYCX_X25_CHAN_MTU;
|
|
||||||
dev->type = ARPHRD_HWX25; /* ARP h/w type */
|
|
||||||
dev->hard_header_len = 0; /* media header length */
|
|
||||||
dev->addr_len = 0; /* hardware address length */
|
|
||||||
|
|
||||||
if (!chan->svc)
|
if (!chan->svc)
|
||||||
*(__be16*)dev->dev_addr = htons(chan->lcn);
|
*(__be16*)dev->dev_addr = htons(chan->lcn);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user