Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6
[pandora-kernel.git] / drivers / net / wireless / mwifiex / 11n.c
index 916183d..34bba52 100644 (file)
@@ -185,13 +185,12 @@ int mwifiex_ret_11n_addba_req(struct mwifiex_private *priv,
  *
  * Handling includes changing the header fields into CPU format.
  */
-int mwifiex_ret_11n_cfg(struct host_cmd_ds_command *resp, void *data_buf)
+int mwifiex_ret_11n_cfg(struct host_cmd_ds_command *resp,
+                       struct mwifiex_ds_11n_tx_cfg *tx_cfg)
 {
-       struct mwifiex_ds_11n_tx_cfg *tx_cfg;
        struct host_cmd_ds_11n_cfg *htcfg = &resp->params.htcfg;
 
-       if (data_buf) {
-               tx_cfg = (struct mwifiex_ds_11n_tx_cfg *) data_buf;
+       if (tx_cfg) {
                tx_cfg->tx_htcap = le16_to_cpu(htcfg->ht_tx_cap);
                tx_cfg->tx_htinfo = le16_to_cpu(htcfg->ht_tx_info);
        }
@@ -208,11 +207,10 @@ int mwifiex_ret_11n_cfg(struct host_cmd_ds_command *resp, void *data_buf)
  */
 int mwifiex_cmd_recfg_tx_buf(struct mwifiex_private *priv,
                             struct host_cmd_ds_command *cmd, int cmd_action,
-                            void *data_buf)
+                            u16 *buf_size)
 {
        struct host_cmd_ds_txbuf_cfg *tx_buf = &cmd->params.tx_buf;
        u16 action = (u16) cmd_action;
-       u16 buf_size = *((u16 *) data_buf);
 
        cmd->command = cpu_to_le16(HostCmd_CMD_RECONFIGURE_TX_BUFF);
        cmd->size =
@@ -220,8 +218,8 @@ int mwifiex_cmd_recfg_tx_buf(struct mwifiex_private *priv,
        tx_buf->action = cpu_to_le16(action);
        switch (action) {
        case HostCmd_ACT_GEN_SET:
-               dev_dbg(priv->adapter->dev, "cmd: set tx_buf=%d\n", buf_size);
-               tx_buf->buff_size = cpu_to_le16(buf_size);
+               dev_dbg(priv->adapter->dev, "cmd: set tx_buf=%d\n", *buf_size);
+               tx_buf->buff_size = cpu_to_le16(*buf_size);
                break;
        case HostCmd_ACT_GEN_GET:
        default:
@@ -240,13 +238,12 @@ int mwifiex_cmd_recfg_tx_buf(struct mwifiex_private *priv,
  *      - Ensuring correct endian-ness
  */
 int mwifiex_cmd_amsdu_aggr_ctrl(struct host_cmd_ds_command *cmd,
-                               int cmd_action, void *data_buf)
+                               int cmd_action,
+                               struct mwifiex_ds_11n_amsdu_aggr_ctrl *aa_ctrl)
 {
        struct host_cmd_ds_amsdu_aggr_ctrl *amsdu_ctrl =
                &cmd->params.amsdu_aggr_ctrl;
        u16 action = (u16) cmd_action;
-       struct mwifiex_ds_11n_amsdu_aggr_ctrl *aa_ctrl =
-               (struct mwifiex_ds_11n_amsdu_aggr_ctrl *) data_buf;
 
        cmd->command = cpu_to_le16(HostCmd_CMD_AMSDU_AGGR_CTRL);
        cmd->size = cpu_to_le16(sizeof(struct host_cmd_ds_amsdu_aggr_ctrl)
@@ -272,15 +269,13 @@ int mwifiex_cmd_amsdu_aggr_ctrl(struct host_cmd_ds_command *cmd,
  * Handling includes changing the header fields into CPU format.
  */
 int mwifiex_ret_amsdu_aggr_ctrl(struct host_cmd_ds_command *resp,
-                               void *data_buf)
+                               struct mwifiex_ds_11n_amsdu_aggr_ctrl
+                               *amsdu_aggr_ctrl)
 {
-       struct mwifiex_ds_11n_amsdu_aggr_ctrl *amsdu_aggr_ctrl;
        struct host_cmd_ds_amsdu_aggr_ctrl *amsdu_ctrl =
                &resp->params.amsdu_aggr_ctrl;
 
-       if (data_buf) {
-               amsdu_aggr_ctrl =
-                       (struct mwifiex_ds_11n_amsdu_aggr_ctrl *) data_buf;
+       if (amsdu_aggr_ctrl) {
                amsdu_aggr_ctrl->enable = le16_to_cpu(amsdu_ctrl->enable);
                amsdu_aggr_ctrl->curr_buf_size =
                        le16_to_cpu(amsdu_ctrl->curr_buf_size);
@@ -296,12 +291,10 @@ int mwifiex_ret_amsdu_aggr_ctrl(struct host_cmd_ds_command *resp,
  *      - Setting HT Tx capability and HT Tx information fields
  *      - Ensuring correct endian-ness
  */
-int mwifiex_cmd_11n_cfg(struct host_cmd_ds_command *cmd,
-                       u16 cmd_action, void *data_buf)
+int mwifiex_cmd_11n_cfg(struct host_cmd_ds_command *cmd, u16 cmd_action,
+                       struct mwifiex_ds_11n_tx_cfg *txcfg)
 {
        struct host_cmd_ds_11n_cfg *htcfg = &cmd->params.htcfg;
-       struct mwifiex_ds_11n_tx_cfg *txcfg =
-               (struct mwifiex_ds_11n_tx_cfg *) data_buf;
 
        cmd->command = cpu_to_le16(HostCmd_CMD_11N_CFG);
        cmd->size = cpu_to_le16(sizeof(struct host_cmd_ds_11n_cfg) + S_DS_GEN);