Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 17a23b38 authored by Alexander Beregalov's avatar Alexander Beregalov Committed by Greg Kroah-Hartman
Browse files

Staging: otus: convert to netdev_ops

parent fa5a602a
Loading
Loading
Loading
Loading
+29 −18
Original line number Original line Diff line number Diff line
@@ -822,6 +822,21 @@ int zfLnxVapXmitFrame(struct sk_buff *skb, struct net_device *dev)
    return 0;
    return 0;
}
}


static const struct net_device_ops vap_netdev_ops = {
	.ndo_open		= zfLnxVapOpen,
	.ndo_stop		= zfLnxVapClose,
	.ndo_start_xmit		= zfLnxVapXmitFrame,
	.ndo_get_stats		= usbdrv_get_stats,
	.ndo_change_mtu		= usbdrv_change_mtu,
	.ndo_validate_addr	= eth_validate_addr,
	.ndo_set_mac_address	= eth_mac_addr,
#ifdef ZM_HOSTAPD_SUPPORT
	.ndo_do_ioctl		= usbdrv_ioctl,
#else
	.ndo_do_ioctl		= NULL,
#endif
};

int zfLnxRegisterVapDev(struct net_device* parentDev, u16_t vapId)
int zfLnxRegisterVapDev(struct net_device* parentDev, u16_t vapId)
{
{
    /* Allocate net device structure */
    /* Allocate net device structure */
@@ -846,16 +861,7 @@ int zfLnxRegisterVapDev(struct net_device* parentDev, u16_t vapId)
    vap[vapId].dev->ml_priv = parentDev->ml_priv;
    vap[vapId].dev->ml_priv = parentDev->ml_priv;


    //dev->hard_start_xmit = &zd1212_wds_xmit_frame;
    //dev->hard_start_xmit = &zd1212_wds_xmit_frame;
    vap[vapId].dev->hard_start_xmit = &zfLnxVapXmitFrame;
    vap[vapId].dev->netdev_ops = &vap_netdev_ops;
    vap[vapId].dev->open = &zfLnxVapOpen;
    vap[vapId].dev->stop = &zfLnxVapClose;
    vap[vapId].dev->get_stats = &usbdrv_get_stats;
    vap[vapId].dev->change_mtu = &usbdrv_change_mtu;
#ifdef ZM_HOSTAPD_SUPPORT
    vap[vapId].dev->do_ioctl = usbdrv_ioctl;
#else
    vap[vapId].dev->do_ioctl = NULL;
#endif
    vap[vapId].dev->destructor = free_netdev;
    vap[vapId].dev->destructor = free_netdev;


    vap[vapId].dev->tx_queue_len = 0;
    vap[vapId].dev->tx_queue_len = 0;
@@ -1068,6 +1074,18 @@ void zfLnxUnlinkAllUrbs(struct usbdrv_private *macp)
    usb_unlink_urb(macp->RegInUrb);
    usb_unlink_urb(macp->RegInUrb);
}
}


static const struct net_device_ops otus_netdev_ops = {
	.ndo_open		= usbdrv_open,
	.ndo_stop		= usbdrv_close,
	.ndo_start_xmit		= usbdrv_xmit_frame,
	.ndo_change_mtu		= usbdrv_change_mtu,
	.ndo_get_stats		= usbdrv_get_stats,
	.ndo_set_multicast_list	= usbdrv_set_multi,
	.ndo_set_mac_address	= usbdrv_set_mac,
	.ndo_do_ioctl		= usbdrv_ioctl,
	.ndo_validate_addr	= eth_validate_addr,
};

u8_t zfLnxInitSetup(struct net_device *dev, struct usbdrv_private *macp)
u8_t zfLnxInitSetup(struct net_device *dev, struct usbdrv_private *macp)
{
{
    //unsigned char addr[6];
    //unsigned char addr[6];
@@ -1092,14 +1110,7 @@ u8_t zfLnxInitSetup(struct net_device *dev, struct usbdrv_private *macp)
    dev->wireless_handlers = (struct iw_handler_def *)&p80211wext_handler_def;
    dev->wireless_handlers = (struct iw_handler_def *)&p80211wext_handler_def;
#endif
#endif


    dev->open = usbdrv_open;
    dev->netdev_ops = &otus_netdev_ops;
    dev->hard_start_xmit = usbdrv_xmit_frame;
    dev->stop = usbdrv_close;
    dev->change_mtu = &usbdrv_change_mtu;
    dev->get_stats = usbdrv_get_stats;
    dev->set_multicast_list = usbdrv_set_multi;
    dev->set_mac_address = usbdrv_set_mac;
    dev->do_ioctl = usbdrv_ioctl;


    dev->flags |= IFF_MULTICAST;
    dev->flags |= IFF_MULTICAST;