linux/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c

// SPDX-License-Identifier: ISC
/* Initialize Owl Emulation Devices
 *
 * Copyright (C) 2016 Christian Lamparter <[email protected]>
 * Copyright (C) 2016 Martin Blumenstingl <[email protected]>
 *
 * Some devices (like the Cisco Meraki Z1 Cloud Managed Teleworker Gateway)
 * need to be able to initialize the PCIe wifi device. Normally, this is done
 * during the early stages as a pci quirk.
 * However, this isn't possible for devices which have the init code for the
 * Atheros chip stored on UBI Volume on NAND. Hence, this module can be used to
 * initialize the chip when the user-space is ready to extract the init code.
 */
#include <linux/module.h>
#include <linux/completion.h>
#include <linux/etherdevice.h>
#include <linux/firmware.h>
#include <linux/pci.h>
#include <linux/delay.h>
#include <linux/platform_device.h>
#include <linux/ath9k_platform.h>
#include <linux/nvmem-consumer.h>
#include <linux/workqueue.h>

struct owl_ctx {};

#define EEPROM_FILENAME_LEN

#define AR5416_EEPROM_MAGIC

static int ath9k_pci_fixup(struct pci_dev *pdev, const u16 *cal_data,
			   size_t cal_len)
{}

static void owl_rescan(struct pci_dev *pdev)
{}

static void owl_fw_cb(const struct firmware *fw, void *context)
{}

static const char *owl_get_eeprom_name(struct pci_dev *pdev)
{}

static void owl_nvmem_work(struct work_struct *work)
{}

static int owl_nvmem_probe(struct owl_ctx *ctx)
{}

static int owl_probe(struct pci_dev *pdev,
		     const struct pci_device_id *id)
{}

static void owl_remove(struct pci_dev *pdev)
{}

static const struct pci_device_id owl_pci_table[] =;
MODULE_DEVICE_TABLE(pci, owl_pci_table);

static struct pci_driver owl_driver =;
module_pci_driver();
MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();