mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 21:36:52 +00:00
mt76: mt7615: split up firmware loading functions
Preparation for adding MT7622 support Signed-off-by: Felix Fietkau <[email protected]>
This commit is contained in:
+26
-6
@@ -370,7 +370,7 @@ static int mt7615_driver_own(struct mt7615_dev *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mt7615_load_patch(struct mt7615_dev *dev)
|
||||
static int mt7615_load_patch(struct mt7615_dev *dev, const char *name)
|
||||
{
|
||||
const struct mt7615_patch_hdr *hdr;
|
||||
const struct firmware *fw = NULL;
|
||||
@@ -387,7 +387,7 @@ static int mt7615_load_patch(struct mt7615_dev *dev)
|
||||
return -EAGAIN;
|
||||
}
|
||||
|
||||
ret = request_firmware(&fw, MT7615_ROM_PATCH, dev->mt76.dev);
|
||||
ret = request_firmware(&fw, name, dev->mt76.dev);
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
@@ -483,13 +483,13 @@ mt7615_mcu_send_ram_firmware(struct mt7615_dev *dev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mt7615_load_ram(struct mt7615_dev *dev)
|
||||
static int mt7615_load_n9(struct mt7615_dev *dev, const char *name)
|
||||
{
|
||||
const struct mt7615_fw_trailer *hdr;
|
||||
const struct firmware *fw;
|
||||
int ret;
|
||||
|
||||
ret = request_firmware(&fw, MT7615_FIRMWARE_N9, dev->mt76.dev);
|
||||
ret = request_firmware(&fw, name, dev->mt76.dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -516,9 +516,18 @@ static int mt7615_load_ram(struct mt7615_dev *dev)
|
||||
goto out;
|
||||
}
|
||||
|
||||
out:
|
||||
release_firmware(fw);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = request_firmware(&fw, MT7615_FIRMWARE_CR4, dev->mt76.dev);
|
||||
static int mt7615_load_cr4(struct mt7615_dev *dev, const char *name)
|
||||
{
|
||||
const struct mt7615_fw_trailer *hdr;
|
||||
const struct firmware *fw;
|
||||
int ret;
|
||||
|
||||
ret = request_firmware(&fw, name, dev->mt76.dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -554,6 +563,17 @@ out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int mt7615_load_ram(struct mt7615_dev *dev)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = mt7615_load_n9(dev, MT7615_FIRMWARE_N9);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return mt7615_load_cr4(dev, MT7615_FIRMWARE_CR4);
|
||||
}
|
||||
|
||||
static int mt7615_load_firmware(struct mt7615_dev *dev)
|
||||
{
|
||||
int ret;
|
||||
@@ -566,7 +586,7 @@ static int mt7615_load_firmware(struct mt7615_dev *dev)
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
ret = mt7615_load_patch(dev);
|
||||
ret = mt7615_load_patch(dev, MT7615_ROM_PATCH);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user