mt76: move mt76_mcu_rx_event in mt76-core
authorLorenzo Bianconi <lorenzo.bianconi@redhat.com>
Mon, 4 Feb 2019 16:51:29 +0000 (17:51 +0100)
committerFelix Fietkau <nbd@nbd.name>
Mon, 18 Feb 2019 18:54:33 +0000 (19:54 +0100)
Move mt76_mcu_rx_event i mt76-core module and remove duplicated code.
mt76_mcu_rx_event will be reused adding support for mt7603 driver

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mcu.c
drivers/net/wireless/mediatek/mt76/mt76.h
drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c

index 0fd71a97a197b7e90d1843534fbe614dee0895fa..dbb57b593a8732806ad3c11d36e54b76f2b19ad8 100644 (file)
@@ -51,3 +51,10 @@ struct sk_buff *mt76_mcu_get_response(struct mt76_dev *dev,
        return skb_dequeue(&dev->mmio.mcu.res_q);
 }
 EXPORT_SYMBOL_GPL(mt76_mcu_get_response);
+
+void mt76_mcu_rx_event(struct mt76_dev *dev, struct sk_buff *skb)
+{
+       skb_queue_tail(&dev->mmio.mcu.res_q, skb);
+       wake_up(&dev->mmio.mcu.wait);
+}
+EXPORT_SYMBOL_GPL(mt76_mcu_rx_event);
index 534e418c6d8091ee04f03af830f50dd88550824c..a6cc9a2ff97e828c1fb303941bf00895e079eba0 100644 (file)
@@ -754,6 +754,7 @@ void mt76u_queues_deinit(struct mt76_dev *dev);
 struct sk_buff *
 mt76_mcu_msg_alloc(const void *data, int head_len,
                   int data_len, int tail_len);
+void mt76_mcu_rx_event(struct mt76_dev *dev, struct sk_buff *skb);
 struct sk_buff *mt76_mcu_get_response(struct mt76_dev *dev,
                                      unsigned long expires);
 
index a5413a309a0a2cd8326f0d290d22681078fe20a2..7861a832940b6382662868369b5c091d0c2b49e7 100644 (file)
@@ -58,8 +58,7 @@ void mt76x02_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q,
 
        if (q == MT_RXQ_MCU) {
                /* this is used just by mmio code */
-               skb_queue_tail(&mdev->mmio.mcu.res_q, skb);
-               wake_up(&mdev->mmio.mcu.wait);
+               mt76_mcu_rx_event(&dev->mt76, skb);
                return;
        }