aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2007-12-10 15:11:23 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:06:36 -0500
commit14e865ba5d9e9adc90363e572743ac238935ba38 (patch)
tree75da586b634bb14f7bdcfb6220a9345d2d35517c /drivers
parent4f679496567809ce1e95730c25274e1832537f4b (diff)
libertas: make lbs_cmd() usage nicer
Define a macro that relieves the caller from having to use sizeof on the command structure when calling lbs_cmd(), and move the prototype of __lbs_cmd() to a new cmd.h file. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/libertas/cmd.c8
-rw-r--r--drivers/net/wireless/libertas/cmd.h16
-rw-r--r--drivers/net/wireless/libertas/decl.h4
-rw-r--r--drivers/net/wireless/libertas/if_usb.c3
4 files changed, 22 insertions, 9 deletions
diff --git a/drivers/net/wireless/libertas/cmd.c b/drivers/net/wireless/libertas/cmd.c
index 228e3fee20fb..c7c226c09502 100644
--- a/drivers/net/wireless/libertas/cmd.c
+++ b/drivers/net/wireless/libertas/cmd.c
@@ -1994,9 +1994,9 @@ void lbs_ps_confirm_sleep(struct lbs_private *priv, u16 psmode)
1994 * the result code from the firmware 1994 * the result code from the firmware
1995 */ 1995 */
1996 1996
1997int lbs_cmd(struct lbs_private *priv, uint16_t command, void *cmd, int cmd_size, 1997int __lbs_cmd(struct lbs_private *priv, uint16_t command, void *cmd, int cmd_size,
1998 int (*callback)(struct lbs_private *, unsigned long, struct cmd_ds_command *), 1998 int (*callback)(struct lbs_private *, unsigned long, struct cmd_ds_command *),
1999 unsigned long callback_arg) 1999 unsigned long callback_arg)
2000{ 2000{
2001 struct cmd_ctrl_node *cmdnode; 2001 struct cmd_ctrl_node *cmdnode;
2002 struct cmd_ds_gen *cmdptr; 2002 struct cmd_ds_gen *cmdptr;
@@ -2066,6 +2066,6 @@ done:
2066 lbs_deb_leave_args(LBS_DEB_HOST, "ret %d", ret); 2066 lbs_deb_leave_args(LBS_DEB_HOST, "ret %d", ret);
2067 return ret; 2067 return ret;
2068} 2068}
2069EXPORT_SYMBOL_GPL(lbs_cmd); 2069EXPORT_SYMBOL_GPL(__lbs_cmd);
2070 2070
2071 2071
diff --git a/drivers/net/wireless/libertas/cmd.h b/drivers/net/wireless/libertas/cmd.h
new file mode 100644
index 000000000000..546db4996487
--- /dev/null
+++ b/drivers/net/wireless/libertas/cmd.h
@@ -0,0 +1,16 @@
1/* Copyright (C) 2007, Red Hat, Inc. */
2
3#ifndef _LBS_CMD_H_
4#define _LBS_CMD_H_
5
6#include "hostcmd.h"
7#include "dev.h"
8
9#define lbs_cmd(priv, cmdnr, cmd, callback, callback_arg) \
10 __lbs_cmd(priv, cmdnr, &cmd, sizeof(cmd), callback, callback_arg)
11
12int __lbs_cmd(struct lbs_private *priv, uint16_t command, void *cmd, int cmd_size,
13 int (*callback)(struct lbs_private *, unsigned long, struct cmd_ds_command *),
14 unsigned long callback_arg);
15
16#endif /* _LBS_CMD_H */
diff --git a/drivers/net/wireless/libertas/decl.h b/drivers/net/wireless/libertas/decl.h
index 82727a87ea92..33c8305b5c0e 100644
--- a/drivers/net/wireless/libertas/decl.h
+++ b/drivers/net/wireless/libertas/decl.h
@@ -23,10 +23,6 @@ void lbs_send_tx_feedback(struct lbs_private *priv);
23 23
24int lbs_free_cmd_buffer(struct lbs_private *priv); 24int lbs_free_cmd_buffer(struct lbs_private *priv);
25 25
26int lbs_cmd(struct lbs_private *priv, uint16_t command, void *cmd, int cmd_size,
27 int (*callback)(struct lbs_private *, unsigned long, struct cmd_ds_command *),
28 unsigned long callback_arg);
29
30int lbs_prepare_and_send_command(struct lbs_private *priv, 26int lbs_prepare_and_send_command(struct lbs_private *priv,
31 u16 cmd_no, 27 u16 cmd_no,
32 u16 cmd_action, 28 u16 cmd_action,
diff --git a/drivers/net/wireless/libertas/if_usb.c b/drivers/net/wireless/libertas/if_usb.c
index 1c23166783f4..8ff57a6f251f 100644
--- a/drivers/net/wireless/libertas/if_usb.c
+++ b/drivers/net/wireless/libertas/if_usb.c
@@ -13,6 +13,7 @@
13#include "decl.h" 13#include "decl.h"
14#include "defs.h" 14#include "defs.h"
15#include "dev.h" 15#include "dev.h"
16#include "cmd.h"
16#include "if_usb.h" 17#include "if_usb.h"
17 18
18#define MESSAGE_HEADER_LEN 4 19#define MESSAGE_HEADER_LEN 4
@@ -108,7 +109,7 @@ static void if_usb_set_boot2_ver(struct lbs_private *priv)
108 b2_cmd.action = 0; 109 b2_cmd.action = 0;
109 b2_cmd.version = priv->boot2_version; 110 b2_cmd.version = priv->boot2_version;
110 111
111 if (lbs_cmd(priv, CMD_SET_BOOT2_VER, &b2_cmd, sizeof(b2_cmd), NULL, 0)) 112 if (lbs_cmd(priv, CMD_SET_BOOT2_VER, b2_cmd, NULL, 0))
112 lbs_deb_usb("Setting boot2 version failed\n"); 113 lbs_deb_usb("Setting boot2 version failed\n");
113} 114}
114 115