#include <linux/device.h>
#include <linux/firmware.h>
#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/pci.h>
#include <linux/printk.h>
#include "cptpf.h"
#define DRV_NAME …
#define DRV_VERSION …
static u32 num_vfs = …;
module_param(num_vfs, uint, 0444);
MODULE_PARM_DESC(…) …;
static void cpt_disable_cores(struct cpt_device *cpt, u64 coremask,
u8 type, u8 grp)
{ … }
static void cpt_enable_cores(struct cpt_device *cpt, u64 coremask,
u8 type)
{ … }
static void cpt_configure_group(struct cpt_device *cpt, u8 grp,
u64 coremask, u8 type)
{ … }
static void cpt_disable_mbox_interrupts(struct cpt_device *cpt)
{ … }
static void cpt_disable_ecc_interrupts(struct cpt_device *cpt)
{ … }
static void cpt_disable_exec_interrupts(struct cpt_device *cpt)
{ … }
static void cpt_disable_all_interrupts(struct cpt_device *cpt)
{ … }
static void cpt_enable_mbox_interrupts(struct cpt_device *cpt)
{ … }
static int cpt_load_microcode(struct cpt_device *cpt, struct microcode *mcode)
{ … }
static int do_cpt_init(struct cpt_device *cpt, struct microcode *mcode)
{ … }
struct ucode_header { … };
static int cpt_ucode_load_fw(struct cpt_device *cpt, const u8 *fw, bool is_ae)
{ … }
static int cpt_ucode_load(struct cpt_device *cpt)
{ … }
static irqreturn_t cpt_mbx0_intr_handler(int irq, void *cpt_irq)
{ … }
static void cpt_reset(struct cpt_device *cpt)
{ … }
static void cpt_find_max_enabled_cores(struct cpt_device *cpt)
{ … }
static u32 cpt_check_bist_status(struct cpt_device *cpt)
{ … }
static u64 cpt_check_exe_bist_status(struct cpt_device *cpt)
{ … }
static void cpt_disable_all_cores(struct cpt_device *cpt)
{ … }
static void cpt_unload_microcode(struct cpt_device *cpt)
{ … }
static int cpt_device_init(struct cpt_device *cpt)
{ … }
static int cpt_register_interrupts(struct cpt_device *cpt)
{ … }
static void cpt_unregister_interrupts(struct cpt_device *cpt)
{ … }
static int cpt_sriov_init(struct cpt_device *cpt, int num_vfs)
{ … }
static int cpt_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{ … }
static void cpt_remove(struct pci_dev *pdev)
{ … }
static void cpt_shutdown(struct pci_dev *pdev)
{ … }
static const struct pci_device_id cpt_id_table[] = …;
static struct pci_driver cpt_pci_driver = …;
module_pci_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_VERSION(…);
MODULE_DEVICE_TABLE(pci, cpt_id_table);