From cd21316c0b021efccbc1234b7d37a06c10624867 Mon Sep 17 00:00:00 2001 From: sruffell Date: Sun, 4 Oct 2009 19:31:45 +0000 Subject: wctc4xxp: Update to use struct net_device_ops. Accomodates a change in the linux kernel network device interface. This is a backport from https://origsvn.digium.com/svn/dahdi/linux/trunk@6717 From: sruffell git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@4686 5390a7c7-147a-4af0-8ec9-7488f05a26cb --- kernel/wctc4xxp/base.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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; -- cgit v1.2.3