mt76: mt7615: add address parameter to mt7615_eeprom_init
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 2 Apr 2020 18:18:56 +0000 (20:18 +0200)
committerFelix Fietkau <nbd@nbd.name>
Tue, 12 May 2020 17:52:29 +0000 (19:52 +0200)
Introduce address parameter to mt7615_eeprom_init routine in order to be
reused adding usb support to mt7615 driver

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c
drivers/net/wireless/mediatek/mt76/mt7615/init.c
drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h

index dfa9a08..23ed205 100644 (file)
@@ -40,11 +40,11 @@ static int mt7615_efuse_read(struct mt7615_dev *dev, u32 base,
        return 0;
 }
 
-static int mt7615_efuse_init(struct mt7615_dev *dev)
+static int mt7615_efuse_init(struct mt7615_dev *dev, u32 base)
 {
-       u32 val, base = mt7615_reg_map(dev, MT_EFUSE_BASE);
        int i, len = MT7615_EEPROM_SIZE;
        void *buf;
+       u32 val;
 
        val = mt76_rr(dev, base + MT_EFUSE_BASE_CTRL);
        if (val & MT_EFUSE_BASE_CTRL_EMPTY)
@@ -67,7 +67,7 @@ static int mt7615_efuse_init(struct mt7615_dev *dev)
        return 0;
 }
 
-static int mt7615_eeprom_load(struct mt7615_dev *dev)
+static int mt7615_eeprom_load(struct mt7615_dev *dev, u32 addr)
 {
        int ret;
 
@@ -75,7 +75,7 @@ static int mt7615_eeprom_load(struct mt7615_dev *dev)
        if (ret < 0)
                return ret;
 
-       return mt7615_efuse_init(dev);
+       return mt7615_efuse_init(dev, addr);
 }
 
 static int mt7615_check_eeprom(struct mt76_dev *dev)
@@ -265,11 +265,11 @@ static void mt7615_cal_free_data(struct mt7615_dev *dev)
        }
 }
 
-int mt7615_eeprom_init(struct mt7615_dev *dev)
+int mt7615_eeprom_init(struct mt7615_dev *dev, u32 addr)
 {
        int ret;
 
-       ret = mt7615_eeprom_load(dev);
+       ret = mt7615_eeprom_load(dev, addr);
        if (ret < 0)
                return ret;
 
index be0f3a7..6acaaf2 100644 (file)
@@ -146,6 +146,7 @@ static void mt7615_init_work(struct work_struct *work)
 
 static int mt7615_init_hardware(struct mt7615_dev *dev)
 {
+       u32 addr = mt7615_reg_map(dev, MT_EFUSE_BASE);
        int ret, idx;
 
        mt76_wr(dev, MT_INT_SOURCE_CSR, ~0);
@@ -154,7 +155,7 @@ static int mt7615_init_hardware(struct mt7615_dev *dev)
        spin_lock_init(&dev->token_lock);
        idr_init(&dev->token);
 
-       ret = mt7615_eeprom_init(dev);
+       ret = mt7615_eeprom_init(dev, addr);
        if (ret < 0)
                return ret;
 
index f3c9126..170775a 100644 (file)
@@ -360,7 +360,7 @@ int mt7615_register_device(struct mt7615_dev *dev);
 void mt7615_unregister_device(struct mt7615_dev *dev);
 int mt7615_register_ext_phy(struct mt7615_dev *dev);
 void mt7615_unregister_ext_phy(struct mt7615_dev *dev);
-int mt7615_eeprom_init(struct mt7615_dev *dev);
+int mt7615_eeprom_init(struct mt7615_dev *dev, u32 addr);
 int mt7615_eeprom_get_power_index(struct mt7615_dev *dev,
                                  struct ieee80211_channel *chan,
                                  u8 chain_idx);