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>
This commit is contained in:
Родитель
4f67949656
Коммит
14e865ba5d
|
@ -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);
|
||||
|
||||
|
||||
|
|
|
@ -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 */
|
|
@ -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,
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче