summaryrefslogtreecommitdiff
path: root/kernel/wctc4xxp/base.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/wctc4xxp/base.c')
-rw-r--r--kernel/wctc4xxp/base.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/kernel/wctc4xxp/base.c b/kernel/wctc4xxp/base.c
index 240dea8..a2f1514 100644
--- a/kernel/wctc4xxp/base.c
+++ b/kernel/wctc4xxp/base.c
@@ -730,6 +730,17 @@ wctc4xxp_net_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd)
return 0;
}
+#ifdef HAVE_NET_DEVICE_OPS
+const struct net_device_ops wctc4xxp_netdev_ops = {
+ .ndo_set_multicast_list = &wctc4xxp_net_set_multi,
+ .ndo_open = &wctc4xxp_net_up,
+ .ndo_stop = &wctc4xxp_net_down,
+ .ndo_start_xmit = &wctc4xxp_net_hard_start_xmit,
+ .ndo_get_stats = &wctc4xxp_net_get_stats,
+ .ndo_do_ioctl = &wctc4xxp_net_ioctl,
+};
+#endif
+
/**
* wctc4xxp_net_register - Register a new network interface.
* @wc: transcoder card to register the interface for.
@@ -761,14 +772,21 @@ wctc4xxp_net_register(struct wcdte *wc)
netdev->priv = wc;
# endif
memcpy(netdev->dev_addr, our_mac, sizeof(our_mac));
+
+# ifdef HAVE_NET_DEVICE_OPS
+ netdev->netdev_ops = &wctc4xxp_netdev_ops;
+# else
netdev->set_multicast_list = &wctc4xxp_net_set_multi;
netdev->open = &wctc4xxp_net_up;
netdev->stop = &wctc4xxp_net_down;
netdev->hard_start_xmit = &wctc4xxp_net_hard_start_xmit;
netdev->get_stats = &wctc4xxp_net_get_stats;
netdev->do_ioctl = &wctc4xxp_net_ioctl;
+# endif
+
netdev->promiscuity = 0;
netdev->flags |= IFF_NOARP;
+
# if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24)
netdev->poll = &wctc4xxp_poll;
netdev->weight = 64;