|
@@ -2861,6 +2861,21 @@ static void init_pscr(struct mv643xx_eth_private *mp, int speed, int duplex)
|
|
|
wrlp(mp, PORT_SERIAL_CONTROL, pscr);
|
|
|
}
|
|
|
|
|
|
+static const struct net_device_ops mv643xx_eth_netdev_ops = {
|
|
|
+ .ndo_open = mv643xx_eth_open,
|
|
|
+ .ndo_stop = mv643xx_eth_stop,
|
|
|
+ .ndo_start_xmit = mv643xx_eth_xmit,
|
|
|
+ .ndo_set_rx_mode = mv643xx_eth_set_rx_mode,
|
|
|
+ .ndo_set_mac_address = mv643xx_eth_set_mac_address,
|
|
|
+ .ndo_do_ioctl = mv643xx_eth_ioctl,
|
|
|
+ .ndo_change_mtu = mv643xx_eth_change_mtu,
|
|
|
+ .ndo_tx_timeout = mv643xx_eth_tx_timeout,
|
|
|
+ .ndo_get_stats = mv643xx_eth_get_stats,
|
|
|
+#ifdef CONFIG_NET_POLL_CONTROLLER
|
|
|
+ .ndo_poll_controller = mv643xx_eth_netpoll,
|
|
|
+#endif
|
|
|
+};
|
|
|
+
|
|
|
static int mv643xx_eth_probe(struct platform_device *pdev)
|
|
|
{
|
|
|
struct mv643xx_eth_platform_data *pd;
|
|
@@ -2932,18 +2947,8 @@ static int mv643xx_eth_probe(struct platform_device *pdev)
|
|
|
BUG_ON(!res);
|
|
|
dev->irq = res->start;
|
|
|
|
|
|
- dev->get_stats = mv643xx_eth_get_stats;
|
|
|
- dev->hard_start_xmit = mv643xx_eth_xmit;
|
|
|
- dev->open = mv643xx_eth_open;
|
|
|
- dev->stop = mv643xx_eth_stop;
|
|
|
- dev->set_rx_mode = mv643xx_eth_set_rx_mode;
|
|
|
- dev->set_mac_address = mv643xx_eth_set_mac_address;
|
|
|
- dev->do_ioctl = mv643xx_eth_ioctl;
|
|
|
- dev->change_mtu = mv643xx_eth_change_mtu;
|
|
|
- dev->tx_timeout = mv643xx_eth_tx_timeout;
|
|
|
-#ifdef CONFIG_NET_POLL_CONTROLLER
|
|
|
- dev->poll_controller = mv643xx_eth_netpoll;
|
|
|
-#endif
|
|
|
+ dev->netdev_ops = &mv643xx_eth_netdev_ops;
|
|
|
+
|
|
|
dev->watchdog_timeo = 2 * HZ;
|
|
|
dev->base_addr = 0;
|
|
|
|