1// SPDX-License-Identifier: ISC
2/*
3 * Copyright (c) 2011 Broadcom Corporation
4 */
5#ifndef BRCMFMAC_USB_H
6#define BRCMFMAC_USB_H
7
8enum 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
16struct brcmf_stats {
17	u32 tx_ctlpkts;
18	u32 tx_ctlerrs;
19	u32 rx_ctlpkts;
20	u32 rx_ctlerrs;
21};
22
23struct 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) */
35struct 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