linux/drivers/net/wireless/brcm80211/brcmfmac/usb.h
<<
>>
Prefs
   1/*
   2 * Copyright (c) 2011 Broadcom Corporation
   3 *
   4 * Permission to use, copy, modify, and/or distribute this software for any
   5 * purpose with or without fee is hereby granted, provided that the above
   6 * copyright notice and this permission notice appear in all copies.
   7 *
   8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
   9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
  11 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  13 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  14 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  15 */
  16#ifndef BRCMFMAC_USB_H
  17#define BRCMFMAC_USB_H
  18
  19enum brcmf_usb_state {
  20        BCMFMAC_USB_STATE_DL_PENDING,
  21        BCMFMAC_USB_STATE_DL_DONE,
  22        BCMFMAC_USB_STATE_UP,
  23        BCMFMAC_USB_STATE_DOWN,
  24        BCMFMAC_USB_STATE_PNP_FWDL,
  25        BCMFMAC_USB_STATE_DISCONNECT,
  26        BCMFMAC_USB_STATE_SLEEP
  27};
  28
  29enum brcmf_usb_pnp_state {
  30        BCMFMAC_USB_PNP_DISCONNECT,
  31        BCMFMAC_USB_PNP_SLEEP,
  32        BCMFMAC_USB_PNP_RESUME,
  33};
  34
  35struct brcmf_stats {
  36        u32 tx_ctlpkts;
  37        u32 tx_ctlerrs;
  38        u32 rx_ctlpkts;
  39        u32 rx_ctlerrs;
  40};
  41
  42struct brcmf_usbdev {
  43        struct brcmf_bus *bus;
  44        struct brcmf_usbdev_info *devinfo;
  45        enum brcmf_usb_state state;
  46        struct brcmf_stats stats;
  47        int ntxq, nrxq, rxsize;
  48        u32 bus_mtu;
  49        int devid;
  50        int chiprev; /* chip revsion number */
  51};
  52
  53/* IO Request Block (IRB) */
  54struct brcmf_usbreq {
  55        struct list_head list;
  56        struct brcmf_usbdev_info *devinfo;
  57        struct urb *urb;
  58        struct sk_buff  *skb;
  59};
  60
  61#endif /* BRCMFMAC_USB_H */
  62