|
@@ -891,6 +891,19 @@ static int rtl8150_ioctl(struct net_device *netdev, struct ifreq *rq, int cmd)
|
|
return res;
|
|
return res;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static const struct net_device_ops rtl8150_netdev_ops = {
|
|
|
|
+ .ndo_open = rtl8150_open,
|
|
|
|
+ .ndo_stop = rtl8150_close,
|
|
|
|
+ .ndo_do_ioctl = rtl8150_ioctl,
|
|
|
|
+ .ndo_start_xmit = rtl8150_start_xmit,
|
|
|
|
+ .ndo_tx_timeout = rtl8150_tx_timeout,
|
|
|
|
+ .ndo_set_multicast_list = rtl8150_set_multicast,
|
|
|
|
+ .ndo_set_mac_address = rtl8150_set_mac_address,
|
|
|
|
+
|
|
|
|
+ .ndo_change_mtu = eth_change_mtu,
|
|
|
|
+ .ndo_validate_addr = eth_validate_addr,
|
|
|
|
+};
|
|
|
|
+
|
|
static int rtl8150_probe(struct usb_interface *intf,
|
|
static int rtl8150_probe(struct usb_interface *intf,
|
|
const struct usb_device_id *id)
|
|
const struct usb_device_id *id)
|
|
{
|
|
{
|
|
@@ -917,15 +930,8 @@ static int rtl8150_probe(struct usb_interface *intf,
|
|
|
|
|
|
dev->udev = udev;
|
|
dev->udev = udev;
|
|
dev->netdev = netdev;
|
|
dev->netdev = netdev;
|
|
- netdev->open = rtl8150_open;
|
|
|
|
- netdev->stop = rtl8150_close;
|
|
|
|
- netdev->do_ioctl = rtl8150_ioctl;
|
|
|
|
|
|
+ netdev->netdev_ops = &rtl8150_netdev_ops;
|
|
netdev->watchdog_timeo = RTL8150_TX_TIMEOUT;
|
|
netdev->watchdog_timeo = RTL8150_TX_TIMEOUT;
|
|
- netdev->tx_timeout = rtl8150_tx_timeout;
|
|
|
|
- netdev->hard_start_xmit = rtl8150_start_xmit;
|
|
|
|
- netdev->set_multicast_list = rtl8150_set_multicast;
|
|
|
|
- netdev->set_mac_address = rtl8150_set_mac_address;
|
|
|
|
-
|
|
|
|
SET_ETHTOOL_OPS(netdev, &ops);
|
|
SET_ETHTOOL_OPS(netdev, &ops);
|
|
dev->intr_interval = 100; /* 100ms */
|
|
dev->intr_interval = 100; /* 100ms */
|
|
|
|
|