apdev_priv = netdev_priv(pDevice->apdev);
*apdev_priv = *pDevice;
memcpy(pDevice->apdev->dev_addr, dev->dev_addr, ETH_ALEN);
- pDevice->apdev->hard_start_xmit = pDevice->tx_80211;
+
+ const struct net_device_ops apdev_netdev_ops = {
+ .ndo_start_xmit = pDevice->tx_80211,
+ };
+ pDevice->apdev->netdev_ops = &apdev_netdev_ops;
+
pDevice->apdev->type = ARPHRD_IEEE80211;
pDevice->apdev->base_addr = dev->base_addr;
}
#endif
+
+static const struct net_device_ops device_netdev_ops = {
+ .ndo_open = device_open,
+ .ndo_stop = device_close,
+ .ndo_do_ioctl = device_ioctl,
+ .ndo_get_stats = device_get_stats,
+ .ndo_start_xmit = device_xmit,
+ .ndo_set_multicast_list = device_set_multi,
+};
+
+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
static int
pDevice->tx_80211 = device_dma0_tx_80211;
pDevice->sMgmtObj.pAdapter = (PVOID)pDevice;
- netdev->open = device_open;
- netdev->hard_start_xmit = device_xmit;
- netdev->stop = device_close;
- netdev->get_stats = device_get_stats;
- netdev->set_multicast_list = device_set_multi;
- netdev->do_ioctl = device_ioctl;
+ netdev->netdev_ops = &device_netdev_ops;
+
#ifdef WIRELESS_EXT
//2007-0508-01<Add>by MikeLiu