diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt73usb.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt73usb.c | 189 |
1 files changed, 99 insertions, 90 deletions
diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c index 6593059f9c7e..a6ce7d6cbdfa 100644 --- a/drivers/net/wireless/rt2x00/rt73usb.c +++ b/drivers/net/wireless/rt2x00/rt73usb.c | |||
@@ -595,7 +595,7 @@ static void rt73usb_config_antenna_5x(struct rt2x00_dev *rt2x00dev, | |||
595 | switch (ant->rx) { | 595 | switch (ant->rx) { |
596 | case ANTENNA_HW_DIVERSITY: | 596 | case ANTENNA_HW_DIVERSITY: |
597 | rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA_CONTROL, 2); | 597 | rt2x00_set_field8(&r4, BBP_R4_RX_ANTENNA_CONTROL, 2); |
598 | temp = !test_bit(CONFIG_FRAME_TYPE, &rt2x00dev->flags) | 598 | temp = !test_bit(CAPABILITY_FRAME_TYPE, &rt2x00dev->cap_flags) |
599 | && (rt2x00dev->curr_band != IEEE80211_BAND_5GHZ); | 599 | && (rt2x00dev->curr_band != IEEE80211_BAND_5GHZ); |
600 | rt2x00_set_field8(&r4, BBP_R4_RX_FRAME_END, temp); | 600 | rt2x00_set_field8(&r4, BBP_R4_RX_FRAME_END, temp); |
601 | break; | 601 | break; |
@@ -636,7 +636,7 @@ static void rt73usb_config_antenna_2x(struct rt2x00_dev *rt2x00dev, | |||
636 | 636 | ||
637 | rt2x00_set_field8(&r3, BBP_R3_SMART_MODE, 0); | 637 | rt2x00_set_field8(&r3, BBP_R3_SMART_MODE, 0); |
638 | rt2x00_set_field8(&r4, BBP_R4_RX_FRAME_END, | 638 | rt2x00_set_field8(&r4, BBP_R4_RX_FRAME_END, |
639 | !test_bit(CONFIG_FRAME_TYPE, &rt2x00dev->flags)); | 639 | !test_bit(CAPABILITY_FRAME_TYPE, &rt2x00dev->cap_flags)); |
640 | 640 | ||
641 | /* | 641 | /* |
642 | * Configure the RX antenna. | 642 | * Configure the RX antenna. |
@@ -709,10 +709,10 @@ static void rt73usb_config_ant(struct rt2x00_dev *rt2x00dev, | |||
709 | 709 | ||
710 | if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ) { | 710 | if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ) { |
711 | sel = antenna_sel_a; | 711 | sel = antenna_sel_a; |
712 | lna = test_bit(CONFIG_EXTERNAL_LNA_A, &rt2x00dev->flags); | 712 | lna = test_bit(CAPABILITY_EXTERNAL_LNA_A, &rt2x00dev->cap_flags); |
713 | } else { | 713 | } else { |
714 | sel = antenna_sel_bg; | 714 | sel = antenna_sel_bg; |
715 | lna = test_bit(CONFIG_EXTERNAL_LNA_BG, &rt2x00dev->flags); | 715 | lna = test_bit(CAPABILITY_EXTERNAL_LNA_BG, &rt2x00dev->cap_flags); |
716 | } | 716 | } |
717 | 717 | ||
718 | for (i = 0; i < ARRAY_SIZE(antenna_sel_a); i++) | 718 | for (i = 0; i < ARRAY_SIZE(antenna_sel_a); i++) |
@@ -740,7 +740,7 @@ static void rt73usb_config_lna_gain(struct rt2x00_dev *rt2x00dev, | |||
740 | short lna_gain = 0; | 740 | short lna_gain = 0; |
741 | 741 | ||
742 | if (libconf->conf->channel->band == IEEE80211_BAND_2GHZ) { | 742 | if (libconf->conf->channel->band == IEEE80211_BAND_2GHZ) { |
743 | if (test_bit(CONFIG_EXTERNAL_LNA_BG, &rt2x00dev->flags)) | 743 | if (test_bit(CAPABILITY_EXTERNAL_LNA_BG, &rt2x00dev->cap_flags)) |
744 | lna_gain += 14; | 744 | lna_gain += 14; |
745 | 745 | ||
746 | rt2x00_eeprom_read(rt2x00dev, EEPROM_RSSI_OFFSET_BG, &eeprom); | 746 | rt2x00_eeprom_read(rt2x00dev, EEPROM_RSSI_OFFSET_BG, &eeprom); |
@@ -930,7 +930,7 @@ static void rt73usb_link_tuner(struct rt2x00_dev *rt2x00dev, | |||
930 | low_bound = 0x28; | 930 | low_bound = 0x28; |
931 | up_bound = 0x48; | 931 | up_bound = 0x48; |
932 | 932 | ||
933 | if (test_bit(CONFIG_EXTERNAL_LNA_A, &rt2x00dev->flags)) { | 933 | if (test_bit(CAPABILITY_EXTERNAL_LNA_A, &rt2x00dev->cap_flags)) { |
934 | low_bound += 0x10; | 934 | low_bound += 0x10; |
935 | up_bound += 0x10; | 935 | up_bound += 0x10; |
936 | } | 936 | } |
@@ -946,7 +946,7 @@ static void rt73usb_link_tuner(struct rt2x00_dev *rt2x00dev, | |||
946 | up_bound = 0x1c; | 946 | up_bound = 0x1c; |
947 | } | 947 | } |
948 | 948 | ||
949 | if (test_bit(CONFIG_EXTERNAL_LNA_BG, &rt2x00dev->flags)) { | 949 | if (test_bit(CAPABILITY_EXTERNAL_LNA_BG, &rt2x00dev->cap_flags)) { |
950 | low_bound += 0x14; | 950 | low_bound += 0x14; |
951 | up_bound += 0x10; | 951 | up_bound += 0x10; |
952 | } | 952 | } |
@@ -1661,7 +1661,7 @@ static int rt73usb_agc_to_rssi(struct rt2x00_dev *rt2x00dev, int rxd_w1) | |||
1661 | } | 1661 | } |
1662 | 1662 | ||
1663 | if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ) { | 1663 | if (rt2x00dev->curr_band == IEEE80211_BAND_5GHZ) { |
1664 | if (test_bit(CONFIG_EXTERNAL_LNA_A, &rt2x00dev->flags)) { | 1664 | if (test_bit(CAPABILITY_EXTERNAL_LNA_A, &rt2x00dev->cap_flags)) { |
1665 | if (lna == 3 || lna == 2) | 1665 | if (lna == 3 || lna == 2) |
1666 | offset += 10; | 1666 | offset += 10; |
1667 | } else { | 1667 | } else { |
@@ -1899,13 +1899,13 @@ static int rt73usb_init_eeprom(struct rt2x00_dev *rt2x00dev) | |||
1899 | * Read the Frame type. | 1899 | * Read the Frame type. |
1900 | */ | 1900 | */ |
1901 | if (rt2x00_get_field16(eeprom, EEPROM_ANTENNA_FRAME_TYPE)) | 1901 | if (rt2x00_get_field16(eeprom, EEPROM_ANTENNA_FRAME_TYPE)) |
1902 | __set_bit(CONFIG_FRAME_TYPE, &rt2x00dev->flags); | 1902 | __set_bit(CAPABILITY_FRAME_TYPE, &rt2x00dev->cap_flags); |
1903 | 1903 | ||
1904 | /* | 1904 | /* |
1905 | * Detect if this device has an hardware controlled radio. | 1905 | * Detect if this device has an hardware controlled radio. |
1906 | */ | 1906 | */ |
1907 | if (rt2x00_get_field16(eeprom, EEPROM_ANTENNA_HARDWARE_RADIO)) | 1907 | if (rt2x00_get_field16(eeprom, EEPROM_ANTENNA_HARDWARE_RADIO)) |
1908 | __set_bit(CONFIG_SUPPORT_HW_BUTTON, &rt2x00dev->flags); | 1908 | __set_bit(CAPABILITY_HW_BUTTON, &rt2x00dev->cap_flags); |
1909 | 1909 | ||
1910 | /* | 1910 | /* |
1911 | * Read frequency offset. | 1911 | * Read frequency offset. |
@@ -1919,8 +1919,8 @@ static int rt73usb_init_eeprom(struct rt2x00_dev *rt2x00dev) | |||
1919 | rt2x00_eeprom_read(rt2x00dev, EEPROM_NIC, &eeprom); | 1919 | rt2x00_eeprom_read(rt2x00dev, EEPROM_NIC, &eeprom); |
1920 | 1920 | ||
1921 | if (rt2x00_get_field16(eeprom, EEPROM_NIC_EXTERNAL_LNA)) { | 1921 | if (rt2x00_get_field16(eeprom, EEPROM_NIC_EXTERNAL_LNA)) { |
1922 | __set_bit(CONFIG_EXTERNAL_LNA_A, &rt2x00dev->flags); | 1922 | __set_bit(CAPABILITY_EXTERNAL_LNA_A, &rt2x00dev->cap_flags); |
1923 | __set_bit(CONFIG_EXTERNAL_LNA_BG, &rt2x00dev->flags); | 1923 | __set_bit(CAPABILITY_EXTERNAL_LNA_BG, &rt2x00dev->cap_flags); |
1924 | } | 1924 | } |
1925 | 1925 | ||
1926 | /* | 1926 | /* |
@@ -2200,15 +2200,15 @@ static int rt73usb_probe_hw(struct rt2x00_dev *rt2x00dev) | |||
2200 | * This device has multiple filters for control frames, | 2200 | * This device has multiple filters for control frames, |
2201 | * but has no a separate filter for PS Poll frames. | 2201 | * but has no a separate filter for PS Poll frames. |
2202 | */ | 2202 | */ |
2203 | __set_bit(DRIVER_SUPPORT_CONTROL_FILTERS, &rt2x00dev->flags); | 2203 | __set_bit(CAPABILITY_CONTROL_FILTERS, &rt2x00dev->cap_flags); |
2204 | 2204 | ||
2205 | /* | 2205 | /* |
2206 | * This device requires firmware. | 2206 | * This device requires firmware. |
2207 | */ | 2207 | */ |
2208 | __set_bit(DRIVER_REQUIRE_FIRMWARE, &rt2x00dev->flags); | 2208 | __set_bit(REQUIRE_FIRMWARE, &rt2x00dev->cap_flags); |
2209 | if (!modparam_nohwcrypt) | 2209 | if (!modparam_nohwcrypt) |
2210 | __set_bit(CONFIG_SUPPORT_HW_CRYPTO, &rt2x00dev->flags); | 2210 | __set_bit(CAPABILITY_HW_CRYPTO, &rt2x00dev->cap_flags); |
2211 | __set_bit(DRIVER_SUPPORT_LINK_TUNING, &rt2x00dev->flags); | 2211 | __set_bit(CAPABILITY_LINK_TUNING, &rt2x00dev->cap_flags); |
2212 | 2212 | ||
2213 | /* | 2213 | /* |
2214 | * Set the rssi offset. | 2214 | * Set the rssi offset. |
@@ -2310,6 +2310,9 @@ static const struct ieee80211_ops rt73usb_mac80211_ops = { | |||
2310 | .get_tsf = rt73usb_get_tsf, | 2310 | .get_tsf = rt73usb_get_tsf, |
2311 | .rfkill_poll = rt2x00mac_rfkill_poll, | 2311 | .rfkill_poll = rt2x00mac_rfkill_poll, |
2312 | .flush = rt2x00mac_flush, | 2312 | .flush = rt2x00mac_flush, |
2313 | .set_antenna = rt2x00mac_set_antenna, | ||
2314 | .get_antenna = rt2x00mac_get_antenna, | ||
2315 | .get_ringparam = rt2x00mac_get_ringparam, | ||
2313 | }; | 2316 | }; |
2314 | 2317 | ||
2315 | static const struct rt2x00lib_ops rt73usb_rt2x00_ops = { | 2318 | static const struct rt2x00lib_ops rt73usb_rt2x00_ops = { |
@@ -2388,113 +2391,113 @@ static const struct rt2x00_ops rt73usb_ops = { | |||
2388 | */ | 2391 | */ |
2389 | static struct usb_device_id rt73usb_device_table[] = { | 2392 | static struct usb_device_id rt73usb_device_table[] = { |
2390 | /* AboCom */ | 2393 | /* AboCom */ |
2391 | { USB_DEVICE(0x07b8, 0xb21b), USB_DEVICE_DATA(&rt73usb_ops) }, | 2394 | { USB_DEVICE(0x07b8, 0xb21b) }, |
2392 | { USB_DEVICE(0x07b8, 0xb21c), USB_DEVICE_DATA(&rt73usb_ops) }, | 2395 | { USB_DEVICE(0x07b8, 0xb21c) }, |
2393 | { USB_DEVICE(0x07b8, 0xb21d), USB_DEVICE_DATA(&rt73usb_ops) }, | 2396 | { USB_DEVICE(0x07b8, 0xb21d) }, |
2394 | { USB_DEVICE(0x07b8, 0xb21e), USB_DEVICE_DATA(&rt73usb_ops) }, | 2397 | { USB_DEVICE(0x07b8, 0xb21e) }, |
2395 | { USB_DEVICE(0x07b8, 0xb21f), USB_DEVICE_DATA(&rt73usb_ops) }, | 2398 | { USB_DEVICE(0x07b8, 0xb21f) }, |
2396 | /* AL */ | 2399 | /* AL */ |
2397 | { USB_DEVICE(0x14b2, 0x3c10), USB_DEVICE_DATA(&rt73usb_ops) }, | 2400 | { USB_DEVICE(0x14b2, 0x3c10) }, |
2398 | /* Amigo */ | 2401 | /* Amigo */ |
2399 | { USB_DEVICE(0x148f, 0x9021), USB_DEVICE_DATA(&rt73usb_ops) }, | 2402 | { USB_DEVICE(0x148f, 0x9021) }, |
2400 | { USB_DEVICE(0x0eb0, 0x9021), USB_DEVICE_DATA(&rt73usb_ops) }, | 2403 | { USB_DEVICE(0x0eb0, 0x9021) }, |
2401 | /* AMIT */ | 2404 | /* AMIT */ |
2402 | { USB_DEVICE(0x18c5, 0x0002), USB_DEVICE_DATA(&rt73usb_ops) }, | 2405 | { USB_DEVICE(0x18c5, 0x0002) }, |
2403 | /* Askey */ | 2406 | /* Askey */ |
2404 | { USB_DEVICE(0x1690, 0x0722), USB_DEVICE_DATA(&rt73usb_ops) }, | 2407 | { USB_DEVICE(0x1690, 0x0722) }, |
2405 | /* ASUS */ | 2408 | /* ASUS */ |
2406 | { USB_DEVICE(0x0b05, 0x1723), USB_DEVICE_DATA(&rt73usb_ops) }, | 2409 | { USB_DEVICE(0x0b05, 0x1723) }, |
2407 | { USB_DEVICE(0x0b05, 0x1724), USB_DEVICE_DATA(&rt73usb_ops) }, | 2410 | { USB_DEVICE(0x0b05, 0x1724) }, |
2408 | /* Belkin */ | 2411 | /* Belkin */ |
2409 | { USB_DEVICE(0x050d, 0x705a), USB_DEVICE_DATA(&rt73usb_ops) }, | 2412 | { USB_DEVICE(0x050d, 0x705a) }, |
2410 | { USB_DEVICE(0x050d, 0x905b), USB_DEVICE_DATA(&rt73usb_ops) }, | 2413 | { USB_DEVICE(0x050d, 0x905b) }, |
2411 | { USB_DEVICE(0x050d, 0x905c), USB_DEVICE_DATA(&rt73usb_ops) }, | 2414 | { USB_DEVICE(0x050d, 0x905c) }, |
2412 | /* Billionton */ | 2415 | /* Billionton */ |
2413 | { USB_DEVICE(0x1631, 0xc019), USB_DEVICE_DATA(&rt73usb_ops) }, | 2416 | { USB_DEVICE(0x1631, 0xc019) }, |
2414 | { USB_DEVICE(0x08dd, 0x0120), USB_DEVICE_DATA(&rt73usb_ops) }, | 2417 | { USB_DEVICE(0x08dd, 0x0120) }, |
2415 | /* Buffalo */ | 2418 | /* Buffalo */ |
2416 | { USB_DEVICE(0x0411, 0x00d8), USB_DEVICE_DATA(&rt73usb_ops) }, | 2419 | { USB_DEVICE(0x0411, 0x00d8) }, |
2417 | { USB_DEVICE(0x0411, 0x00d9), USB_DEVICE_DATA(&rt73usb_ops) }, | 2420 | { USB_DEVICE(0x0411, 0x00d9) }, |
2418 | { USB_DEVICE(0x0411, 0x00f4), USB_DEVICE_DATA(&rt73usb_ops) }, | 2421 | { USB_DEVICE(0x0411, 0x00f4) }, |
2419 | { USB_DEVICE(0x0411, 0x0116), USB_DEVICE_DATA(&rt73usb_ops) }, | 2422 | { USB_DEVICE(0x0411, 0x0116) }, |
2420 | { USB_DEVICE(0x0411, 0x0119), USB_DEVICE_DATA(&rt73usb_ops) }, | 2423 | { USB_DEVICE(0x0411, 0x0119) }, |
2421 | { USB_DEVICE(0x0411, 0x0137), USB_DEVICE_DATA(&rt73usb_ops) }, | 2424 | { USB_DEVICE(0x0411, 0x0137) }, |
2422 | /* CEIVA */ | 2425 | /* CEIVA */ |
2423 | { USB_DEVICE(0x178d, 0x02be), USB_DEVICE_DATA(&rt73usb_ops) }, | 2426 | { USB_DEVICE(0x178d, 0x02be) }, |
2424 | /* CNet */ | 2427 | /* CNet */ |
2425 | { USB_DEVICE(0x1371, 0x9022), USB_DEVICE_DATA(&rt73usb_ops) }, | 2428 | { USB_DEVICE(0x1371, 0x9022) }, |
2426 | { USB_DEVICE(0x1371, 0x9032), USB_DEVICE_DATA(&rt73usb_ops) }, | 2429 | { USB_DEVICE(0x1371, 0x9032) }, |
2427 | /* Conceptronic */ | 2430 | /* Conceptronic */ |
2428 | { USB_DEVICE(0x14b2, 0x3c22), USB_DEVICE_DATA(&rt73usb_ops) }, | 2431 | { USB_DEVICE(0x14b2, 0x3c22) }, |
2429 | /* Corega */ | 2432 | /* Corega */ |
2430 | { USB_DEVICE(0x07aa, 0x002e), USB_DEVICE_DATA(&rt73usb_ops) }, | 2433 | { USB_DEVICE(0x07aa, 0x002e) }, |
2431 | /* D-Link */ | 2434 | /* D-Link */ |
2432 | { USB_DEVICE(0x07d1, 0x3c03), USB_DEVICE_DATA(&rt73usb_ops) }, | 2435 | { USB_DEVICE(0x07d1, 0x3c03) }, |
2433 | { USB_DEVICE(0x07d1, 0x3c04), USB_DEVICE_DATA(&rt73usb_ops) }, | 2436 | { USB_DEVICE(0x07d1, 0x3c04) }, |
2434 | { USB_DEVICE(0x07d1, 0x3c06), USB_DEVICE_DATA(&rt73usb_ops) }, | 2437 | { USB_DEVICE(0x07d1, 0x3c06) }, |
2435 | { USB_DEVICE(0x07d1, 0x3c07), USB_DEVICE_DATA(&rt73usb_ops) }, | 2438 | { USB_DEVICE(0x07d1, 0x3c07) }, |
2436 | /* Edimax */ | 2439 | /* Edimax */ |
2437 | { USB_DEVICE(0x7392, 0x7318), USB_DEVICE_DATA(&rt73usb_ops) }, | 2440 | { USB_DEVICE(0x7392, 0x7318) }, |
2438 | { USB_DEVICE(0x7392, 0x7618), USB_DEVICE_DATA(&rt73usb_ops) }, | 2441 | { USB_DEVICE(0x7392, 0x7618) }, |
2439 | /* EnGenius */ | 2442 | /* EnGenius */ |
2440 | { USB_DEVICE(0x1740, 0x3701), USB_DEVICE_DATA(&rt73usb_ops) }, | 2443 | { USB_DEVICE(0x1740, 0x3701) }, |
2441 | /* Gemtek */ | 2444 | /* Gemtek */ |
2442 | { USB_DEVICE(0x15a9, 0x0004), USB_DEVICE_DATA(&rt73usb_ops) }, | 2445 | { USB_DEVICE(0x15a9, 0x0004) }, |
2443 | /* Gigabyte */ | 2446 | /* Gigabyte */ |
2444 | { USB_DEVICE(0x1044, 0x8008), USB_DEVICE_DATA(&rt73usb_ops) }, | 2447 | { USB_DEVICE(0x1044, 0x8008) }, |
2445 | { USB_DEVICE(0x1044, 0x800a), USB_DEVICE_DATA(&rt73usb_ops) }, | 2448 | { USB_DEVICE(0x1044, 0x800a) }, |
2446 | /* Huawei-3Com */ | 2449 | /* Huawei-3Com */ |
2447 | { USB_DEVICE(0x1472, 0x0009), USB_DEVICE_DATA(&rt73usb_ops) }, | 2450 | { USB_DEVICE(0x1472, 0x0009) }, |
2448 | /* Hercules */ | 2451 | /* Hercules */ |
2449 | { USB_DEVICE(0x06f8, 0xe002), USB_DEVICE_DATA(&rt73usb_ops) }, | 2452 | { USB_DEVICE(0x06f8, 0xe002) }, |
2450 | { USB_DEVICE(0x06f8, 0xe010), USB_DEVICE_DATA(&rt73usb_ops) }, | 2453 | { USB_DEVICE(0x06f8, 0xe010) }, |
2451 | { USB_DEVICE(0x06f8, 0xe020), USB_DEVICE_DATA(&rt73usb_ops) }, | 2454 | { USB_DEVICE(0x06f8, 0xe020) }, |
2452 | /* Linksys */ | 2455 | /* Linksys */ |
2453 | { USB_DEVICE(0x13b1, 0x0020), USB_DEVICE_DATA(&rt73usb_ops) }, | 2456 | { USB_DEVICE(0x13b1, 0x0020) }, |
2454 | { USB_DEVICE(0x13b1, 0x0023), USB_DEVICE_DATA(&rt73usb_ops) }, | 2457 | { USB_DEVICE(0x13b1, 0x0023) }, |
2455 | { USB_DEVICE(0x13b1, 0x0028), USB_DEVICE_DATA(&rt73usb_ops) }, | 2458 | { USB_DEVICE(0x13b1, 0x0028) }, |
2456 | /* MSI */ | 2459 | /* MSI */ |
2457 | { USB_DEVICE(0x0db0, 0x4600), USB_DEVICE_DATA(&rt73usb_ops) }, | 2460 | { USB_DEVICE(0x0db0, 0x4600) }, |
2458 | { USB_DEVICE(0x0db0, 0x6877), USB_DEVICE_DATA(&rt73usb_ops) }, | 2461 | { USB_DEVICE(0x0db0, 0x6877) }, |
2459 | { USB_DEVICE(0x0db0, 0x6874), USB_DEVICE_DATA(&rt73usb_ops) }, | 2462 | { USB_DEVICE(0x0db0, 0x6874) }, |
2460 | { USB_DEVICE(0x0db0, 0xa861), USB_DEVICE_DATA(&rt73usb_ops) }, | 2463 | { USB_DEVICE(0x0db0, 0xa861) }, |
2461 | { USB_DEVICE(0x0db0, 0xa874), USB_DEVICE_DATA(&rt73usb_ops) }, | 2464 | { USB_DEVICE(0x0db0, 0xa874) }, |
2462 | /* Ovislink */ | 2465 | /* Ovislink */ |
2463 | { USB_DEVICE(0x1b75, 0x7318), USB_DEVICE_DATA(&rt73usb_ops) }, | 2466 | { USB_DEVICE(0x1b75, 0x7318) }, |
2464 | /* Ralink */ | 2467 | /* Ralink */ |
2465 | { USB_DEVICE(0x04bb, 0x093d), USB_DEVICE_DATA(&rt73usb_ops) }, | 2468 | { USB_DEVICE(0x04bb, 0x093d) }, |
2466 | { USB_DEVICE(0x148f, 0x2573), USB_DEVICE_DATA(&rt73usb_ops) }, | 2469 | { USB_DEVICE(0x148f, 0x2573) }, |
2467 | { USB_DEVICE(0x148f, 0x2671), USB_DEVICE_DATA(&rt73usb_ops) }, | 2470 | { USB_DEVICE(0x148f, 0x2671) }, |
2468 | { USB_DEVICE(0x0812, 0x3101), USB_DEVICE_DATA(&rt73usb_ops) }, | 2471 | { USB_DEVICE(0x0812, 0x3101) }, |
2469 | /* Qcom */ | 2472 | /* Qcom */ |
2470 | { USB_DEVICE(0x18e8, 0x6196), USB_DEVICE_DATA(&rt73usb_ops) }, | 2473 | { USB_DEVICE(0x18e8, 0x6196) }, |
2471 | { USB_DEVICE(0x18e8, 0x6229), USB_DEVICE_DATA(&rt73usb_ops) }, | 2474 | { USB_DEVICE(0x18e8, 0x6229) }, |
2472 | { USB_DEVICE(0x18e8, 0x6238), USB_DEVICE_DATA(&rt73usb_ops) }, | 2475 | { USB_DEVICE(0x18e8, 0x6238) }, |
2473 | /* Samsung */ | 2476 | /* Samsung */ |
2474 | { USB_DEVICE(0x04e8, 0x4471), USB_DEVICE_DATA(&rt73usb_ops) }, | 2477 | { USB_DEVICE(0x04e8, 0x4471) }, |
2475 | /* Senao */ | 2478 | /* Senao */ |
2476 | { USB_DEVICE(0x1740, 0x7100), USB_DEVICE_DATA(&rt73usb_ops) }, | 2479 | { USB_DEVICE(0x1740, 0x7100) }, |
2477 | /* Sitecom */ | 2480 | /* Sitecom */ |
2478 | { USB_DEVICE(0x0df6, 0x0024), USB_DEVICE_DATA(&rt73usb_ops) }, | 2481 | { USB_DEVICE(0x0df6, 0x0024) }, |
2479 | { USB_DEVICE(0x0df6, 0x0027), USB_DEVICE_DATA(&rt73usb_ops) }, | 2482 | { USB_DEVICE(0x0df6, 0x0027) }, |
2480 | { USB_DEVICE(0x0df6, 0x002f), USB_DEVICE_DATA(&rt73usb_ops) }, | 2483 | { USB_DEVICE(0x0df6, 0x002f) }, |
2481 | { USB_DEVICE(0x0df6, 0x90ac), USB_DEVICE_DATA(&rt73usb_ops) }, | 2484 | { USB_DEVICE(0x0df6, 0x90ac) }, |
2482 | { USB_DEVICE(0x0df6, 0x9712), USB_DEVICE_DATA(&rt73usb_ops) }, | 2485 | { USB_DEVICE(0x0df6, 0x9712) }, |
2483 | /* Surecom */ | 2486 | /* Surecom */ |
2484 | { USB_DEVICE(0x0769, 0x31f3), USB_DEVICE_DATA(&rt73usb_ops) }, | 2487 | { USB_DEVICE(0x0769, 0x31f3) }, |
2485 | /* Tilgin */ | 2488 | /* Tilgin */ |
2486 | { USB_DEVICE(0x6933, 0x5001), USB_DEVICE_DATA(&rt73usb_ops) }, | 2489 | { USB_DEVICE(0x6933, 0x5001) }, |
2487 | /* Philips */ | 2490 | /* Philips */ |
2488 | { USB_DEVICE(0x0471, 0x200a), USB_DEVICE_DATA(&rt73usb_ops) }, | 2491 | { USB_DEVICE(0x0471, 0x200a) }, |
2489 | /* Planex */ | 2492 | /* Planex */ |
2490 | { USB_DEVICE(0x2019, 0xab01), USB_DEVICE_DATA(&rt73usb_ops) }, | 2493 | { USB_DEVICE(0x2019, 0xab01) }, |
2491 | { USB_DEVICE(0x2019, 0xab50), USB_DEVICE_DATA(&rt73usb_ops) }, | 2494 | { USB_DEVICE(0x2019, 0xab50) }, |
2492 | /* WideTell */ | 2495 | /* WideTell */ |
2493 | { USB_DEVICE(0x7167, 0x3840), USB_DEVICE_DATA(&rt73usb_ops) }, | 2496 | { USB_DEVICE(0x7167, 0x3840) }, |
2494 | /* Zcom */ | 2497 | /* Zcom */ |
2495 | { USB_DEVICE(0x0cde, 0x001c), USB_DEVICE_DATA(&rt73usb_ops) }, | 2498 | { USB_DEVICE(0x0cde, 0x001c) }, |
2496 | /* ZyXEL */ | 2499 | /* ZyXEL */ |
2497 | { USB_DEVICE(0x0586, 0x3415), USB_DEVICE_DATA(&rt73usb_ops) }, | 2500 | { USB_DEVICE(0x0586, 0x3415) }, |
2498 | { 0, } | 2501 | { 0, } |
2499 | }; | 2502 | }; |
2500 | 2503 | ||
@@ -2506,10 +2509,16 @@ MODULE_DEVICE_TABLE(usb, rt73usb_device_table); | |||
2506 | MODULE_FIRMWARE(FIRMWARE_RT2571); | 2509 | MODULE_FIRMWARE(FIRMWARE_RT2571); |
2507 | MODULE_LICENSE("GPL"); | 2510 | MODULE_LICENSE("GPL"); |
2508 | 2511 | ||
2512 | static int rt73usb_probe(struct usb_interface *usb_intf, | ||
2513 | const struct usb_device_id *id) | ||
2514 | { | ||
2515 | return rt2x00usb_probe(usb_intf, &rt73usb_ops); | ||
2516 | } | ||
2517 | |||
2509 | static struct usb_driver rt73usb_driver = { | 2518 | static struct usb_driver rt73usb_driver = { |
2510 | .name = KBUILD_MODNAME, | 2519 | .name = KBUILD_MODNAME, |
2511 | .id_table = rt73usb_device_table, | 2520 | .id_table = rt73usb_device_table, |
2512 | .probe = rt2x00usb_probe, | 2521 | .probe = rt73usb_probe, |
2513 | .disconnect = rt2x00usb_disconnect, | 2522 | .disconnect = rt2x00usb_disconnect, |
2514 | .suspend = rt2x00usb_suspend, | 2523 | .suspend = rt2x00usb_suspend, |
2515 | .resume = rt2x00usb_resume, | 2524 | .resume = rt2x00usb_resume, |