diff options
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00usb.h')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00usb.h | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00usb.h b/drivers/net/wireless/rt2x00/rt2x00usb.h index bd2d59c85f1b..3da6841b5d42 100644 --- a/drivers/net/wireless/rt2x00/rt2x00usb.h +++ b/drivers/net/wireless/rt2x00/rt2x00usb.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | Copyright (C) 2004 - 2009 rt2x00 SourceForge Project | 2 | Copyright (C) 2004 - 2009 Ivo van Doorn <IvDoorn@gmail.com> |
3 | <http://rt2x00.serialmonkey.com> | 3 | <http://rt2x00.serialmonkey.com> |
4 | 4 | ||
5 | This program is free software; you can redistribute it and/or modify | 5 | This program is free software; you can redistribute it and/or modify |
@@ -26,6 +26,8 @@ | |||
26 | #ifndef RT2X00USB_H | 26 | #ifndef RT2X00USB_H |
27 | #define RT2X00USB_H | 27 | #define RT2X00USB_H |
28 | 28 | ||
29 | #include <linux/usb.h> | ||
30 | |||
29 | #define to_usb_device_intf(d) \ | 31 | #define to_usb_device_intf(d) \ |
30 | ({ \ | 32 | ({ \ |
31 | struct usb_interface *intf = to_usb_interface(d); \ | 33 | struct usb_interface *intf = to_usb_interface(d); \ |
@@ -39,17 +41,11 @@ | |||
39 | #define USB_DEVICE_DATA(__ops) .driver_info = (kernel_ulong_t)(__ops) | 41 | #define USB_DEVICE_DATA(__ops) .driver_info = (kernel_ulong_t)(__ops) |
40 | 42 | ||
41 | /* | 43 | /* |
42 | * Register defines. | ||
43 | * Some registers require multiple attempts before success, | ||
44 | * in those cases REGISTER_BUSY_COUNT attempts should be | ||
45 | * taken with a REGISTER_BUSY_DELAY interval. | ||
46 | * For USB vendor requests we need to pass a timeout | 44 | * For USB vendor requests we need to pass a timeout |
47 | * time in ms, for this we use the REGISTER_TIMEOUT, | 45 | * time in ms, for this we use the REGISTER_TIMEOUT, |
48 | * however when loading firmware a higher value is | 46 | * however when loading firmware a higher value is |
49 | * required. In that case we use the REGISTER_TIMEOUT_FIRMWARE. | 47 | * required. In that case we use the REGISTER_TIMEOUT_FIRMWARE. |
50 | */ | 48 | */ |
51 | #define REGISTER_BUSY_COUNT 5 | ||
52 | #define REGISTER_BUSY_DELAY 100 | ||
53 | #define REGISTER_TIMEOUT 500 | 49 | #define REGISTER_TIMEOUT 500 |
54 | #define REGISTER_TIMEOUT_FIRMWARE 1000 | 50 | #define REGISTER_TIMEOUT_FIRMWARE 1000 |
55 | 51 | ||
@@ -232,7 +228,7 @@ static inline int rt2x00usb_eeprom_read(struct rt2x00_dev *rt2x00dev, | |||
232 | } | 228 | } |
233 | 229 | ||
234 | /** | 230 | /** |
235 | * rt2x00usb_regbusy_read - Read 32bit register word | 231 | * rt2x00usb_register_read - Read 32bit register word |
236 | * @rt2x00dev: Device pointer, see &struct rt2x00_dev. | 232 | * @rt2x00dev: Device pointer, see &struct rt2x00_dev. |
237 | * @offset: Register offset | 233 | * @offset: Register offset |
238 | * @value: Pointer to where register contents should be stored | 234 | * @value: Pointer to where register contents should be stored |
@@ -340,12 +336,13 @@ static inline void rt2x00usb_register_write_lock(struct rt2x00_dev *rt2x00dev, | |||
340 | * through rt2x00usb_vendor_request_buff(). | 336 | * through rt2x00usb_vendor_request_buff(). |
341 | */ | 337 | */ |
342 | static inline void rt2x00usb_register_multiwrite(struct rt2x00_dev *rt2x00dev, | 338 | static inline void rt2x00usb_register_multiwrite(struct rt2x00_dev *rt2x00dev, |
343 | const unsigned int offset, | 339 | const unsigned int offset, |
344 | void *value, const u32 length) | 340 | const void *value, |
341 | const u32 length) | ||
345 | { | 342 | { |
346 | rt2x00usb_vendor_request_buff(rt2x00dev, USB_MULTI_WRITE, | 343 | rt2x00usb_vendor_request_buff(rt2x00dev, USB_MULTI_WRITE, |
347 | USB_VENDOR_REQUEST_OUT, offset, | 344 | USB_VENDOR_REQUEST_OUT, offset, |
348 | value, length, | 345 | (void *)value, length, |
349 | REGISTER_TIMEOUT32(length)); | 346 | REGISTER_TIMEOUT32(length)); |
350 | } | 347 | } |
351 | 348 | ||
@@ -364,7 +361,7 @@ static inline void rt2x00usb_register_multiwrite(struct rt2x00_dev *rt2x00dev, | |||
364 | */ | 361 | */ |
365 | int rt2x00usb_regbusy_read(struct rt2x00_dev *rt2x00dev, | 362 | int rt2x00usb_regbusy_read(struct rt2x00_dev *rt2x00dev, |
366 | const unsigned int offset, | 363 | const unsigned int offset, |
367 | struct rt2x00_field32 field, | 364 | const struct rt2x00_field32 field, |
368 | u32 *reg); | 365 | u32 *reg); |
369 | 366 | ||
370 | /* | 367 | /* |