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 BCMFMAC_USB_STATE_DL_PENDING
,
21 BCMFMAC_USB_STATE_DL_DONE
,
23 BCMFMAC_USB_STATE_DOWN
,
24 BCMFMAC_USB_STATE_PNP_FWDL
,
25 BCMFMAC_USB_STATE_DISCONNECT
,
26 BCMFMAC_USB_STATE_SLEEP
29 enum brcmf_usb_pnp_state
{
30 BCMFMAC_USB_PNP_DISCONNECT
,
31 BCMFMAC_USB_PNP_SLEEP
,
32 BCMFMAC_USB_PNP_RESUME
,
53 struct brcmf_usb_attrib
{
58 int chiprev
; /* chip revsion number */
60 int nchan
; /* Data Channels */
61 int has_2nd_bulk_in_ep
;
64 struct brcmf_usbdev_info
;
67 struct brcmf_bus
*bus
;
68 struct brcmf_usbdev_info
*devinfo
;
69 enum brcmf_usb_state state
;
70 struct brcmf_stats stats
;
71 int ntxq
, nrxq
, rxsize
;
73 struct brcmf_usb_attrib attrib
;
76 /* IO Request Block (IRB) */
78 struct list_head list
;
79 struct brcmf_usbdev_info
*devinfo
;
84 #endif /* BRCMFMAC_USB_H */