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 15:06:36 -0800 |
commit | 14e865ba5d9e9adc90363e572743ac238935ba38 (patch) | |
tree | 75da586b634bb14f7bdcfb6220a9345d2d35517c /drivers/net | |
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/net')
-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 228e3fee20f..c7c226c0950 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) * the result code from the firmware */ -int lbs_cmd(struct lbs_private *priv, uint16_t command, void *cmd, int cmd_size, - int (*callback)(struct lbs_private *, unsigned long, struct cmd_ds_command *), - unsigned long callback_arg) +int __lbs_cmd(struct lbs_private *priv, uint16_t command, void *cmd, int cmd_size, + int (*callback)(struct lbs_private *, unsigned long, struct cmd_ds_command *), + unsigned long callback_arg) { struct cmd_ctrl_node *cmdnode; struct cmd_ds_gen *cmdptr; @@ -2066,6 +2066,6 @@ done: lbs_deb_leave_args(LBS_DEB_HOST, "ret %d", ret); return ret; } -EXPORT_SYMBOL_GPL(lbs_cmd); +EXPORT_SYMBOL_GPL(__lbs_cmd); diff --git a/drivers/net/wireless/libertas/cmd.h b/drivers/net/wireless/libertas/cmd.h new file mode 100644 index 00000000000..546db499648 --- /dev/null +++ b/drivers/net/wireless/libertas/cmd.h @@ -0,0 +1,16 @@ +/* Copyright (C) 2007, Red Hat, Inc. */ + +#ifndef _LBS_CMD_H_ +#define _LBS_CMD_H_ + +#include "hostcmd.h" +#include "dev.h" + +#define lbs_cmd(priv, cmdnr, cmd, callback, callback_arg) \ + __lbs_cmd(priv, cmdnr, &cmd, sizeof(cmd), callback, callback_arg) + +int __lbs_cmd(struct lbs_private *priv, uint16_t command, void *cmd, int cmd_size, + int (*callback)(struct lbs_private *, unsigned long, struct cmd_ds_command *), + unsigned long callback_arg); + +#endif /* _LBS_CMD_H */ diff --git a/drivers/net/wireless/libertas/decl.h b/drivers/net/wireless/libertas/decl.h index 82727a87ea9..33c8305b5c0 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); int lbs_free_cmd_buffer(struct lbs_private *priv); -int lbs_cmd(struct lbs_private *priv, uint16_t command, void *cmd, int cmd_size, - int (*callback)(struct lbs_private *, unsigned long, struct cmd_ds_command *), - unsigned long callback_arg); - int lbs_prepare_and_send_command(struct lbs_private *priv, u16 cmd_no, u16 cmd_action, diff --git a/drivers/net/wireless/libertas/if_usb.c b/drivers/net/wireless/libertas/if_usb.c index 1c23166783f..8ff57a6f251 100644 --- a/drivers/net/wireless/libertas/if_usb.c +++ b/drivers/net/wireless/libertas/if_usb.c @@ -13,6 +13,7 @@ #include "decl.h" #include "defs.h" #include "dev.h" +#include "cmd.h" #include "if_usb.h" #define MESSAGE_HEADER_LEN 4 @@ -108,7 +109,7 @@ static void if_usb_set_boot2_ver(struct lbs_private *priv) b2_cmd.action = 0; b2_cmd.version = priv->boot2_version; - if (lbs_cmd(priv, CMD_SET_BOOT2_VER, &b2_cmd, sizeof(b2_cmd), NULL, 0)) + if (lbs_cmd(priv, CMD_SET_BOOT2_VER, b2_cmd, NULL, 0)) lbs_deb_usb("Setting boot2 version failed\n"); } |