aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/orinoco/hermes.h
diff options
context:
space:
mode:
authorDavid Kilroy <kilroyd@googlemail.com>2010-05-01 09:05:43 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-05-03 14:53:09 -0400
commit07cefe7ac983374ee4c369f1d4aee3093bf3b44f (patch)
treec4db80ac5a3f28bda1a5c93fb9b88b7db728898e /drivers/net/wireless/orinoco/hermes.h
parentfc97431a50962e66c052ec6909d4b2582efd3554 (diff)
orinoco_usb: implement fw download
This involves some refactorring of the common fw download code to substitute ezusb versions of various functions. Note that WPA-enabled firmwares (9.xx series) will not work fully with orinoco_usb yet. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/orinoco/hermes.h')
-rw-r--r--drivers/net/wireless/orinoco/hermes.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/orinoco/hermes.h b/drivers/net/wireless/orinoco/hermes.h
index aed14ff2d235..9ca34e722b45 100644
--- a/drivers/net/wireless/orinoco/hermes.h
+++ b/drivers/net/wireless/orinoco/hermes.h
@@ -393,6 +393,12 @@ struct hermes_ops {
393 u16 id, u16 offset); 393 u16 id, u16 offset);
394 int (*bap_pwrite)(struct hermes *hw, int bap, const void *buf, 394 int (*bap_pwrite)(struct hermes *hw, int bap, const void *buf,
395 int len, u16 id, u16 offset); 395 int len, u16 id, u16 offset);
396 int (*read_pda)(struct hermes *hw, __le16 *pda,
397 u32 pda_addr, u16 pda_len);
398 int (*program_init)(struct hermes *hw, u32 entry_point);
399 int (*program_end)(struct hermes *hw);
400 int (*program)(struct hermes *hw, const char *buf,
401 u32 addr, u32 len);
396 void (*lock_irqsave)(spinlock_t *lock, unsigned long *flags); 402 void (*lock_irqsave)(spinlock_t *lock, unsigned long *flags);
397 void (*unlock_irqrestore)(spinlock_t *lock, unsigned long *flags); 403 void (*unlock_irqrestore)(spinlock_t *lock, unsigned long *flags);
398 void (*lock_irq)(spinlock_t *lock); 404 void (*lock_irq)(spinlock_t *lock);
@@ -406,6 +412,7 @@ typedef struct hermes {
406#define HERMES_16BIT_REGSPACING 0 412#define HERMES_16BIT_REGSPACING 0
407#define HERMES_32BIT_REGSPACING 1 413#define HERMES_32BIT_REGSPACING 1
408 u16 inten; /* Which interrupts should be enabled? */ 414 u16 inten; /* Which interrupts should be enabled? */
415 bool eeprom_pda;
409 const struct hermes_ops *ops; 416 const struct hermes_ops *ops;
410 void *priv; 417 void *priv;
411} hermes_t; 418} hermes_t;