Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d9b06c47 authored by Stephen Hemminger's avatar Stephen Hemminger Committed by David S. Miller
Browse files

cycx: convert to net_device_ops

parent 49e8abaf
Loading
Loading
Loading
Loading
+21 −20
Original line number Diff line number Diff line
@@ -355,12 +355,6 @@ static int cycx_wan_update(struct wan_device *wandev)
	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.
 * This routine is called by the router when ROUTER_IFNEW IOCTL is being
 * handled.
@@ -476,6 +470,27 @@ static const struct header_ops cycx_header_ops = {
	.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.
 *
 * 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 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)
		*(__be16*)dev->dev_addr = htons(chan->lcn);