|
@@ -225,6 +225,7 @@ static char rcsid[] =
|
|
|
#include <linux/skbuff.h>
|
|
|
#include <linux/if_arp.h>
|
|
|
#include <linux/netdevice.h>
|
|
|
+#include <linux/etherdevice.h>
|
|
|
#include <linux/spinlock.h>
|
|
|
#include <linux/if.h>
|
|
|
#include <net/arp.h>
|
|
@@ -3246,6 +3247,16 @@ static inline void show_version(void)
|
|
|
rcsvers, rcsdate, __DATE__, __TIME__);
|
|
|
} /* show_version */
|
|
|
|
|
|
+static const struct net_device_ops cpc_netdev_ops = {
|
|
|
+ .ndo_open = cpc_open,
|
|
|
+ .ndo_stop = cpc_close,
|
|
|
+ .ndo_tx_timeout = cpc_tx_timeout,
|
|
|
+ .ndo_set_mac_address = NULL,
|
|
|
+ .ndo_change_mtu = cpc_change_mtu,
|
|
|
+ .ndo_do_ioctl = cpc_ioctl,
|
|
|
+ .ndo_validate_addr = eth_validate_addr,
|
|
|
+};
|
|
|
+
|
|
|
static void cpc_init_card(pc300_t * card)
|
|
|
{
|
|
|
int i, devcount = 0;
|
|
@@ -3357,18 +3368,11 @@ static void cpc_init_card(pc300_t * card)
|
|
|
dev->mem_start = card->hw.ramphys;
|
|
|
dev->mem_end = card->hw.ramphys + card->hw.ramsize - 1;
|
|
|
dev->irq = card->hw.irq;
|
|
|
- dev->init = NULL;
|
|
|
dev->tx_queue_len = PC300_TX_QUEUE_LEN;
|
|
|
dev->mtu = PC300_DEF_MTU;
|
|
|
|
|
|
- dev->open = cpc_open;
|
|
|
- dev->stop = cpc_close;
|
|
|
- dev->tx_timeout = cpc_tx_timeout;
|
|
|
+ dev->netdev_ops = &cpc_netdev_ops;
|
|
|
dev->watchdog_timeo = PC300_TX_TIMEOUT;
|
|
|
- dev->set_multicast_list = NULL;
|
|
|
- dev->set_mac_address = NULL;
|
|
|
- dev->change_mtu = cpc_change_mtu;
|
|
|
- dev->do_ioctl = cpc_ioctl;
|
|
|
|
|
|
if (register_hdlc_device(dev) == 0) {
|
|
|
printk("%s: Cyclades-PC300/", dev->name);
|