[x86]: add a subtarget and drivers for the Intel Tolapai SoC
[openwrt-10.03/.git] / package / ep80579-drivers / patches / 100-iegbe_netdev_ops.patch
diff --git a/package/ep80579-drivers/patches/100-iegbe_netdev_ops.patch b/package/ep80579-drivers/patches/100-iegbe_netdev_ops.patch
new file mode 100644 (file)
index 0000000..ab23da6
--- /dev/null
@@ -0,0 +1,56 @@
+--- a/Embedded/src/GbE/iegbe_main.c
++++ b/Embedded/src/GbE/iegbe_main.c
+@@ -724,6 +724,26 @@ static void iegbe_dump_eeprom(struct ieg
+       kfree(data);
+ }
++static const struct net_device_ops iegbe_netdev_ops = {
++      .ndo_open               = iegbe_open,
++      .ndo_stop               = iegbe_close,
++      .ndo_start_xmit         = iegbe_xmit_frame,
++      .ndo_get_stats          = iegbe_get_stats,
++      .ndo_set_rx_mode        = iegbe_set_rx_mode,
++      .ndo_set_mac_address    = iegbe_set_mac,
++      .ndo_tx_timeout         = iegbe_tx_timeout,
++      .ndo_change_mtu         = iegbe_change_mtu,
++      .ndo_do_ioctl           = iegbe_ioctl,
++      .ndo_validate_addr      = eth_validate_addr,
++
++      .ndo_vlan_rx_register   = iegbe_vlan_rx_register,
++      .ndo_vlan_rx_add_vid    = iegbe_vlan_rx_add_vid,
++      .ndo_vlan_rx_kill_vid   = iegbe_vlan_rx_kill_vid,
++#ifdef CONFIG_NET_POLL_CONTROLLER
++      .ndo_poll_controller    = iegbe_netpoll,
++#endif
++};
++
+ /**
+  * iegbe_probe - Device Initialization Routine
+  * @pdev: PCI device information struct
+@@ -800,24 +820,11 @@ static int __devinit iegbe_probe(struct 
+       if (!hw->hw_addr)
+         goto err_ioremap;
+-    netdev->open = &iegbe_open;
+-    netdev->stop = &iegbe_close;
+-    netdev->hard_start_xmit = &iegbe_xmit_frame;
+-    netdev->get_stats = &iegbe_get_stats;
+-      netdev->set_rx_mode = &iegbe_set_rx_mode;
+-      netdev->set_mac_address = &iegbe_set_mac;
+-    netdev->change_mtu = &iegbe_change_mtu;
+-    netdev->do_ioctl = &iegbe_ioctl;
++      netdev->netdev_ops = &iegbe_netdev_ops;
+       set_ethtool_ops(netdev);
+-    netdev->tx_timeout = &iegbe_tx_timeout;
+       netdev->watchdog_timeo = 5 * HZ;
+       netif_napi_add(netdev, &adapter->napi, iegbe_clean, 64);
+-    netdev->vlan_rx_register = iegbe_vlan_rx_register;
+-    netdev->vlan_rx_add_vid = iegbe_vlan_rx_add_vid;
+-    netdev->vlan_rx_kill_vid = iegbe_vlan_rx_kill_vid;
+-#ifdef CONFIG_NET_POLL_CONTROLLER
+-    netdev->poll_controller = iegbe_netpoll;
+-#endif
++
+       strncpy(netdev->name, pci_name(pdev), sizeof(netdev->name) - 1);