diff options
author | Eliad Peller <eliad@wizery.com> | 2011-09-21 07:06:11 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-09-27 14:27:48 -0400 |
commit | 37a41b4affa33bb237d3692bf51f1b5ebcaf29d8 (patch) | |
tree | 0201e166912d12bd8270b2117b11717756cfd5db /drivers/net | |
parent | 129321804e36721e71fadcab5b475bd37bf53044 (diff) |
mac80211: add ieee80211_vif param to tsf functions
TSF can be kept per vif.
Add ieee80211_vif param to set/get/reset_tsf, and move
the debugfs entries to the per-vif directory.
Update all the drivers that implement these callbacks.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/adm8211.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath5k/mac80211-ops.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/htc_drv_main.c | 9 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/main.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/ath/carl9170/main.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/b43/main.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/iwl-core.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/iwlegacy/iwl-core.h | 3 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2400pci.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2500pci.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800lib.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800lib.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt61pci.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt73usb.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rtl818x/rtl8180/dev.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/rtl818x/rtl8187/dev.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/rtlwifi/core.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/wl12xx/main.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/zd1211rw/zd_mac.c | 2 |
19 files changed, 46 insertions, 30 deletions
diff --git a/drivers/net/wireless/adm8211.c b/drivers/net/wireless/adm8211.c index 43ebc44fc82c..3b752d9fb3cd 100644 --- a/drivers/net/wireless/adm8211.c +++ b/drivers/net/wireless/adm8211.c | |||
@@ -1249,7 +1249,8 @@ static int adm8211_hw_reset(struct ieee80211_hw *dev) | |||
1249 | return 0; | 1249 | return 0; |
1250 | } | 1250 | } |
1251 | 1251 | ||
1252 | static u64 adm8211_get_tsft(struct ieee80211_hw *dev) | 1252 | static u64 adm8211_get_tsft(struct ieee80211_hw *dev, |
1253 | struct ieee80211_vif *vif) | ||
1253 | { | 1254 | { |
1254 | struct adm8211_priv *priv = dev->priv; | 1255 | struct adm8211_priv *priv = dev->priv; |
1255 | u32 tsftl; | 1256 | u32 tsftl; |
diff --git a/drivers/net/wireless/ath/ath5k/mac80211-ops.c b/drivers/net/wireless/ath/ath5k/mac80211-ops.c index 0560234ec3f6..bba4f6fcf7e2 100644 --- a/drivers/net/wireless/ath/ath5k/mac80211-ops.c +++ b/drivers/net/wireless/ath/ath5k/mac80211-ops.c | |||
@@ -602,7 +602,7 @@ ath5k_conf_tx(struct ieee80211_hw *hw, u16 queue, | |||
602 | 602 | ||
603 | 603 | ||
604 | static u64 | 604 | static u64 |
605 | ath5k_get_tsf(struct ieee80211_hw *hw) | 605 | ath5k_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) |
606 | { | 606 | { |
607 | struct ath5k_hw *ah = hw->priv; | 607 | struct ath5k_hw *ah = hw->priv; |
608 | 608 | ||
@@ -611,7 +611,7 @@ ath5k_get_tsf(struct ieee80211_hw *hw) | |||
611 | 611 | ||
612 | 612 | ||
613 | static void | 613 | static void |
614 | ath5k_set_tsf(struct ieee80211_hw *hw, u64 tsf) | 614 | ath5k_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u64 tsf) |
615 | { | 615 | { |
616 | struct ath5k_hw *ah = hw->priv; | 616 | struct ath5k_hw *ah = hw->priv; |
617 | 617 | ||
@@ -620,7 +620,7 @@ ath5k_set_tsf(struct ieee80211_hw *hw, u64 tsf) | |||
620 | 620 | ||
621 | 621 | ||
622 | static void | 622 | static void |
623 | ath5k_reset_tsf(struct ieee80211_hw *hw) | 623 | ath5k_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) |
624 | { | 624 | { |
625 | struct ath5k_hw *ah = hw->priv; | 625 | struct ath5k_hw *ah = hw->priv; |
626 | 626 | ||
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c index 495fdf680a6c..17dbbd9d2f53 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c | |||
@@ -1563,7 +1563,8 @@ static void ath9k_htc_bss_info_changed(struct ieee80211_hw *hw, | |||
1563 | mutex_unlock(&priv->mutex); | 1563 | mutex_unlock(&priv->mutex); |
1564 | } | 1564 | } |
1565 | 1565 | ||
1566 | static u64 ath9k_htc_get_tsf(struct ieee80211_hw *hw) | 1566 | static u64 ath9k_htc_get_tsf(struct ieee80211_hw *hw, |
1567 | struct ieee80211_vif *vif) | ||
1567 | { | 1568 | { |
1568 | struct ath9k_htc_priv *priv = hw->priv; | 1569 | struct ath9k_htc_priv *priv = hw->priv; |
1569 | u64 tsf; | 1570 | u64 tsf; |
@@ -1577,7 +1578,8 @@ static u64 ath9k_htc_get_tsf(struct ieee80211_hw *hw) | |||
1577 | return tsf; | 1578 | return tsf; |
1578 | } | 1579 | } |
1579 | 1580 | ||
1580 | static void ath9k_htc_set_tsf(struct ieee80211_hw *hw, u64 tsf) | 1581 | static void ath9k_htc_set_tsf(struct ieee80211_hw *hw, |
1582 | struct ieee80211_vif *vif, u64 tsf) | ||
1581 | { | 1583 | { |
1582 | struct ath9k_htc_priv *priv = hw->priv; | 1584 | struct ath9k_htc_priv *priv = hw->priv; |
1583 | 1585 | ||
@@ -1588,7 +1590,8 @@ static void ath9k_htc_set_tsf(struct ieee80211_hw *hw, u64 tsf) | |||
1588 | mutex_unlock(&priv->mutex); | 1590 | mutex_unlock(&priv->mutex); |
1589 | } | 1591 | } |
1590 | 1592 | ||
1591 | static void ath9k_htc_reset_tsf(struct ieee80211_hw *hw) | 1593 | static void ath9k_htc_reset_tsf(struct ieee80211_hw *hw, |
1594 | struct ieee80211_vif *vif) | ||
1592 | { | 1595 | { |
1593 | struct ath9k_htc_priv *priv = hw->priv; | 1596 | struct ath9k_htc_priv *priv = hw->priv; |
1594 | 1597 | ||
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index ee39702da5d8..fb803e209760 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c | |||
@@ -2143,7 +2143,7 @@ static void ath9k_bss_info_changed(struct ieee80211_hw *hw, | |||
2143 | ath9k_ps_restore(sc); | 2143 | ath9k_ps_restore(sc); |
2144 | } | 2144 | } |
2145 | 2145 | ||
2146 | static u64 ath9k_get_tsf(struct ieee80211_hw *hw) | 2146 | static u64 ath9k_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) |
2147 | { | 2147 | { |
2148 | struct ath_softc *sc = hw->priv; | 2148 | struct ath_softc *sc = hw->priv; |
2149 | u64 tsf; | 2149 | u64 tsf; |
@@ -2157,7 +2157,9 @@ static u64 ath9k_get_tsf(struct ieee80211_hw *hw) | |||
2157 | return tsf; | 2157 | return tsf; |
2158 | } | 2158 | } |
2159 | 2159 | ||
2160 | static void ath9k_set_tsf(struct ieee80211_hw *hw, u64 tsf) | 2160 | static void ath9k_set_tsf(struct ieee80211_hw *hw, |
2161 | struct ieee80211_vif *vif, | ||
2162 | u64 tsf) | ||
2161 | { | 2163 | { |
2162 | struct ath_softc *sc = hw->priv; | 2164 | struct ath_softc *sc = hw->priv; |
2163 | 2165 | ||
@@ -2168,7 +2170,7 @@ static void ath9k_set_tsf(struct ieee80211_hw *hw, u64 tsf) | |||
2168 | mutex_unlock(&sc->mutex); | 2170 | mutex_unlock(&sc->mutex); |
2169 | } | 2171 | } |
2170 | 2172 | ||
2171 | static void ath9k_reset_tsf(struct ieee80211_hw *hw) | 2173 | static void ath9k_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) |
2172 | { | 2174 | { |
2173 | struct ath_softc *sc = hw->priv; | 2175 | struct ath_softc *sc = hw->priv; |
2174 | 2176 | ||
diff --git a/drivers/net/wireless/ath/carl9170/main.c b/drivers/net/wireless/ath/carl9170/main.c index af351ecd87c4..8b780d6d470f 100644 --- a/drivers/net/wireless/ath/carl9170/main.c +++ b/drivers/net/wireless/ath/carl9170/main.c | |||
@@ -1078,7 +1078,8 @@ out: | |||
1078 | mutex_unlock(&ar->mutex); | 1078 | mutex_unlock(&ar->mutex); |
1079 | } | 1079 | } |
1080 | 1080 | ||
1081 | static u64 carl9170_op_get_tsf(struct ieee80211_hw *hw) | 1081 | static u64 carl9170_op_get_tsf(struct ieee80211_hw *hw, |
1082 | struct ieee80211_vif *vif) | ||
1082 | { | 1083 | { |
1083 | struct ar9170 *ar = hw->priv; | 1084 | struct ar9170 *ar = hw->priv; |
1084 | struct carl9170_tsf_rsp tsf; | 1085 | struct carl9170_tsf_rsp tsf; |
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index 56fa3a3648c4..559bcd6688ec 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -3599,7 +3599,7 @@ static int b43_op_get_stats(struct ieee80211_hw *hw, | |||
3599 | return 0; | 3599 | return 0; |
3600 | } | 3600 | } |
3601 | 3601 | ||
3602 | static u64 b43_op_get_tsf(struct ieee80211_hw *hw) | 3602 | static u64 b43_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) |
3603 | { | 3603 | { |
3604 | struct b43_wl *wl = hw_to_b43_wl(hw); | 3604 | struct b43_wl *wl = hw_to_b43_wl(hw); |
3605 | struct b43_wldev *dev; | 3605 | struct b43_wldev *dev; |
@@ -3618,7 +3618,8 @@ static u64 b43_op_get_tsf(struct ieee80211_hw *hw) | |||
3618 | return tsf; | 3618 | return tsf; |
3619 | } | 3619 | } |
3620 | 3620 | ||
3621 | static void b43_op_set_tsf(struct ieee80211_hw *hw, u64 tsf) | 3621 | static void b43_op_set_tsf(struct ieee80211_hw *hw, |
3622 | struct ieee80211_vif *vif, u64 tsf) | ||
3622 | { | 3623 | { |
3623 | struct b43_wl *wl = hw_to_b43_wl(hw); | 3624 | struct b43_wl *wl = hw_to_b43_wl(hw); |
3624 | struct b43_wldev *dev; | 3625 | struct b43_wldev *dev; |
diff --git a/drivers/net/wireless/iwlegacy/iwl-core.c b/drivers/net/wireless/iwlegacy/iwl-core.c index 35cd2537e7fd..c4921911c6d1 100644 --- a/drivers/net/wireless/iwlegacy/iwl-core.c +++ b/drivers/net/wireless/iwlegacy/iwl-core.c | |||
@@ -2220,7 +2220,8 @@ out: | |||
2220 | } | 2220 | } |
2221 | EXPORT_SYMBOL(iwl_legacy_mac_config); | 2221 | EXPORT_SYMBOL(iwl_legacy_mac_config); |
2222 | 2222 | ||
2223 | void iwl_legacy_mac_reset_tsf(struct ieee80211_hw *hw) | 2223 | void iwl_legacy_mac_reset_tsf(struct ieee80211_hw *hw, |
2224 | struct ieee80211_vif *vif) | ||
2224 | { | 2225 | { |
2225 | struct iwl_priv *priv = hw->priv; | 2226 | struct iwl_priv *priv = hw->priv; |
2226 | unsigned long flags; | 2227 | unsigned long flags; |
diff --git a/drivers/net/wireless/iwlegacy/iwl-core.h b/drivers/net/wireless/iwlegacy/iwl-core.h index 84da79376ef8..b2df01c8f8f5 100644 --- a/drivers/net/wireless/iwlegacy/iwl-core.h +++ b/drivers/net/wireless/iwlegacy/iwl-core.h | |||
@@ -620,7 +620,8 @@ static inline const struct ieee80211_supported_band *iwl_get_hw_mode( | |||
620 | 620 | ||
621 | /* mac80211 handlers */ | 621 | /* mac80211 handlers */ |
622 | int iwl_legacy_mac_config(struct ieee80211_hw *hw, u32 changed); | 622 | int iwl_legacy_mac_config(struct ieee80211_hw *hw, u32 changed); |
623 | void iwl_legacy_mac_reset_tsf(struct ieee80211_hw *hw); | 623 | void iwl_legacy_mac_reset_tsf(struct ieee80211_hw *hw, |
624 | struct ieee80211_vif *vif); | ||
624 | void iwl_legacy_mac_bss_info_changed(struct ieee80211_hw *hw, | 625 | void iwl_legacy_mac_bss_info_changed(struct ieee80211_hw *hw, |
625 | struct ieee80211_vif *vif, | 626 | struct ieee80211_vif *vif, |
626 | struct ieee80211_bss_conf *bss_conf, | 627 | struct ieee80211_bss_conf *bss_conf, |
diff --git a/drivers/net/wireless/rt2x00/rt2400pci.c b/drivers/net/wireless/rt2x00/rt2400pci.c index daa32fc9398b..7e9272b8f01d 100644 --- a/drivers/net/wireless/rt2x00/rt2400pci.c +++ b/drivers/net/wireless/rt2x00/rt2400pci.c | |||
@@ -1239,7 +1239,7 @@ static void rt2400pci_fill_rxdone(struct queue_entry *entry, | |||
1239 | * call, we must decrease the higher 32bits with 1 to get | 1239 | * call, we must decrease the higher 32bits with 1 to get |
1240 | * to correct value. | 1240 | * to correct value. |
1241 | */ | 1241 | */ |
1242 | tsf = rt2x00dev->ops->hw->get_tsf(rt2x00dev->hw); | 1242 | tsf = rt2x00dev->ops->hw->get_tsf(rt2x00dev->hw, NULL); |
1243 | rx_low = rt2x00_get_field32(word4, RXD_W4_RX_END_TIME); | 1243 | rx_low = rt2x00_get_field32(word4, RXD_W4_RX_END_TIME); |
1244 | rx_high = upper_32_bits(tsf); | 1244 | rx_high = upper_32_bits(tsf); |
1245 | 1245 | ||
@@ -1673,7 +1673,8 @@ static int rt2400pci_conf_tx(struct ieee80211_hw *hw, u16 queue, | |||
1673 | return 0; | 1673 | return 0; |
1674 | } | 1674 | } |
1675 | 1675 | ||
1676 | static u64 rt2400pci_get_tsf(struct ieee80211_hw *hw) | 1676 | static u64 rt2400pci_get_tsf(struct ieee80211_hw *hw, |
1677 | struct ieee80211_vif *vif) | ||
1677 | { | 1678 | { |
1678 | struct rt2x00_dev *rt2x00dev = hw->priv; | 1679 | struct rt2x00_dev *rt2x00dev = hw->priv; |
1679 | u64 tsf; | 1680 | u64 tsf; |
diff --git a/drivers/net/wireless/rt2x00/rt2500pci.c b/drivers/net/wireless/rt2x00/rt2500pci.c index b46c3b8866fa..dcc0e1fcca77 100644 --- a/drivers/net/wireless/rt2x00/rt2500pci.c +++ b/drivers/net/wireless/rt2x00/rt2500pci.c | |||
@@ -1966,7 +1966,8 @@ static int rt2500pci_probe_hw(struct rt2x00_dev *rt2x00dev) | |||
1966 | /* | 1966 | /* |
1967 | * IEEE80211 stack callback functions. | 1967 | * IEEE80211 stack callback functions. |
1968 | */ | 1968 | */ |
1969 | static u64 rt2500pci_get_tsf(struct ieee80211_hw *hw) | 1969 | static u64 rt2500pci_get_tsf(struct ieee80211_hw *hw, |
1970 | struct ieee80211_vif *vif) | ||
1970 | { | 1971 | { |
1971 | struct rt2x00_dev *rt2x00dev = hw->priv; | 1972 | struct rt2x00_dev *rt2x00dev = hw->priv; |
1972 | u64 tsf; | 1973 | u64 tsf; |
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c index 31c98509f7e6..9688dd0a7ebd 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/rt2x00/rt2800lib.c | |||
@@ -4466,7 +4466,7 @@ int rt2800_conf_tx(struct ieee80211_hw *hw, u16 queue_idx, | |||
4466 | } | 4466 | } |
4467 | EXPORT_SYMBOL_GPL(rt2800_conf_tx); | 4467 | EXPORT_SYMBOL_GPL(rt2800_conf_tx); |
4468 | 4468 | ||
4469 | u64 rt2800_get_tsf(struct ieee80211_hw *hw) | 4469 | u64 rt2800_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) |
4470 | { | 4470 | { |
4471 | struct rt2x00_dev *rt2x00dev = hw->priv; | 4471 | struct rt2x00_dev *rt2x00dev = hw->priv; |
4472 | u64 tsf; | 4472 | u64 tsf; |
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.h b/drivers/net/wireless/rt2x00/rt2800lib.h index 7a2511f6785c..6de128e9c612 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.h +++ b/drivers/net/wireless/rt2x00/rt2800lib.h | |||
@@ -199,7 +199,7 @@ void rt2800_get_tkip_seq(struct ieee80211_hw *hw, u8 hw_key_idx, u32 *iv32, | |||
199 | int rt2800_set_rts_threshold(struct ieee80211_hw *hw, u32 value); | 199 | int rt2800_set_rts_threshold(struct ieee80211_hw *hw, u32 value); |
200 | int rt2800_conf_tx(struct ieee80211_hw *hw, u16 queue_idx, | 200 | int rt2800_conf_tx(struct ieee80211_hw *hw, u16 queue_idx, |
201 | const struct ieee80211_tx_queue_params *params); | 201 | const struct ieee80211_tx_queue_params *params); |
202 | u64 rt2800_get_tsf(struct ieee80211_hw *hw); | 202 | u64 rt2800_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif); |
203 | int rt2800_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, | 203 | int rt2800_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, |
204 | enum ieee80211_ampdu_mlme_action action, | 204 | enum ieee80211_ampdu_mlme_action action, |
205 | struct ieee80211_sta *sta, u16 tid, u16 *ssn, | 205 | struct ieee80211_sta *sta, u16 tid, u16 *ssn, |
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c index 058ef4b19d1d..6b6a8e2dcddc 100644 --- a/drivers/net/wireless/rt2x00/rt61pci.c +++ b/drivers/net/wireless/rt2x00/rt61pci.c | |||
@@ -2940,7 +2940,7 @@ static int rt61pci_conf_tx(struct ieee80211_hw *hw, u16 queue_idx, | |||
2940 | return 0; | 2940 | return 0; |
2941 | } | 2941 | } |
2942 | 2942 | ||
2943 | static u64 rt61pci_get_tsf(struct ieee80211_hw *hw) | 2943 | static u64 rt61pci_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) |
2944 | { | 2944 | { |
2945 | struct rt2x00_dev *rt2x00dev = hw->priv; | 2945 | struct rt2x00_dev *rt2x00dev = hw->priv; |
2946 | u64 tsf; | 2946 | u64 tsf; |
diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c index 0baeb894f093..6f51e39f5595 100644 --- a/drivers/net/wireless/rt2x00/rt73usb.c +++ b/drivers/net/wireless/rt2x00/rt73usb.c | |||
@@ -2279,7 +2279,7 @@ static int rt73usb_conf_tx(struct ieee80211_hw *hw, u16 queue_idx, | |||
2279 | return 0; | 2279 | return 0; |
2280 | } | 2280 | } |
2281 | 2281 | ||
2282 | static u64 rt73usb_get_tsf(struct ieee80211_hw *hw) | 2282 | static u64 rt73usb_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) |
2283 | { | 2283 | { |
2284 | struct rt2x00_dev *rt2x00dev = hw->priv; | 2284 | struct rt2x00_dev *rt2x00dev = hw->priv; |
2285 | u64 tsf; | 2285 | u64 tsf; |
diff --git a/drivers/net/wireless/rtl818x/rtl8180/dev.c b/drivers/net/wireless/rtl818x/rtl8180/dev.c index 66b29dc07cc3..0082015ff664 100644 --- a/drivers/net/wireless/rtl818x/rtl8180/dev.c +++ b/drivers/net/wireless/rtl818x/rtl8180/dev.c | |||
@@ -669,7 +669,8 @@ static void rtl8180_stop(struct ieee80211_hw *dev) | |||
669 | rtl8180_free_tx_ring(dev, i); | 669 | rtl8180_free_tx_ring(dev, i); |
670 | } | 670 | } |
671 | 671 | ||
672 | static u64 rtl8180_get_tsf(struct ieee80211_hw *dev) | 672 | static u64 rtl8180_get_tsf(struct ieee80211_hw *dev, |
673 | struct ieee80211_vif *vif) | ||
673 | { | 674 | { |
674 | struct rtl8180_priv *priv = dev->priv; | 675 | struct rtl8180_priv *priv = dev->priv; |
675 | 676 | ||
@@ -701,7 +702,7 @@ static void rtl8180_beacon_work(struct work_struct *work) | |||
701 | * TODO: make hardware update beacon timestamp | 702 | * TODO: make hardware update beacon timestamp |
702 | */ | 703 | */ |
703 | mgmt = (struct ieee80211_mgmt *)skb->data; | 704 | mgmt = (struct ieee80211_mgmt *)skb->data; |
704 | mgmt->u.beacon.timestamp = cpu_to_le64(rtl8180_get_tsf(dev)); | 705 | mgmt->u.beacon.timestamp = cpu_to_le64(rtl8180_get_tsf(dev, vif)); |
705 | 706 | ||
706 | /* TODO: use actual beacon queue */ | 707 | /* TODO: use actual beacon queue */ |
707 | skb_set_queue_mapping(skb, 0); | 708 | skb_set_queue_mapping(skb, 0); |
diff --git a/drivers/net/wireless/rtl818x/rtl8187/dev.c b/drivers/net/wireless/rtl818x/rtl8187/dev.c index 1e0be14d10d4..f5afa155ce91 100644 --- a/drivers/net/wireless/rtl818x/rtl8187/dev.c +++ b/drivers/net/wireless/rtl818x/rtl8187/dev.c | |||
@@ -1277,7 +1277,7 @@ static int rtl8187_conf_tx(struct ieee80211_hw *dev, u16 queue, | |||
1277 | return 0; | 1277 | return 0; |
1278 | } | 1278 | } |
1279 | 1279 | ||
1280 | static u64 rtl8187_get_tsf(struct ieee80211_hw *dev) | 1280 | static u64 rtl8187_get_tsf(struct ieee80211_hw *dev, struct ieee80211_vif *vif) |
1281 | { | 1281 | { |
1282 | struct rtl8187_priv *priv = dev->priv; | 1282 | struct rtl8187_priv *priv = dev->priv; |
1283 | 1283 | ||
diff --git a/drivers/net/wireless/rtlwifi/core.c b/drivers/net/wireless/rtlwifi/core.c index 04c4e9eb6ee6..21e40f62a8d7 100644 --- a/drivers/net/wireless/rtlwifi/core.c +++ b/drivers/net/wireless/rtlwifi/core.c | |||
@@ -775,7 +775,7 @@ out: | |||
775 | mutex_unlock(&rtlpriv->locks.conf_mutex); | 775 | mutex_unlock(&rtlpriv->locks.conf_mutex); |
776 | } | 776 | } |
777 | 777 | ||
778 | static u64 rtl_op_get_tsf(struct ieee80211_hw *hw) | 778 | static u64 rtl_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) |
779 | { | 779 | { |
780 | struct rtl_priv *rtlpriv = rtl_priv(hw); | 780 | struct rtl_priv *rtlpriv = rtl_priv(hw); |
781 | u64 tsf; | 781 | u64 tsf; |
@@ -784,7 +784,8 @@ static u64 rtl_op_get_tsf(struct ieee80211_hw *hw) | |||
784 | return tsf; | 784 | return tsf; |
785 | } | 785 | } |
786 | 786 | ||
787 | static void rtl_op_set_tsf(struct ieee80211_hw *hw, u64 tsf) | 787 | static void rtl_op_set_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif, |
788 | u64 tsf) | ||
788 | { | 789 | { |
789 | struct rtl_priv *rtlpriv = rtl_priv(hw); | 790 | struct rtl_priv *rtlpriv = rtl_priv(hw); |
790 | struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); | 791 | struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); |
@@ -794,7 +795,8 @@ static void rtl_op_set_tsf(struct ieee80211_hw *hw, u64 tsf) | |||
794 | rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_CORRECT_TSF, (u8 *) (&bibss)); | 795 | rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_CORRECT_TSF, (u8 *) (&bibss)); |
795 | } | 796 | } |
796 | 797 | ||
797 | static void rtl_op_reset_tsf(struct ieee80211_hw *hw) | 798 | static void rtl_op_reset_tsf(struct ieee80211_hw *hw, |
799 | struct ieee80211_vif *vif) | ||
798 | { | 800 | { |
799 | struct rtl_priv *rtlpriv = rtl_priv(hw); | 801 | struct rtl_priv *rtlpriv = rtl_priv(hw); |
800 | u8 tmp = 0; | 802 | u8 tmp = 0; |
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c index a51dd0ed6d2d..7d409b0f3357 100644 --- a/drivers/net/wireless/wl12xx/main.c +++ b/drivers/net/wireless/wl12xx/main.c | |||
@@ -3815,7 +3815,8 @@ out: | |||
3815 | return ret; | 3815 | return ret; |
3816 | } | 3816 | } |
3817 | 3817 | ||
3818 | static u64 wl1271_op_get_tsf(struct ieee80211_hw *hw) | 3818 | static u64 wl1271_op_get_tsf(struct ieee80211_hw *hw, |
3819 | struct ieee80211_vif *vif) | ||
3819 | { | 3820 | { |
3820 | 3821 | ||
3821 | struct wl1271 *wl = hw->priv; | 3822 | struct wl1271 *wl = hw->priv; |
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c index cabfae1e70b1..0a70149df3fc 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/zd1211rw/zd_mac.c | |||
@@ -1332,7 +1332,7 @@ static void zd_op_bss_info_changed(struct ieee80211_hw *hw, | |||
1332 | } | 1332 | } |
1333 | } | 1333 | } |
1334 | 1334 | ||
1335 | static u64 zd_op_get_tsf(struct ieee80211_hw *hw) | 1335 | static u64 zd_op_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) |
1336 | { | 1336 | { |
1337 | struct zd_mac *mac = zd_hw_mac(hw); | 1337 | struct zd_mac *mac = zd_hw_mac(hw); |
1338 | return zd_chip_get_tsf(&mac->chip); | 1338 | return zd_chip_get_tsf(&mac->chip); |