#
 
 obj-$(CONFIG_ARM_AM79C961A)    += am79c961a.o
-obj-$(CONFIG_ARM_ETHERH)       += etherh.o
+obj-$(CONFIG_ARM_ETHERH)       += etherh.o ../8390.o
 obj-$(CONFIG_ARM_ETHER3)       += ether3.o
 obj-$(CONFIG_ARM_ETHER1)       += ether1.o
 obj-$(CONFIG_ARM_AT91_ETHER)   += at91_ether.o
 
        .get_drvinfo    = etherh_get_drvinfo,
 };
 
+static const struct net_device_ops etherh_netdev_ops = {
+       .ndo_open               = etherh_open,
+       .ndo_stop               = etherh_close,
+       .ndo_set_config         = etherh_set_config,
+       .ndo_start_xmit         = ei_start_xmit,
+       .ndo_tx_timeout         = ei_tx_timeout,
+       .ndo_get_stats          = ei_get_stats,
+       .ndo_set_multicast_list = ei_set_multicast_list,
+       .ndo_validate_addr      = eth_validate_addr,
+       .ndo_change_mtu         = eth_change_mtu,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+       .ndo_poll_controller    = ei_poll,
+#endif
+};
+
 static u32 etherh_regoffsets[16];
 static u32 etherm_regoffsets[16];
 
 
        SET_NETDEV_DEV(dev, &ec->dev);
 
-       dev->open               = etherh_open;
-       dev->stop               = etherh_close;
-       dev->set_config         = etherh_set_config;
+       dev->netdev_ops         = ðerh_netdev_ops;
        dev->irq                = ec->irq;
        dev->ethtool_ops        = ðerh_ethtool_ops;