a0f20ceac0b4f41390b454ac6aea19044b83c729
[openwrt/svn-archive/archive.git] / package / mac80211 / patches / 308-rt2x00-Use-rt2x00usb_register_multiwrite.patch
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()
5
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.
10
11 Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
12 ---
13 drivers/net/wireless/rt2x00/rt2500usb.c | 9 ++-------
14 drivers/net/wireless/rt2x00/rt73usb.c | 31 ++++++++-----------------------
15 2 files changed, 10 insertions(+), 30 deletions(-)
16
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)
22 {
23 - int timeout;
24 u32 mask;
25 u16 reg;
26
27 @@ -376,12 +375,8 @@ static int rt2500usb_config_key(struct r
28 * rt2x00usb_vendor_request() to send the key to the hardware.
29 */
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,
34 - crypto->key,
35 - sizeof(crypto->key),
36 - timeout);
37 + rt2500usb_register_multiwrite(rt2x00dev, reg,
38 + crypto->key, sizeof(crypto->key));
39
40 /*
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
45 {
46 struct hw_key_entry key_entry;
47 struct rt2x00_field32 field;
48 - int timeout;
49 u32 mask;
50 u32 reg;
51
52 @@ -309,12 +308,8 @@ static int rt73usb_config_shared_key(str
53 sizeof(key_entry.rx_mic));
54
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,
59 - &key_entry,
60 - sizeof(key_entry),
61 - timeout);
62 + rt2x00usb_register_multiwrite(rt2x00dev, reg,
63 + &key_entry, sizeof(key_entry));
64
65 /*
66 * The cipher types are stored over 2 registers.
67 @@ -375,7 +370,6 @@ static int rt73usb_config_pairwise_key(s
68 {
69 struct hw_pairwise_ta_entry addr_entry;
70 struct hw_key_entry key_entry;
71 - int timeout;
72 u32 mask;
73 u32 reg;
74
75 @@ -410,12 +404,8 @@ static int rt73usb_config_pairwise_key(s
76 sizeof(key_entry.rx_mic));
77
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,
82 - &key_entry,
83 - sizeof(key_entry),
84 - timeout);
85 + rt2x00usb_register_multiwrite(rt2x00dev, reg,
86 + &key_entry, sizeof(key_entry));
87
88 /*
89 * Send the address and cipher type to the hardware register.
90 @@ -1112,11 +1102,8 @@ static int rt73usb_load_firmware(struct
91 /*
92 * Write firmware to device.
93 */
94 - rt2x00usb_vendor_request_large_buff(rt2x00dev, USB_MULTI_WRITE,
95 - USB_VENDOR_REQUEST_OUT,
96 - FIRMWARE_IMAGE_BASE,
97 - data, len,
98 - REGISTER_TIMEOUT32(len));
99 + rt2x00usb_register_multiwrite(rt2x00dev, FIRMWARE_IMAGE_BASE,
100 + (void *)data, len);
101
102 /*
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.
106 */
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);
114
115 /*
116 * Clean up the beacon skb.