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