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

Commit 77b92881 authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by Greg Kroah-Hartman
Browse files

Staging: rtl8192su: convert to net_device_ops



commit e3804cbe 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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 35e2bed5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
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---
+0 −1
Original line number Diff line number Diff line
@@ -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;
+14 −9
Original line number Diff line number Diff line
@@ -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
+6 −2
Original line number Diff line number Diff line
@@ -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;