.sta_rate_tbl_update = mt76x02_sta_rate_tbl_update,
        .wake_tx_queue = mt76_wake_tx_queue,
        .get_survey = mt76_get_survey,
+       .get_txpower = mt76x02_get_txpower,
 };
 
 static int mt76x0e_register_device(struct mt76x02_dev *dev)
 
        .sta_rate_tbl_update = mt76x02_sta_rate_tbl_update,
        .set_rts_threshold = mt76x0_set_rts_threshold,
        .wake_tx_queue = mt76_wake_tx_queue,
+       .get_txpower = mt76x02_get_txpower,
 };
 
 static int mt76x0u_register_device(struct mt76x02_dev *dev)
 
                     const u8 *mac);
 void mt76x02_sw_scan_complete(struct ieee80211_hw *hw,
                              struct ieee80211_vif *vif);
+int mt76x02_get_txpower(struct ieee80211_hw *hw,
+                       struct ieee80211_vif *vif, int *dbm);
 
 extern const u16 mt76x02_beacon_offsets[16];
 void mt76x02_set_beacon_offsets(struct mt76x02_dev *dev);
 
 }
 EXPORT_SYMBOL_GPL(mt76x02_sw_scan_complete);
 
+int mt76x02_get_txpower(struct ieee80211_hw *hw,
+                       struct ieee80211_vif *vif, int *dbm)
+{
+       struct mt76x02_dev *dev = hw->priv;
+       u8 nstreams = dev->mt76.chainmask & 0xf;
+
+       *dbm = dev->mt76.txpower_cur / 2;
+
+       /* convert from per-chain power to combined
+        * output on 2x2 devices
+        */
+       if (nstreams > 1)
+               *dbm += 3;
+
+       return 0;
+}
+EXPORT_SYMBOL_GPL(mt76x02_get_txpower);
+
 const u16 mt76x02_beacon_offsets[16] = {
        /* 1024 byte per beacon */
        0xc000,
 
 {
 }
 
-static int
-mt76x2_get_txpower(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int *dbm)
-{
-       struct mt76x02_dev *dev = hw->priv;
-
-       *dbm = dev->mt76.txpower_cur / 2;
-
-       /* convert from per-chain power to combined output on 2x2 devices */
-       *dbm += 3;
-
-       return 0;
-}
-
 static void mt76x2_set_coverage_class(struct ieee80211_hw *hw,
                                      s16 coverage_class)
 {
        .sw_scan_complete = mt76x02_sw_scan_complete,
        .flush = mt76x2_flush,
        .ampdu_action = mt76x02_ampdu_action,
-       .get_txpower = mt76x2_get_txpower,
+       .get_txpower = mt76x02_get_txpower,
        .wake_tx_queue = mt76_wake_tx_queue,
        .sta_rate_tbl_update = mt76x02_sta_rate_tbl_update,
        .release_buffered_frames = mt76_release_buffered_frames,
 
        .sw_scan_start = mt76x02_sw_scan,
        .sw_scan_complete = mt76x02_sw_scan_complete,
        .sta_rate_tbl_update = mt76x02_sta_rate_tbl_update,
+       .get_txpower = mt76x02_get_txpower,
 };