forked from Minki/linux
Staging: rtl8192su: convert to net_device_ops
commit e3804cbebb
removed
COMPAT_NET_DEV_OPS so this change is needed to make rtl8192su
buildable again.
Loosely based on Alexander's patch for rtl8187se, untested.
Cc: Alexander Beregalov <a.beregalov@gmail.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
35e2bed559
commit
77b9288197
@ -1,6 +1,6 @@
|
||||
config RTL8192SU
|
||||
tristate "RealTek RTL8192SU Wireless LAN NIC driver"
|
||||
depends on PCI
|
||||
depends on WIRELESS_EXT && COMPAT_NET_DEV_OPS
|
||||
depends on WIRELESS_EXT
|
||||
default N
|
||||
---help---
|
||||
|
@ -118,7 +118,6 @@ struct net_device *alloc_ieee80211(int sizeof_priv)
|
||||
#else
|
||||
ieee = (struct ieee80211_device *)dev->priv;
|
||||
#endif
|
||||
dev->hard_start_xmit = ieee80211_xmit;
|
||||
|
||||
memset(ieee, 0, sizeof(struct ieee80211_device)+sizeof_priv);
|
||||
ieee->dev = dev;
|
||||
|
@ -12132,6 +12132,19 @@ static void HalUsbSetQueuePipeMapping8192SUsb(struct usb_interface *intf, struct
|
||||
}
|
||||
#endif
|
||||
|
||||
static const struct net_device_ops rtl8192_netdev_ops = {
|
||||
.ndo_open = rtl8192_open,
|
||||
.ndo_stop = rtl8192_close,
|
||||
.ndo_get_stats = rtl8192_stats,
|
||||
.ndo_tx_timeout = tx_timeout,
|
||||
.ndo_do_ioctl = rtl8192_ioctl,
|
||||
.ndo_set_multicast_list = r8192_set_multicast,
|
||||
.ndo_set_mac_address = r8192_set_mac_adr,
|
||||
.ndo_validate_addr = eth_validate_addr,
|
||||
.ndo_change_mtu = eth_change_mtu,
|
||||
.ndo_start_xmit = ieee80211_xmit,
|
||||
};
|
||||
|
||||
#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,0)
|
||||
static int __devinit rtl8192_usb_probe(struct usb_interface *intf,
|
||||
const struct usb_device_id *id)
|
||||
@ -12186,15 +12199,7 @@ static void * __devinit rtl8192_usb_probe(struct usb_device *udev,
|
||||
priv->ops = &rtl8192u_ops;
|
||||
#endif
|
||||
|
||||
dev->open = rtl8192_open;
|
||||
dev->stop = rtl8192_close;
|
||||
//dev->hard_start_xmit = rtl8192_8023_hard_start_xmit;
|
||||
dev->tx_timeout = tx_timeout;
|
||||
//dev->wireless_handlers = &r8192_wx_handlers_def;
|
||||
dev->do_ioctl = rtl8192_ioctl;
|
||||
dev->set_multicast_list = r8192_set_multicast;
|
||||
dev->set_mac_address = r8192_set_mac_adr;
|
||||
dev->get_stats = rtl8192_stats;
|
||||
dev->netdev_ops = &rtl8192_netdev_ops;
|
||||
|
||||
//DMESG("Oops: i'm coming\n");
|
||||
#if WIRELESS_EXT >= 12
|
||||
|
@ -35,7 +35,9 @@ int rtl8192U_suspend(struct usb_interface *intf, pm_message_t state)
|
||||
return 0;
|
||||
}
|
||||
|
||||
dev->stop(dev);
|
||||
if (dev->netdev_ops->ndo_stop)
|
||||
dev->netdev_ops->ndo_stop(dev);
|
||||
|
||||
mdelay(10);
|
||||
|
||||
netif_device_detach(dev);
|
||||
@ -61,7 +63,9 @@ int rtl8192U_resume (struct usb_interface *intf)
|
||||
}
|
||||
|
||||
netif_device_attach(dev);
|
||||
dev->open(dev);
|
||||
|
||||
if (dev->netdev_ops->ndo_open)
|
||||
dev->netdev_ops->ndo_open(dev);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user