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 19 enum brcmf_usb_state { 20 BRCMFMAC_USB_STATE_DOWN, 21 BRCMFMAC_USB_STATE_DL_FAIL, 22 BRCMFMAC_USB_STATE_DL_DONE, 23 BRCMFMAC_USB_STATE_UP, 24 BRCMFMAC_USB_STATE_SLEEP 25 }; 26 27 struct brcmf_stats { 28 u32 tx_ctlpkts; 29 u32 tx_ctlerrs; 30 u32 rx_ctlpkts; 31 u32 rx_ctlerrs; 32 }; 33 34 struct brcmf_usbdev { 35 struct brcmf_bus *bus; 36 struct brcmf_usbdev_info *devinfo; 37 enum brcmf_usb_state state; 38 struct brcmf_stats stats; 39 int ntxq, nrxq, rxsize; 40 u32 bus_mtu; 41 int devid; 42 int chiprev; /* chip revsion number */ 43 }; 44 45 /* IO Request Block (IRB) */ 46 struct brcmf_usbreq { 47 struct list_head list; 48 struct brcmf_usbdev_info *devinfo; 49 struct urb *urb; 50 struct sk_buff *skb; 51 }; 52 53 #endif /* BRCMFMAC_USB_H */ 54