aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath9k/ath9k.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/ath9k/ath9k.h')
-rw-r--r--drivers/net/wireless/ath9k/ath9k.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath9k/ath9k.h b/drivers/net/wireless/ath9k/ath9k.h
index 41eeac42a80c..386b93622e58 100644
--- a/drivers/net/wireless/ath9k/ath9k.h
+++ b/drivers/net/wireless/ath9k/ath9k.h
@@ -373,10 +373,10 @@ int ath_tx_cleanup(struct ath_softc *sc);
373struct ath_txq *ath_test_get_txq(struct ath_softc *sc, struct sk_buff *skb); 373struct ath_txq *ath_test_get_txq(struct ath_softc *sc, struct sk_buff *skb);
374int ath_txq_update(struct ath_softc *sc, int qnum, 374int ath_txq_update(struct ath_softc *sc, int qnum,
375 struct ath9k_tx_queue_info *q); 375 struct ath9k_tx_queue_info *q);
376int ath_tx_start(struct ath_softc *sc, struct sk_buff *skb, 376int ath_tx_start(struct ieee80211_hw *hw, struct sk_buff *skb,
377 struct ath_tx_control *txctl); 377 struct ath_tx_control *txctl);
378void ath_tx_tasklet(struct ath_softc *sc); 378void ath_tx_tasklet(struct ath_softc *sc);
379void ath_tx_cabq(struct ath_softc *sc, struct sk_buff *skb); 379void ath_tx_cabq(struct ieee80211_hw *hw, struct sk_buff *skb);
380bool ath_tx_aggr_check(struct ath_softc *sc, struct ath_node *an, u8 tidno); 380bool ath_tx_aggr_check(struct ath_softc *sc, struct ath_node *an, u8 tidno);
381int ath_tx_aggr_start(struct ath_softc *sc, struct ieee80211_sta *sta, 381int ath_tx_aggr_start(struct ath_softc *sc, struct ieee80211_sta *sta,
382 u16 tid, u16 *ssn); 382 u16 tid, u16 *ssn);
@@ -429,6 +429,7 @@ struct ath_beacon {
429 u32 ast_be_xmit; 429 u32 ast_be_xmit;
430 u64 bc_tstamp; 430 u64 bc_tstamp;
431 struct ieee80211_vif *bslot[ATH_BCBUF]; 431 struct ieee80211_vif *bslot[ATH_BCBUF];
432 struct ath_wiphy *bslot_aphy[ATH_BCBUF];
432 int slottime; 433 int slottime;
433 int slotupdate; 434 int slotupdate;
434 struct ath9k_tx_queue_info beacon_qi; 435 struct ath9k_tx_queue_info beacon_qi;
@@ -440,7 +441,7 @@ struct ath_beacon {
440void ath_beacon_tasklet(unsigned long data); 441void ath_beacon_tasklet(unsigned long data);
441void ath_beacon_config(struct ath_softc *sc, struct ieee80211_vif *vif); 442void ath_beacon_config(struct ath_softc *sc, struct ieee80211_vif *vif);
442int ath_beaconq_setup(struct ath_hw *ah); 443int ath_beaconq_setup(struct ath_hw *ah);
443int ath_beacon_alloc(struct ath_softc *sc, struct ieee80211_vif *vif); 444int ath_beacon_alloc(struct ath_wiphy *aphy, struct ieee80211_vif *vif);
444void ath_beacon_return(struct ath_softc *sc, struct ath_vif *avp); 445void ath_beacon_return(struct ath_softc *sc, struct ath_vif *avp);
445 446
446/*******/ 447/*******/
@@ -554,7 +555,12 @@ struct ath_wiphy;
554struct ath_softc { 555struct ath_softc {
555 struct ieee80211_hw *hw; 556 struct ieee80211_hw *hw;
556 struct device *dev; 557 struct device *dev;
558
559 spinlock_t wiphy_lock; /* spinlock to protect ath_wiphy data */
557 struct ath_wiphy *pri_wiphy; 560 struct ath_wiphy *pri_wiphy;
561 struct ath_wiphy **sec_wiphy; /* secondary wiphys (virtual radios); may
562 * have NULL entries */
563 int num_sec_wiphy; /* number of sec_wiphy pointers in the array */
558 struct tasklet_struct intr_tq; 564 struct tasklet_struct intr_tq;
559 struct tasklet_struct bcon_tasklet; 565 struct tasklet_struct bcon_tasklet;
560 struct ath_hw *sc_ah; 566 struct ath_hw *sc_ah;
@@ -638,6 +644,7 @@ int ath_attach(u16 devid, struct ath_softc *sc);
638void ath_detach(struct ath_softc *sc); 644void ath_detach(struct ath_softc *sc);
639const char *ath_mac_bb_name(u32 mac_bb_version); 645const char *ath_mac_bb_name(u32 mac_bb_version);
640const char *ath_rf_name(u16 rf_version); 646const char *ath_rf_name(u16 rf_version);
647void ath_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw);
641 648
642#ifdef CONFIG_PCI 649#ifdef CONFIG_PCI
643int ath_pci_init(void); 650int ath_pci_init(void);
@@ -675,5 +682,7 @@ static inline void ath9k_ps_restore(struct ath_softc *sc)
675 682
676 683
677void ath9k_set_bssid_mask(struct ieee80211_hw *hw); 684void ath9k_set_bssid_mask(struct ieee80211_hw *hw);
685int ath9k_wiphy_add(struct ath_softc *sc);
686int ath9k_wiphy_del(struct ath_wiphy *aphy);
678 687
679#endif /* ATH9K_H */ 688#endif /* ATH9K_H */