diff options
Diffstat (limited to 'drivers/net/wireless/bcm4329/dhd_bus.h')
-rw-r--r-- | drivers/net/wireless/bcm4329/dhd_bus.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/drivers/net/wireless/bcm4329/dhd_bus.h b/drivers/net/wireless/bcm4329/dhd_bus.h new file mode 100644 index 00000000000..97af41b313d --- /dev/null +++ b/drivers/net/wireless/bcm4329/dhd_bus.h | |||
@@ -0,0 +1,93 @@ | |||
1 | /* | ||
2 | * Header file describing the internal (inter-module) DHD interfaces. | ||
3 | * | ||
4 | * Provides type definitions and function prototypes used to link the | ||
5 | * DHD OS, bus, and protocol modules. | ||
6 | * | ||
7 | * Copyright (C) 1999-2010, Broadcom Corporation | ||
8 | * | ||
9 | * Unless you and Broadcom execute a separate written software license | ||
10 | * agreement governing use of this software, this software is licensed to you | ||
11 | * under the terms of the GNU General Public License version 2 (the "GPL"), | ||
12 | * available at http://www.broadcom.com/licenses/GPLv2.php, with the | ||
13 | * following added to such license: | ||
14 | * | ||
15 | * As a special exception, the copyright holders of this software give you | ||
16 | * permission to link this software with independent modules, and to copy and | ||
17 | * distribute the resulting executable under terms of your choice, provided that | ||
18 | * you also meet, for each linked independent module, the terms and conditions of | ||
19 | * the license of that module. An independent module is a module which is not | ||
20 | * derived from this software. The special exception does not apply to any | ||
21 | * modifications of the software. | ||
22 | * | ||
23 | * Notwithstanding the above, under no circumstances may you combine this | ||
24 | * software in any way with any other Broadcom software provided under a license | ||
25 | * other than the GPL, without Broadcom's express prior written consent. | ||
26 | * | ||
27 | * $Id: dhd_bus.h,v 1.4.6.3.2.3.6.7 2010/08/13 01:35:24 Exp $ | ||
28 | */ | ||
29 | |||
30 | #ifndef _dhd_bus_h_ | ||
31 | #define _dhd_bus_h_ | ||
32 | |||
33 | /* | ||
34 | * Exported from dhd bus module (dhd_usb, dhd_sdio) | ||
35 | */ | ||
36 | |||
37 | /* Indicate (dis)interest in finding dongles. */ | ||
38 | extern int dhd_bus_register(void); | ||
39 | extern void dhd_bus_unregister(void); | ||
40 | |||
41 | /* Download firmware image and nvram image */ | ||
42 | extern bool dhd_bus_download_firmware(struct dhd_bus *bus, osl_t *osh, | ||
43 | char *fw_path, char *nv_path); | ||
44 | |||
45 | /* Stop bus module: clear pending frames, disable data flow */ | ||
46 | extern void dhd_bus_stop(struct dhd_bus *bus, bool enforce_mutex); | ||
47 | |||
48 | /* Initialize bus module: prepare for communication w/dongle */ | ||
49 | extern int dhd_bus_init(dhd_pub_t *dhdp, bool enforce_mutex); | ||
50 | |||
51 | /* Send a data frame to the dongle. Callee disposes of txp. */ | ||
52 | extern int dhd_bus_txdata(struct dhd_bus *bus, void *txp); | ||
53 | |||
54 | /* Send/receive a control message to/from the dongle. | ||
55 | * Expects caller to enforce a single outstanding transaction. | ||
56 | */ | ||
57 | extern int dhd_bus_txctl(struct dhd_bus *bus, uchar *msg, uint msglen); | ||
58 | extern int dhd_bus_rxctl(struct dhd_bus *bus, uchar *msg, uint msglen); | ||
59 | |||
60 | /* Watchdog timer function */ | ||
61 | extern bool dhd_bus_watchdog(dhd_pub_t *dhd); | ||
62 | |||
63 | #ifdef DHD_DEBUG | ||
64 | /* Device console input function */ | ||
65 | extern int dhd_bus_console_in(dhd_pub_t *dhd, uchar *msg, uint msglen); | ||
66 | #endif /* DHD_DEBUG */ | ||
67 | |||
68 | /* Deferred processing for the bus, return TRUE requests reschedule */ | ||
69 | extern bool dhd_bus_dpc(struct dhd_bus *bus); | ||
70 | extern void dhd_bus_isr(bool * InterruptRecognized, bool * QueueMiniportHandleInterrupt, void *arg); | ||
71 | |||
72 | |||
73 | /* Check for and handle local prot-specific iovar commands */ | ||
74 | extern int dhd_bus_iovar_op(dhd_pub_t *dhdp, const char *name, | ||
75 | void *params, int plen, void *arg, int len, bool set); | ||
76 | |||
77 | /* Add bus dump output to a buffer */ | ||
78 | extern void dhd_bus_dump(dhd_pub_t *dhdp, struct bcmstrbuf *strbuf); | ||
79 | |||
80 | /* Clear any bus counters */ | ||
81 | extern void dhd_bus_clearcounts(dhd_pub_t *dhdp); | ||
82 | |||
83 | /* return the dongle chipid */ | ||
84 | extern uint dhd_bus_chip(struct dhd_bus *bus); | ||
85 | |||
86 | /* Set user-specified nvram parameters. */ | ||
87 | extern void dhd_bus_set_nvram_params(struct dhd_bus * bus, const char *nvram_params); | ||
88 | |||
89 | extern void *dhd_bus_pub(struct dhd_bus *bus); | ||
90 | extern void *dhd_bus_txq(struct dhd_bus *bus); | ||
91 | extern uint dhd_bus_hdrlen(struct dhd_bus *bus); | ||
92 | |||
93 | #endif /* _dhd_bus_h_ */ | ||