OSDN Git Service

mt76: move mt76_get_antenna in mt76_core module
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 14 Nov 2019 15:12:07 +0000 (17:12 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 20 Nov 2019 12:23:51 +0000 (13:23 +0100)
Move mt76_get_antenna in mac80211.c in order to be reused by all
drivers. Initialize .get_antenna function pointer for mt76x0, mt7603,
mt7615 and mt76x2u drivers

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mac80211.c
drivers/net/wireless/mediatek/mt76/mt76.h
drivers/net/wireless/mediatek/mt76/mt7603/main.c
drivers/net/wireless/mediatek/mt76/mt7615/main.c
drivers/net/wireless/mediatek/mt76/mt76x0/pci.c
drivers/net/wireless/mediatek/mt76/mt76x0/usb.c
drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c
drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c

index bbe38ca..b9f2a40 100644 (file)
@@ -1037,3 +1037,16 @@ void mt76_sw_scan_complete(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
        clear_bit(MT76_SCANNING, &dev->state);
 }
 EXPORT_SYMBOL_GPL(mt76_sw_scan_complete);
+
+int mt76_get_antenna(struct ieee80211_hw *hw, u32 *tx_ant, u32 *rx_ant)
+{
+       struct mt76_dev *dev = hw->priv;
+
+       mutex_lock(&dev->mutex);
+       *tx_ant = dev->antenna_mask;
+       *rx_ant = dev->antenna_mask;
+       mutex_unlock(&dev->mutex);
+
+       return 0;
+}
+EXPORT_SYMBOL_GPL(mt76_get_antenna);
index 881b91c..afdbcfb 100644 (file)
@@ -761,6 +761,7 @@ int mt76_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 void mt76_csa_check(struct mt76_dev *dev);
 void mt76_csa_finish(struct mt76_dev *dev);
 
+int mt76_get_antenna(struct ieee80211_hw *hw, u32 *tx_ant, u32 *rx_ant);
 int mt76_set_tim(struct ieee80211_hw *hw, struct ieee80211_sta *sta, bool set);
 void mt76_insert_ccmp_hdr(struct sk_buff *skb, u8 key_id);
 int mt76_get_rate(struct mt76_dev *dev,
index a0632ca..281387c 100644 (file)
@@ -691,6 +691,7 @@ const struct ieee80211_ops mt7603_ops = {
        .set_coverage_class = mt7603_set_coverage_class,
        .set_tim = mt76_set_tim,
        .get_survey = mt76_get_survey,
+       .get_antenna = mt76_get_antenna,
 };
 
 MODULE_LICENSE("Dual BSD/GPL");
index 982e578..240dab9 100644 (file)
@@ -547,4 +547,5 @@ const struct ieee80211_ops mt7615_ops = {
        .get_txpower = mt76_get_txpower,
        .channel_switch_beacon = mt7615_channel_switch_beacon,
        .get_survey = mt76_get_survey,
+       .get_antenna = mt76_get_antenna,
 };
index 5605056..e2974e0 100644 (file)
@@ -81,6 +81,7 @@ static const struct ieee80211_ops mt76x0e_ops = {
        .release_buffered_frames = mt76_release_buffered_frames,
        .set_coverage_class = mt76x02_set_coverage_class,
        .set_rts_threshold = mt76x02_set_rts_threshold,
+       .get_antenna = mt76_get_antenna,
 };
 
 static int mt76x0e_register_device(struct mt76x02_dev *dev)
index a8ab8df..65ba9fc 100644 (file)
@@ -138,6 +138,7 @@ static const struct ieee80211_ops mt76x0u_ops = {
        .get_survey = mt76_get_survey,
        .set_tim = mt76_set_tim,
        .release_buffered_frames = mt76_release_buffered_frames,
+       .get_antenna = mt76_get_antenna,
 };
 
 static int mt76x0u_init_hardware(struct mt76x02_dev *dev, bool reset)
index 1387f31..cfe8905 100644 (file)
@@ -135,19 +135,6 @@ static int mt76x2_set_antenna(struct ieee80211_hw *hw, u32 tx_ant,
        return 0;
 }
 
-static int mt76x2_get_antenna(struct ieee80211_hw *hw, u32 *tx_ant,
-                             u32 *rx_ant)
-{
-       struct mt76x02_dev *dev = hw->priv;
-
-       mutex_lock(&dev->mt76.mutex);
-       *tx_ant = dev->mt76.antenna_mask;
-       *rx_ant = dev->mt76.antenna_mask;
-       mutex_unlock(&dev->mt76.mutex);
-
-       return 0;
-}
-
 const struct ieee80211_ops mt76x2_ops = {
        .tx = mt76x02_tx,
        .start = mt76x2_start,
@@ -172,7 +159,7 @@ const struct ieee80211_ops mt76x2_ops = {
        .get_survey = mt76_get_survey,
        .set_tim = mt76_set_tim,
        .set_antenna = mt76x2_set_antenna,
-       .get_antenna = mt76x2_get_antenna,
+       .get_antenna = mt76_get_antenna,
        .set_rts_threshold = mt76x02_set_rts_threshold,
 };
 
index a76a40d..9e97204 100644 (file)
@@ -119,4 +119,5 @@ const struct ieee80211_ops mt76x2u_ops = {
        .get_survey = mt76_get_survey,
        .set_tim = mt76_set_tim,
        .release_buffered_frames = mt76_release_buffered_frames,
+       .get_antenna = mt76_get_antenna,
 };