diff options
author | Holger Schurig <h.schurig@mn-solutions.de> | 2007-12-05 11:58:11 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:06:04 -0500 |
commit | 675787e29fd97d08bf7e6253c89ab6de23bf7089 (patch) | |
tree | 81a51dd6696e5ba67a87e6b4bf2ee368854f23b7 /drivers/net/wireless/libertas/decl.h | |
parent | 0d61d04210b617963c202a3c4dcbcd26a024d5d3 (diff) |
libertas: handy function to call firmware commands
Using an arbitrary firmware command was actually very painful. One
had to change big switch() statements in cmd.c, cmdresp.c, add
structs to the big union in "struct cmd_ds_command" and add the
define for the CMD_802_11_xxx to the proper place.
With this function, this is now much easier. For now, it implements
a blocking (a.k.a. CMD_OPTION_WAITFORRSP) way where one deals directly
with command requests and response buffers. You can do everything in
one place:
Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/decl.h')
-rw-r--r-- | drivers/net/wireless/libertas/decl.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/libertas/decl.h b/drivers/net/wireless/libertas/decl.h index 0856cc96f513..6f47ff089622 100644 --- a/drivers/net/wireless/libertas/decl.h +++ b/drivers/net/wireless/libertas/decl.h | |||
@@ -16,6 +16,7 @@ struct lbs_adapter; | |||
16 | struct sk_buff; | 16 | struct sk_buff; |
17 | struct net_device; | 17 | struct net_device; |
18 | struct cmd_ctrl_node; | 18 | struct cmd_ctrl_node; |
19 | struct cmd_ds_command; | ||
19 | 20 | ||
20 | int lbs_set_mac_packet_filter(struct lbs_private *priv); | 21 | int lbs_set_mac_packet_filter(struct lbs_private *priv); |
21 | 22 | ||
@@ -23,6 +24,11 @@ void lbs_send_tx_feedback(struct lbs_private *priv); | |||
23 | 24 | ||
24 | int lbs_free_cmd_buffer(struct lbs_private *priv); | 25 | int lbs_free_cmd_buffer(struct lbs_private *priv); |
25 | 26 | ||
27 | int lbs_cmd(struct lbs_private *priv, | ||
28 | u16 command, | ||
29 | void *cmd, int cmd_size, | ||
30 | void *resp, int *resp_size); | ||
31 | |||
26 | int lbs_prepare_and_send_command(struct lbs_private *priv, | 32 | int lbs_prepare_and_send_command(struct lbs_private *priv, |
27 | u16 cmd_no, | 33 | u16 cmd_no, |
28 | u16 cmd_action, | 34 | u16 cmd_action, |