Commit 8a9affc0 authored by Arik Nemtsov's avatar Arik Nemtsov Committed by Luciano Coelho

wlcore/wl12xx: add hw op for vif init

Add an op for family-specific vif initialization.  Currently unused,
but will be needed when wl18xx support is implemented.
Signed-off-by: default avatarArik Nemtsov <arik@wizery.com>
Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
parent 9d68d1ee
...@@ -915,6 +915,7 @@ static struct wlcore_ops wl12xx_ops = { ...@@ -915,6 +915,7 @@ static struct wlcore_ops wl12xx_ops = {
.tx_immediate_compl = NULL, .tx_immediate_compl = NULL,
.tx_delayed_compl = wl12xx_tx_delayed_compl, .tx_delayed_compl = wl12xx_tx_delayed_compl,
.hw_init = wl12xx_hw_init, .hw_init = wl12xx_hw_init,
.init_vif = NULL,
.get_pg_ver = wl12xx_get_pg_ver, .get_pg_ver = wl12xx_get_pg_ver,
.get_mac = wl12xx_get_mac, .get_mac = wl12xx_get_mac,
}; };
......
...@@ -93,4 +93,13 @@ static inline void wlcore_hw_tx_immediate_compl(struct wl1271 *wl) ...@@ -93,4 +93,13 @@ static inline void wlcore_hw_tx_immediate_compl(struct wl1271 *wl)
wl->ops->tx_immediate_compl(wl); wl->ops->tx_immediate_compl(wl);
} }
static inline int
wlcore_hw_init_vif(struct wl1271 *wl, struct wl12xx_vif *wlvif)
{
if (wl->ops->init_vif)
return wl->ops->init_vif(wl, wlvif);
return 0;
}
#endif #endif
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include "cmd.h" #include "cmd.h"
#include "tx.h" #include "tx.h"
#include "io.h" #include "io.h"
#include "hw_ops.h"
int wl1271_init_templates_config(struct wl1271 *wl) int wl1271_init_templates_config(struct wl1271 *wl)
{ {
...@@ -638,6 +639,10 @@ int wl1271_init_vif_specific(struct wl1271 *wl, struct ieee80211_vif *vif) ...@@ -638,6 +639,10 @@ int wl1271_init_vif_specific(struct wl1271 *wl, struct ieee80211_vif *vif)
if (ret < 0) if (ret < 0)
return ret; return ret;
ret = wlcore_hw_init_vif(wl, wlvif);
if (ret < 0)
return ret;
return 0; return 0;
} }
......
...@@ -54,6 +54,7 @@ struct wlcore_ops { ...@@ -54,6 +54,7 @@ struct wlcore_ops {
void (*tx_delayed_compl)(struct wl1271 *wl); void (*tx_delayed_compl)(struct wl1271 *wl);
void (*tx_immediate_compl)(struct wl1271 *wl); void (*tx_immediate_compl)(struct wl1271 *wl);
int (*hw_init)(struct wl1271 *wl); int (*hw_init)(struct wl1271 *wl);
int (*init_vif)(struct wl1271 *wl, struct wl12xx_vif *wlvif);
s8 (*get_pg_ver)(struct wl1271 *wl); s8 (*get_pg_ver)(struct wl1271 *wl);
void (*get_mac)(struct wl1271 *wl); void (*get_mac)(struct wl1271 *wl);
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment