Linux 4.19.133
[linux/fpc-iii.git] / drivers / net / wireless / broadcom / brcm80211 / brcmfmac / usb.h
blobf483a8c9945b1cc049eb2223039a522974dd61ea
1 /*
2 * Copyright (c) 2011 Broadcom Corporation
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.
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.
16 #ifndef BRCMFMAC_USB_H
17 #define BRCMFMAC_USB_H
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
27 struct brcmf_stats {
28 u32 tx_ctlpkts;
29 u32 tx_ctlerrs;
30 u32 rx_ctlpkts;
31 u32 rx_ctlerrs;
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 */
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;
53 #endif /* BRCMFMAC_USB_H */