#include <linux/acpi.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/pci.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/phy.h>
#include <linux/of.h>
#include <linux/of_mdio.h>
#include <linux/of_net.h>
#include "nic.h"
#include "thunder_bgx.h"
#define DRV_NAME …
#define DRV_VERSION …
#define XCV_RESET …
#define PORT_EN …
#define CLK_RESET …
#define DLL_RESET …
#define COMP_EN …
#define TX_PKT_RESET …
#define TX_DATA_RESET …
#define RX_PKT_RESET …
#define RX_DATA_RESET …
#define XCV_DLL_CTL …
#define CLKRX_BYP …
#define CLKTX_BYP …
#define XCV_COMP_CTL …
#define DRV_BYP …
#define XCV_CTL …
#define XCV_INT …
#define XCV_INT_W1S …
#define XCV_INT_ENA_W1C …
#define XCV_INT_ENA_W1S …
#define XCV_INBND_STATUS …
#define XCV_BATCH_CRD_RET …
struct xcv { … };
static struct xcv *xcv;
static const struct pci_device_id xcv_id_table[] = …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_VERSION(…);
MODULE_DEVICE_TABLE(pci, xcv_id_table);
void xcv_init_hw(void)
{ … }
EXPORT_SYMBOL(…);
void xcv_setup_link(bool link_up, int link_speed)
{ … }
EXPORT_SYMBOL(…);
static int xcv_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{ … }
static void xcv_remove(struct pci_dev *pdev)
{ … }
static struct pci_driver xcv_driver = …;
static int __init xcv_init_module(void)
{ … }
static void __exit xcv_cleanup_module(void)
{ … }
module_init(…) …;
module_exit(xcv_cleanup_module);