aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/acx.c
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2011-02-02 02:59:34 -0500
committerLuciano Coelho <coelho@ti.com>2011-02-08 19:51:42 -0500
commitee60833a4f887a09e87be52cdf1247a4963b0aef (patch)
tree590f3e48b52f3328b90abd1bdc87050817d24699 /drivers/net/wireless/wl12xx/acx.c
parent3ad97fbcc233a295f2ccc2c6bdeb32323e360a5e (diff)
wl12xx: mcp2.5 - add config_ps acx
mcp2.5 uses this acx to configure the fw only once, rather than passing the params in every enter psm command. Signed-off-by: Eliad Peller <eliad@wizery.com> Reviewed-by: Luciano Coelho <coelho@ti.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/acx.c')
-rw-r--r--drivers/net/wireless/wl12xx/acx.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/acx.c b/drivers/net/wireless/wl12xx/acx.c
index afdc601aa7ea..84d94b259900 100644
--- a/drivers/net/wireless/wl12xx/acx.c
+++ b/drivers/net/wireless/wl12xx/acx.c
@@ -1476,3 +1476,33 @@ out:
1476 kfree(acx); 1476 kfree(acx);
1477 return ret; 1477 return ret;
1478} 1478}
1479
1480int wl1271_acx_config_ps(struct wl1271 *wl)
1481{
1482 struct wl1271_acx_config_ps *config_ps;
1483 int ret;
1484
1485 wl1271_debug(DEBUG_ACX, "acx config ps");
1486
1487 config_ps = kzalloc(sizeof(*config_ps), GFP_KERNEL);
1488 if (!config_ps) {
1489 ret = -ENOMEM;
1490 goto out;
1491 }
1492
1493 config_ps->exit_retries = wl->conf.conn.psm_exit_retries;
1494 config_ps->enter_retries = wl->conf.conn.psm_entry_retries;
1495 config_ps->null_data_rate = cpu_to_le32(wl->basic_rate);
1496
1497 ret = wl1271_cmd_configure(wl, ACX_CONFIG_PS, config_ps,
1498 sizeof(*config_ps));
1499
1500 if (ret < 0) {
1501 wl1271_warning("acx config ps failed: %d", ret);
1502 goto out;
1503 }
1504
1505out:
1506 kfree(config_ps);
1507 return ret;
1508}