1 /* Copyright (C) 2007, Red Hat, Inc. */
9 #define lbs_cmd(priv, cmdnr, cmd, cb, cb_arg) \
10 __lbs_cmd(priv, cmdnr, &(cmd)->hdr, sizeof(*(cmd)), cb, cb_arg)
12 #define lbs_cmd_with_response(priv, cmdnr, cmd) \
13 lbs_cmd(priv, cmdnr, cmd, lbs_cmd_copyback, (unsigned long) (cmd))
15 int __lbs_cmd(struct lbs_private
*priv
, uint16_t command
,
16 struct cmd_header
*in_cmd
, int in_cmd_size
,
17 int (*callback
)(struct lbs_private
*, unsigned long, struct cmd_header
*),
18 unsigned long callback_arg
);
20 int lbs_cmd_copyback(struct lbs_private
*priv
, unsigned long extra
,
21 struct cmd_header
*resp
);
23 int lbs_update_hw_spec(struct lbs_private
*priv
);
25 int lbs_mesh_access(struct lbs_private
*priv
, uint16_t cmd_action
,
26 struct cmd_ds_mesh_access
*cmd
);
28 int lbs_get_data_rate(struct lbs_private
*priv
);
29 int lbs_set_data_rate(struct lbs_private
*priv
, u8 rate
);
31 int lbs_get_channel(struct lbs_private
*priv
);
32 int lbs_set_channel(struct lbs_private
*priv
, u8 channel
);
34 int lbs_mesh_config(struct lbs_private
*priv
, int enable
);
36 int lbs_host_sleep_cfg(struct lbs_private
*priv
, uint32_t criteria
,
37 uint8_t gpio
, uint8_t gap
);
38 int lbs_suspend(struct lbs_private
*priv
);
39 int lbs_resume(struct lbs_private
*priv
);
41 #endif /* _LBS_CMD_H */