diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2500usb.c')
| -rw-r--r-- | drivers/net/wireless/rt2x00/rt2500usb.c | 91 | 
1 files changed, 48 insertions, 43 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c index 979fe6596a2..15237c27548 100644 --- a/drivers/net/wireless/rt2x00/rt2500usb.c +++ b/drivers/net/wireless/rt2x00/rt2500usb.c @@ -1519,7 +1519,7 @@ static int rt2500usb_init_eeprom(struct rt2x00_dev *rt2x00dev)  	 * Detect if this device has an hardware controlled radio.  	 */  	if (rt2x00_get_field16(eeprom, EEPROM_ANTENNA_HARDWARE_RADIO)) -		__set_bit(CONFIG_SUPPORT_HW_BUTTON, &rt2x00dev->flags); +		__set_bit(CAPABILITY_HW_BUTTON, &rt2x00dev->cap_flags);  	/*  	 * Read the RSSI <-> dBm offset information. @@ -1790,14 +1790,14 @@ static int rt2500usb_probe_hw(struct rt2x00_dev *rt2x00dev)  	/*  	 * This device requires the atim queue  	 */ -	__set_bit(DRIVER_REQUIRE_ATIM_QUEUE, &rt2x00dev->flags); -	__set_bit(DRIVER_REQUIRE_BEACON_GUARD, &rt2x00dev->flags); +	__set_bit(REQUIRE_ATIM_QUEUE, &rt2x00dev->cap_flags); +	__set_bit(REQUIRE_BEACON_GUARD, &rt2x00dev->cap_flags);  	if (!modparam_nohwcrypt) { -		__set_bit(CONFIG_SUPPORT_HW_CRYPTO, &rt2x00dev->flags); -		__set_bit(DRIVER_REQUIRE_COPY_IV, &rt2x00dev->flags); +		__set_bit(CAPABILITY_HW_CRYPTO, &rt2x00dev->cap_flags); +		__set_bit(REQUIRE_COPY_IV, &rt2x00dev->cap_flags);  	} -	__set_bit(DRIVER_SUPPORT_WATCHDOG, &rt2x00dev->flags); -	__set_bit(DRIVER_REQUIRE_SW_SEQNO, &rt2x00dev->flags); +	__set_bit(REQUIRE_SW_SEQNO, &rt2x00dev->cap_flags); +	__set_bit(REQUIRE_PS_AUTOWAKE, &rt2x00dev->cap_flags);  	/*  	 * Set the rssi offset. @@ -1824,6 +1824,9 @@ static const struct ieee80211_ops rt2500usb_mac80211_ops = {  	.conf_tx		= rt2x00mac_conf_tx,  	.rfkill_poll		= rt2x00mac_rfkill_poll,  	.flush			= rt2x00mac_flush, +	.set_antenna		= rt2x00mac_set_antenna, +	.get_antenna		= rt2x00mac_get_antenna, +	.get_ringparam		= rt2x00mac_get_ringparam,  };  static const struct rt2x00lib_ops rt2500usb_rt2x00_ops = { @@ -1905,58 +1908,54 @@ static const struct rt2x00_ops rt2500usb_ops = {   */  static struct usb_device_id rt2500usb_device_table[] = {  	/* ASUS */ -	{ USB_DEVICE(0x0b05, 0x1706), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x0b05, 0x1707), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x0b05, 0x1706) }, +	{ USB_DEVICE(0x0b05, 0x1707) },  	/* Belkin */ -	{ USB_DEVICE(0x050d, 0x7050), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x050d, 0x7051), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x050d, 0x705a), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x050d, 0x7050) }, +	{ USB_DEVICE(0x050d, 0x7051) },  	/* Cisco Systems */ -	{ USB_DEVICE(0x13b1, 0x000d), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x13b1, 0x0011), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x13b1, 0x001a), USB_DEVICE_DATA(&rt2500usb_ops) }, -	/* CNet */ -	{ USB_DEVICE(0x1371, 0x9022), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x13b1, 0x000d) }, +	{ USB_DEVICE(0x13b1, 0x0011) }, +	{ USB_DEVICE(0x13b1, 0x001a) },  	/* Conceptronic */ -	{ USB_DEVICE(0x14b2, 0x3c02), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x14b2, 0x3c02) },  	/* D-LINK */ -	{ USB_DEVICE(0x2001, 0x3c00), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x2001, 0x3c00) },  	/* Gigabyte */ -	{ USB_DEVICE(0x1044, 0x8001), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x1044, 0x8007), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x1044, 0x8001) }, +	{ USB_DEVICE(0x1044, 0x8007) },  	/* Hercules */ -	{ USB_DEVICE(0x06f8, 0xe000), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x06f8, 0xe000) },  	/* Melco */ -	{ USB_DEVICE(0x0411, 0x005e), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x0411, 0x0066), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x0411, 0x0067), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x0411, 0x008b), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x0411, 0x0097), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x0411, 0x005e) }, +	{ USB_DEVICE(0x0411, 0x0066) }, +	{ USB_DEVICE(0x0411, 0x0067) }, +	{ USB_DEVICE(0x0411, 0x008b) }, +	{ USB_DEVICE(0x0411, 0x0097) },  	/* MSI */ -	{ USB_DEVICE(0x0db0, 0x6861), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x0db0, 0x6865), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x0db0, 0x6869), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x0db0, 0x6861) }, +	{ USB_DEVICE(0x0db0, 0x6865) }, +	{ USB_DEVICE(0x0db0, 0x6869) },  	/* Ralink */ -	{ USB_DEVICE(0x148f, 0x1706), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x148f, 0x2570), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x148f, 0x2573), USB_DEVICE_DATA(&rt2500usb_ops) }, -	{ USB_DEVICE(0x148f, 0x9020), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x148f, 0x1706) }, +	{ USB_DEVICE(0x148f, 0x2570) }, +	{ USB_DEVICE(0x148f, 0x9020) },  	/* Sagem */ -	{ USB_DEVICE(0x079b, 0x004b), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x079b, 0x004b) },  	/* Siemens */ -	{ USB_DEVICE(0x0681, 0x3c06), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x0681, 0x3c06) },  	/* SMC */ -	{ USB_DEVICE(0x0707, 0xee13), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x0707, 0xee13) },  	/* Spairon */ -	{ USB_DEVICE(0x114b, 0x0110), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x114b, 0x0110) },  	/* SURECOM */ -	{ USB_DEVICE(0x0769, 0x11f3), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x0769, 0x11f3) },  	/* Trust */ -	{ USB_DEVICE(0x0eb0, 0x9020), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x0eb0, 0x9020) },  	/* VTech */ -	{ USB_DEVICE(0x0f88, 0x3012), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x0f88, 0x3012) },  	/* Zinwell */ -	{ USB_DEVICE(0x5a57, 0x0260), USB_DEVICE_DATA(&rt2500usb_ops) }, +	{ USB_DEVICE(0x5a57, 0x0260) },  	{ 0, }  }; @@ -1967,10 +1966,16 @@ MODULE_SUPPORTED_DEVICE("Ralink RT2570 USB chipset based cards");  MODULE_DEVICE_TABLE(usb, rt2500usb_device_table);  MODULE_LICENSE("GPL"); +static int rt2500usb_probe(struct usb_interface *usb_intf, +			   const struct usb_device_id *id) +{ +	return rt2x00usb_probe(usb_intf, &rt2500usb_ops); +} +  static struct usb_driver rt2500usb_driver = {  	.name		= KBUILD_MODNAME,  	.id_table	= rt2500usb_device_table, -	.probe		= rt2x00usb_probe, +	.probe		= rt2500usb_probe,  	.disconnect	= rt2x00usb_disconnect,  	.suspend	= rt2x00usb_suspend,  	.resume		= rt2x00usb_resume,  |