1 From 26f9e08ed236c602fa92b9de93b272f78cc4026b Mon Sep 17 00:00:00 2001
2 From: Ivo van Doorn <IvDoorn@gmail.com>
3 Date: Wed, 4 Mar 2009 22:22:15 +0100
4 Subject: [PATCH] rt2x00: Use rt2x00usb_register_multiwrite()
6 rt2x00usb.h contains a wrapper for writing multiple
7 bytes to the hardware in a single action. Replace
8 all individual calls to rt2x00usb_vendor_request_buff
9 with rt2x00usb_register_multiwrite.
11 Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
13 drivers/net/wireless/rt2x00/rt2500usb.c | 9 ++-------
14 drivers/net/wireless/rt2x00/rt73usb.c | 31 ++++++++-----------------------
15 2 files changed, 10 insertions(+), 30 deletions(-)
17 --- a/drivers/net/wireless/rt2x00/rt2500usb.c
18 +++ b/drivers/net/wireless/rt2x00/rt2500usb.c
19 @@ -348,7 +348,6 @@ static int rt2500usb_config_key(struct r
20 struct rt2x00lib_crypto *crypto,
21 struct ieee80211_key_conf *key)
27 @@ -376,12 +375,8 @@ static int rt2500usb_config_key(struct r
28 * rt2x00usb_vendor_request() to send the key to the hardware.
30 reg = KEY_ENTRY(key->hw_key_idx);
31 - timeout = REGISTER_TIMEOUT32(sizeof(crypto->key));
32 - rt2x00usb_vendor_request_large_buff(rt2x00dev, USB_MULTI_WRITE,
33 - USB_VENDOR_REQUEST_OUT, reg,
35 - sizeof(crypto->key),
37 + rt2500usb_register_multiwrite(rt2x00dev, reg,
38 + crypto->key, sizeof(crypto->key));
41 * The driver does not support the IV/EIV generation
42 --- a/drivers/net/wireless/rt2x00/rt73usb.c
43 +++ b/drivers/net/wireless/rt2x00/rt73usb.c
44 @@ -273,7 +273,6 @@ static int rt73usb_config_shared_key(str
46 struct hw_key_entry key_entry;
47 struct rt2x00_field32 field;
52 @@ -309,12 +308,8 @@ static int rt73usb_config_shared_key(str
53 sizeof(key_entry.rx_mic));
55 reg = SHARED_KEY_ENTRY(key->hw_key_idx);
56 - timeout = REGISTER_TIMEOUT32(sizeof(key_entry));
57 - rt2x00usb_vendor_request_large_buff(rt2x00dev, USB_MULTI_WRITE,
58 - USB_VENDOR_REQUEST_OUT, reg,
62 + rt2x00usb_register_multiwrite(rt2x00dev, reg,
63 + &key_entry, sizeof(key_entry));
66 * The cipher types are stored over 2 registers.
67 @@ -375,7 +370,6 @@ static int rt73usb_config_pairwise_key(s
69 struct hw_pairwise_ta_entry addr_entry;
70 struct hw_key_entry key_entry;
75 @@ -410,12 +404,8 @@ static int rt73usb_config_pairwise_key(s
76 sizeof(key_entry.rx_mic));
78 reg = PAIRWISE_KEY_ENTRY(key->hw_key_idx);
79 - timeout = REGISTER_TIMEOUT32(sizeof(key_entry));
80 - rt2x00usb_vendor_request_large_buff(rt2x00dev, USB_MULTI_WRITE,
81 - USB_VENDOR_REQUEST_OUT, reg,
85 + rt2x00usb_register_multiwrite(rt2x00dev, reg,
86 + &key_entry, sizeof(key_entry));
89 * Send the address and cipher type to the hardware register.
90 @@ -1112,11 +1102,8 @@ static int rt73usb_load_firmware(struct
92 * Write firmware to device.
94 - rt2x00usb_vendor_request_large_buff(rt2x00dev, USB_MULTI_WRITE,
95 - USB_VENDOR_REQUEST_OUT,
96 - FIRMWARE_IMAGE_BASE,
98 - REGISTER_TIMEOUT32(len));
99 + rt2x00usb_register_multiwrite(rt2x00dev, FIRMWARE_IMAGE_BASE,
100 + (void *)data, len);
103 * Send firmware request to device to load firmware,
104 @@ -1554,10 +1541,8 @@ static void rt73usb_write_beacon(struct
105 * Write entire beacon with descriptor to register.
107 beacon_base = HW_BEACON_OFFSET(entry->entry_idx);
108 - rt2x00usb_vendor_request_large_buff(rt2x00dev, USB_MULTI_WRITE,
109 - USB_VENDOR_REQUEST_OUT, beacon_base,
110 - entry->skb->data, entry->skb->len,
111 - REGISTER_TIMEOUT32(entry->skb->len));
112 + rt2x00usb_register_multiwrite(rt2x00dev, beacon_base,
113 + entry->skb->data, entry->skb->len);
116 * Clean up the beacon skb.