+++ /dev/null
-From: Christian Lamparter <chunkeey@gmail.com>
-Date: Sat, 16 Nov 2019 19:25:24 +0100
-Subject: [PATCH] owl_loader: compatibility patch
-
-This patch includes OpenWrt specific changes that are
-not included in the upstream owl-loader.
-
-This includes a platform data handling changes for ar71xx.
-
-Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
-
---- a/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c
-+++ b/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c
-@@ -103,6 +103,7 @@ static void owl_fw_cb(const struct firmw
- {
- struct pci_dev *pdev = (struct pci_dev *)context;
- struct owl_ctx *ctx = (struct owl_ctx *)pci_get_drvdata(pdev);
-+ struct ath9k_platform_data *pdata = dev_get_platdata(&pdev->dev);
- struct pci_bus *bus;
-
- complete(&ctx->eeprom_load);
-@@ -118,6 +119,16 @@ static void owl_fw_cb(const struct firmw
- goto release;
- }
-
-+ if (pdata) {
-+ memcpy(pdata->eeprom_data, fw->data, fw->size);
-+
-+ /*
-+ * eeprom has been successfully loaded - pass the data to ath9k
-+ * but remove the eeprom_name, so it doesn't try to load it too.
-+ */
-+ pdata->eeprom_name = NULL;
-+ }
-+
- if (ath9k_pci_fixup(pdev, (const u16 *)fw->data, fw->size))
- goto release;
-
-@@ -137,8 +148,14 @@ release:
- static const char *owl_get_eeprom_name(struct pci_dev *pdev)
- {
- struct device *dev = &pdev->dev;
-+ struct ath9k_platform_data *pdata;
- char *eeprom_name;
-
-+ /* try the existing platform data first */
-+ pdata = dev_get_platdata(dev);
-+ if (pdata && pdata->eeprom_name)
-+ return pdata->eeprom_name;
-+
- dev_dbg(dev, "using auto-generated eeprom filename\n");
-
- eeprom_name = devm_kzalloc(dev, EEPROM_FILENAME_LEN, GFP_KERNEL);