Staging: w35und: merge struct wb35_adapter to struct wbsoft_priv

This patch merges struct wb35_adapter to struct wbsoft_priv. Now we can finally
start passing a pointer to struct ieee80211_hw around where necessary.

Acked-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

diff --git a/drivers/staging/winbond/wbusb.c b/drivers/staging/winbond/wbusb.c
index d8fa9e5..a6bc78e 100644
--- a/drivers/staging/winbond/wbusb.c
+++ b/drivers/staging/winbond/wbusb.c
@@ -120,7 +120,7 @@
 {
 	struct wbsoft_priv *priv = dev->priv;
 
-	MLMESendFrame(priv->adapter, skb->data, skb->len, FRAME_TYPE_802_11_MANAGEMENT);
+	MLMESendFrame(priv, skb->data, skb->len, FRAME_TYPE_802_11_MANAGEMENT);
 
 	return NETDEV_TX_OK;
 }
@@ -144,20 +144,20 @@
 	ch.ChanNo = 1;	/* Should use channel_num, or something, as that is already pre-translated */
 
 
-	hal_set_current_channel(&priv->adapter->sHwData, ch);
-	hal_set_beacon_period(&priv->adapter->sHwData, conf->beacon_int);
-//	hal_set_cap_info(&priv->adapter->sHwData, ?? );
+	hal_set_current_channel(&priv->sHwData, ch);
+	hal_set_beacon_period(&priv->sHwData, conf->beacon_int);
+//	hal_set_cap_info(&priv->sHwData, ?? );
 // hal_set_ssid(phw_data_t pHwData,  u8 * pssid,  u8 ssid_len); ??
-	hal_set_accept_broadcast(&priv->adapter->sHwData, 1);
-	hal_set_accept_promiscuous(&priv->adapter->sHwData,  1);
-	hal_set_accept_multicast(&priv->adapter->sHwData,  1);
-	hal_set_accept_beacon(&priv->adapter->sHwData,  1);
-	hal_set_radio_mode(&priv->adapter->sHwData,  0);
+	hal_set_accept_broadcast(&priv->sHwData, 1);
+	hal_set_accept_promiscuous(&priv->sHwData,  1);
+	hal_set_accept_multicast(&priv->sHwData,  1);
+	hal_set_accept_beacon(&priv->sHwData,  1);
+	hal_set_radio_mode(&priv->sHwData,  0);
 	//hal_set_antenna_number(  phw_data_t pHwData, u8 number )
 	//hal_set_rf_power(phw_data_t pHwData, u8 PowerIndex)
 
 
-//	hal_start_bss(&priv->adapter->sHwData, WLAN_BSSTYPE_INFRASTRUCTURE);	??
+//	hal_start_bss(&priv->sHwData, WLAN_BSSTYPE_INFRASTRUCTURE);	??
 
 //void hal_set_rates(phw_data_t pHwData, u8 * pbss_rates,
 //		   u8 length, unsigned char basic_rate_set)
@@ -196,7 +196,6 @@
 
 static int wb35_probe(struct usb_interface *intf, const struct usb_device_id *id_table)
 {
-	struct wb35_adapter *adapter;
 	PWBUSB		pWbUsb;
         struct usb_host_interface *interface;
 	struct usb_endpoint_descriptor *endpoint;
@@ -221,13 +220,14 @@
 		goto error;
 	}
 
-	adapter = kzalloc(sizeof(*adapter), GFP_KERNEL);
-	if (!adapter) {
-		err = -ENOMEM;
+	dev = ieee80211_alloc_hw(sizeof(*priv), &wbsoft_ops);
+	if (!dev)
 		goto error;
-	}
 
-	pWbUsb = &adapter->sHwData.WbUsb;
+	priv = dev->priv;
+	my_dev = dev;
+
+	pWbUsb = &priv->sHwData.WbUsb;
 	pWbUsb->udev = udev;
 
         interface = intf->cur_altsetting;
@@ -238,23 +238,14 @@
 		pWbUsb->IsUsb20 = 1;
 	}
 
-	if (!WbWLanInitialize(adapter)) {
+	if (!WbWLanInitialize(priv)) {
 		err = -EINVAL;
-		goto error_free_adapter;
+		goto error_free_hw;
 	}
 
-	dev = ieee80211_alloc_hw(sizeof(*priv), &wbsoft_ops);
-	if (!dev)
-		goto error_free_adapter;
-
-	priv = dev->priv;
-	priv->adapter = adapter;
-
-	my_dev = dev;
-
 	SET_IEEE80211_DEV(dev, &udev->dev);
 	{
-		phw_data_t pHwData = &adapter->sHwData;
+		phw_data_t pHwData = &priv->sHwData;
 		unsigned char		dev_addr[MAX_ADDR_LEN];
 		hal_get_permanent_address(pHwData, dev_addr);
 		SET_IEEE80211_PERM_ADDR(dev, dev_addr);
@@ -272,14 +263,12 @@
 	if (err)
 		goto error_free_hw;
 
-	usb_set_intfdata(intf, adapter);
+	usb_set_intfdata(intf, priv);
 
 	return 0;
 
 error_free_hw:
 	ieee80211_free_hw(dev);
-error_free_adapter:
-	kfree(adapter);
 error:
 	usb_put_dev(udev);
 	return err;
@@ -315,9 +304,9 @@
 
 static void wb35_disconnect(struct usb_interface *intf)
 {
-	struct wb35_adapter *adapter = usb_get_intfdata(intf);
+	struct wbsoft_priv *priv = usb_get_intfdata(intf);
 
-	WbWlanHalt(adapter);
+	WbWlanHalt(priv);
 
 	usb_set_intfdata(intf, NULL);
 	usb_put_dev(interface_to_usbdev(intf));