Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / drivers / net / wireless / broadcom / brcm80211 / brcmfmac / usb.h
1 // SPDX-License-Identifier: ISC
2 /*
3  * Copyright (c) 2011 Broadcom Corporation
4  */
5 #ifndef BRCMFMAC_USB_H
6 #define BRCMFMAC_USB_H
7
8 enum brcmf_usb_state {
9         BRCMFMAC_USB_STATE_DOWN,
10         BRCMFMAC_USB_STATE_DL_FAIL,
11         BRCMFMAC_USB_STATE_DL_DONE,
12         BRCMFMAC_USB_STATE_UP,
13         BRCMFMAC_USB_STATE_SLEEP
14 };
15
16 struct brcmf_stats {
17         u32 tx_ctlpkts;
18         u32 tx_ctlerrs;
19         u32 rx_ctlpkts;
20         u32 rx_ctlerrs;
21 };
22
23 struct brcmf_usbdev {
24         struct brcmf_bus *bus;
25         struct brcmf_usbdev_info *devinfo;
26         enum brcmf_usb_state state;
27         struct brcmf_stats stats;
28         int ntxq, nrxq, rxsize;
29         u32 bus_mtu;
30         int devid;
31         int chiprev; /* chip revsion number */
32 };
33
34 /* IO Request Block (IRB) */
35 struct brcmf_usbreq {
36         struct list_head list;
37         struct brcmf_usbdev_info *devinfo;
38         struct urb *urb;
39         struct sk_buff  *skb;
40 };
41
42 #endif /* BRCMFMAC_USB_H */