aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rt2x00/rt2x00usb.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00usb.h')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00usb.h21
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 */
342static inline void rt2x00usb_register_multiwrite(struct rt2x00_dev *rt2x00dev, 338static 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 */
365int rt2x00usb_regbusy_read(struct rt2x00_dev *rt2x00dev, 362int 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/*