From 02d23855e8a7c6f56dfdf116e867df190df0a9f5 Mon Sep 17 00:00:00 2001 From: Stanislaw Gruszka Date: Thu, 4 Oct 2018 12:04:53 +0200 Subject: [PATCH] mt76: allow to identify bus Add helpers to identify bus type. Signed-off-by: Stanislaw Gruszka Signed-off-by: Felix Fietkau --- mmio.c | 1 + mt76.h | 9 +++++++++ usb.c | 1 + 3 files changed, 11 insertions(+) diff --git a/mmio.c b/mmio.c index 30a5d928..1d6bbce7 100644 --- a/mmio.c +++ b/mmio.c @@ -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; diff --git a/mt76.h b/mt76.h index f723a07c..3bfa7f5e 100644 --- a/mt76.h +++ b/mt76.h @@ -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, diff --git a/usb.c b/usb.c index 6b643ea7..cccb143e 100644 --- a/usb.c +++ b/usb.c @@ -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;