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 0fd71a9..dbb57b5 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 534e418..a6cc9a2 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 a5413a3..7861a83 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;
        }