4 #include <linux/wait.h>
 
   5 #include <linux/timer.h>
 
  10   * This file contains definition for USB interface.
 
  12 #define CMD_TYPE_REQUEST                0xF00DFACE
 
  13 #define CMD_TYPE_DATA                   0xBEADC0DE
 
  14 #define CMD_TYPE_INDICATION             0xBEEFFACE
 
  16 #define IPFIELD_ALIGN_OFFSET            2
 
  18 #define BOOT_CMD_FW_BY_USB              0x01
 
  19 #define BOOT_CMD_FW_IN_EEPROM           0x02
 
  20 #define BOOT_CMD_UPDATE_BOOT2           0x03
 
  21 #define BOOT_CMD_UPDATE_FW              0x04
 
  22 #define BOOT_CMD_MAGIC_NUMBER           0x4C56524D   /* LVRM */
 
  31 #define BOOT_CMD_RESP_OK                0x0001
 
  32 #define BOOT_CMD_RESP_FAIL              0x0000
 
  42 /** USB card description structure*/
 
  44         struct usb_device *udev;
 
  45         struct urb *rx_urb, *tx_urb;
 
  46         struct lbs_private *priv;
 
  48         struct sk_buff *rx_skb;
 
  49         uint32_t usb_event_cause;
 
  50         uint8_t usb_int_cause;
 
  62         const struct firmware *fw;
 
  63         struct timer_list fw_timeout;
 
  64         wait_queue_head_t fw_wq;
 
  67         uint32_t fwlastblksent;
 
  71         uint8_t surprise_removed;
 
  84 #define FW_MAX_DATA_BLK_SIZE    600
 
  98 #define FW_HAS_DATA_TO_RECV             0x00000001
 
  99 #define FW_HAS_LAST_BLOCK               0x00000004