static void irlan_eth_set_multicast_list( struct net_device *dev);
 static struct net_device_stats *irlan_eth_get_stats(struct net_device *dev);
 
+static const struct net_device_ops irlan_eth_netdev_ops = {
+       .ndo_open               = irlan_eth_open,
+       .ndo_stop               = irlan_eth_close,
+       .ndo_start_xmit         = irlan_eth_xmit,
+       .ndo_get_stats          = irlan_eth_get_stats,
+       .ndo_set_multicast_list = irlan_eth_set_multicast_list,
+       .ndo_change_mtu         = eth_change_mtu,
+       .ndo_validate_addr      = eth_validate_addr,
+};
+
 /*
  * Function irlan_eth_setup (dev)
  *
  */
 static void irlan_eth_setup(struct net_device *dev)
 {
-       dev->open               = irlan_eth_open;
-       dev->stop               = irlan_eth_close;
-       dev->hard_start_xmit    = irlan_eth_xmit;
-       dev->get_stats          = irlan_eth_get_stats;
-       dev->set_multicast_list = irlan_eth_set_multicast_list;
+       ether_setup(dev);
+
+       dev->netdev_ops         = &irlan_eth_netdev_ops;
        dev->destructor         = free_netdev;
 
-       ether_setup(dev);
 
        /*
         * Lets do all queueing in IrTTP instead of this device driver.