--- dahdi-linux-2.2.0.2/drivers/dahdi/wctc4xxp/base.c 2009/08/04 16:30:11 6936 +++ dahdi-linux-2.2.0.2/drivers/dahdi/wctc4xxp/base.c 2009/08/04 16:38:56 6937 @@ -742,6 +742,17 @@ return 0; } +#ifdef HAVE_NET_DEVICE_OPS +static 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. @@ -773,14 +784,21 @@ 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;