]> git.baikalelectronics.ru Git - kernel.git/commitdiff
mt76: allow to identify bus
authorStanislaw Gruszka <sgruszka@redhat.com>
Thu, 4 Oct 2018 10:04:53 +0000 (12:04 +0200)
committerFelix Fietkau <nbd@nbd.name>
Sat, 13 Oct 2018 15:39:11 +0000 (17:39 +0200)
Add helpers to identify bus type.

Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mmio.c
drivers/net/wireless/mediatek/mt76/mt76.h
drivers/net/wireless/mediatek/mt76/usb.c

index 30a5d928e655ea3bd72ca400be7dc44a16f916ae..1d6bbce76041c2e4996f81bea00ac2fe69288bab 100644 (file)
@@ -79,6 +79,7 @@ void mt76_mmio_init(struct mt76_dev *dev, void __iomem *regs)
                .copy = mt76_mmio_copy,
                .wr_rp = mt76_mmio_wr_rp,
                .rd_rp = mt76_mmio_rd_rp,
+               .type = MT76_BUS_MMIO,
        };
 
        dev->bus = &mt76_mmio_ops;
index f723a07cab29c6f5db1d3ceb19f053c96b158e74..3bfa7f5e35138e85332094dcf9f8cc6b050ce64d 100644 (file)
@@ -38,6 +38,11 @@ struct mt76_reg_pair {
        u32 value;
 };
 
+enum mt76_bus_type {
+       MT76_BUS_MMIO,
+       MT76_BUS_USB,
+};
+
 struct mt76_bus_ops {
        u32 (*rr)(struct mt76_dev *dev, u32 offset);
        void (*wr)(struct mt76_dev *dev, u32 offset, u32 val);
@@ -48,8 +53,12 @@ struct mt76_bus_ops {
                     const struct mt76_reg_pair *rp, int len);
        int (*rd_rp)(struct mt76_dev *dev, u32 base,
                     struct mt76_reg_pair *rp, int len);
+       enum mt76_bus_type type;
 };
 
+#define mt76_is_usb(dev) ((dev)->mt76.bus->type == MT76_BUS_USB)
+#define mt76_is_mmio(dev) ((dev)->mt76.bus->type == MT76_BUS_MMIO)
+
 enum mt76_txq_id {
        MT_TXQ_VO = IEEE80211_AC_VO,
        MT_TXQ_VI = IEEE80211_AC_VI,
index 6a255643c1f0b6be14dd7024da50eedf0edd4aae..5f0faf07c346c22456fc94430455fad59db4af6b 100644 (file)
@@ -862,6 +862,7 @@ int mt76u_init(struct mt76_dev *dev,
                .copy = mt76u_copy,
                .wr_rp = mt76u_wr_rp,
                .rd_rp = mt76u_rd_rp,
+               .type = MT76_BUS_USB,
        };
        struct mt76_usb *usb = &dev->usb;