#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(…) …;