Added functions that are not invoked yet, but are there as a reminder that this functionality needs to be activated. The functions set certain flags that withold the phy from calibration during measurements. Signed-off-by: Roland Vossen <rvossen@xxxxxxxxxxxx> --- drivers/staging/brcm80211/brcmsmac/wl_mac80211.c | 16 ++++++++++++++++ drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c | 13 +++++++++++++ drivers/staging/brcm80211/brcmsmac/wlc_pub.h | 2 ++ 3 files changed, 31 insertions(+), 0 deletions(-) diff --git a/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c b/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c index 7645c6c..9fc6de9 100644 --- a/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c +++ b/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c @@ -2006,3 +2006,19 @@ bool wl_rfkill_set_hw_state(struct wl_info *wl) WL_LOCK(wl); return blocked; } + +/* + * placeholder routine that will be used once Mac80211 radio measurement + * functionality becomes available + */ +int wl_ops_measurement(struct ieee80211_hw *hw, u32 start) +{ + struct wl_info *wl = hw->priv; + WL_LOCK(wl); + if (start) + wlc_meas_start(wl->wlc); + else + wlc_meas_stop(wl->wlc); + WL_UNLOCK(wl); + return -ENOSYS; /* currently not implemented */ +} diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c b/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c index 711656d..8a6cdb1 100644 --- a/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c +++ b/drivers/staging/brcm80211/brcmsmac/wlc_mac80211.c @@ -8545,3 +8545,16 @@ void wlc_associate_upd(struct wlc_info *wlc, bool state) wlc->pub->associated = state; wlc->cfg->associated = state; } + +/* + * Flag 'measurement in progress' to withold dynamic phy calibration + */ +void wlc_meas_start(struct wlc_info *wlc) +{ + wlc_phy_hold_upd(wlc->band->pi, PHY_HOLD_FOR_RM, true); +} + +void wlc_meas_stop(struct wlc_info *wlc) +{ + wlc_phy_hold_upd(wlc->band->pi, PHY_HOLD_FOR_RM, false); +} diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_pub.h b/drivers/staging/brcm80211/brcmsmac/wlc_pub.h index ddce1dd..a1a6ab4 100644 --- a/drivers/staging/brcm80211/brcmsmac/wlc_pub.h +++ b/drivers/staging/brcm80211/brcmsmac/wlc_pub.h @@ -580,6 +580,8 @@ extern void wlc_associate_upd(struct wlc_info *wlc, bool state); extern void wlc_scan_start(struct wlc_info *wlc); extern void wlc_scan_stop(struct wlc_info *wlc); extern void wlc_associate_upd(struct wlc_info *wlc, bool state); +extern void wlc_meas_start(struct wlc_info *wlc); +extern void wlc_meas_stop(struct wlc_info *wlc); static inline int wlc_iovar_getuint(struct wlc_info *wlc, const char *name, uint *arg) -- 1.7.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel