diff options
author | Dan Williams <dcbw@redhat.com> | 2007-12-10 15:11:23 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 18:06:36 -0500 |
commit | 14e865ba5d9e9adc90363e572743ac238935ba38 (patch) | |
tree | 75da586b634bb14f7bdcfb6220a9345d2d35517c /drivers | |
parent | 4f679496567809ce1e95730c25274e1832537f4b (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.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/libertas/cmd.h | 16 | ||||
-rw-r--r-- | drivers/net/wireless/libertas/decl.h | 4 | ||||
-rw-r--r-- | drivers/net/wireless/libertas/if_usb.c | 3 |
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 | ||
1997 | int lbs_cmd(struct lbs_private *priv, uint16_t command, void *cmd, int cmd_size, | 1997 | int __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 | } |
2069 | EXPORT_SYMBOL_GPL(lbs_cmd); | 2069 | EXPORT_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 | |||
12 | int __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 | ||
24 | int lbs_free_cmd_buffer(struct lbs_private *priv); | 24 | int lbs_free_cmd_buffer(struct lbs_private *priv); |
25 | 25 | ||
26 | int 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 | |||
30 | int lbs_prepare_and_send_command(struct lbs_private *priv, | 26 | int 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 | ||