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 revision 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 */
43