summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo.bianconi@redhat.com>2018-09-06 11:18:26 +0200
committerFelix Fietkau <nbd@nbd.name>2018-09-19 12:29:42 +0200
commit95e507d2f36654814db75b01b636aed34c0b436f (patch)
treed43697cf4d8ad3560542cd3d9dcbc873aad69d42
parentf2653a4ee3f25baf8539f251de2e0093619d2460 (diff)
downloadlinux-95e507d2f36654814db75b01b636aed34c0b436f.tar.gz
linux-95e507d2f36654814db75b01b636aed34c0b436f.zip
mt76x0: use mt76_alloc_device for device allocation
Use mt76_alloc_device utility routine for mt76x0_dev/mt76_dev allocation Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt76x0/init.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x0/init.c b/drivers/net/wireless/mediatek/mt76/mt76x0/init.c
index a92de35ef7fd..b28ea45a7282 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x0/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt76x0/init.c
@@ -490,24 +490,22 @@ struct mt76x0_dev *mt76x0_alloc_device(struct device *pdev)
.tx_status_data = mt76x02_tx_status_data,
.rx_skb = mt76x0_queue_rx_skb,
};
- struct ieee80211_hw *hw;
struct mt76x0_dev *dev;
+ struct mt76_dev *mdev;
- hw = ieee80211_alloc_hw(sizeof(*dev), &mt76x0_ops);
- if (!hw)
+ mdev = mt76_alloc_device(sizeof(*dev), &mt76x0_ops);
+ if (!mdev)
return NULL;
- dev = hw->priv;
- dev->mt76.dev = pdev;
- dev->mt76.hw = hw;
- dev->mt76.drv = &drv_ops;
+ mdev->dev = pdev;
+ mdev->drv = &drv_ops;
+
+ dev = container_of(mdev, struct mt76x0_dev, mt76);
mutex_init(&dev->usb_ctrl_mtx);
mutex_init(&dev->reg_atomic_mutex);
mutex_init(&dev->hw_atomic_mutex);
- mutex_init(&dev->mt76.mutex);
spin_lock_init(&dev->tx_lock);
spin_lock_init(&dev->rx_lock);
- spin_lock_init(&dev->mt76.lock);
spin_lock_init(&dev->mac_lock);
spin_lock_init(&dev->con_mon_lock);
atomic_set(&dev->avg_ampdu_len, 1);
@@ -515,7 +513,7 @@ struct mt76x0_dev *mt76x0_alloc_device(struct device *pdev)
dev->stat_wq = alloc_workqueue("mt76x0", WQ_UNBOUND, 0);
if (!dev->stat_wq) {
- ieee80211_free_hw(hw);
+ ieee80211_free_hw(mdev->hw);
return NULL;
}