#include <linux/device.h>
#include <linux/io.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/uio_driver.h>
#define PCI_VENDOR_ID_HILSCHER …
#define PCI_DEVICE_ID_HILSCHER_NETX …
#define PCI_DEVICE_ID_HILSCHER_NETPLC …
#define PCI_SUBDEVICE_ID_NETPLC_RAM …
#define PCI_SUBDEVICE_ID_NETPLC_FLASH …
#define PCI_SUBDEVICE_ID_NXSB_PCA …
#define PCI_SUBDEVICE_ID_NXPCA …
#define DPM_HOST_INT_EN0 …
#define DPM_HOST_INT_STAT0 …
#define DPM_HOST_INT_MASK …
#define DPM_HOST_INT_GLOBAL_EN …
static irqreturn_t netx_handler(int irq, struct uio_info *dev_info)
{ … }
static int netx_pci_probe(struct pci_dev *dev,
const struct pci_device_id *id)
{ … }
static void netx_pci_remove(struct pci_dev *dev)
{ … }
static struct pci_device_id netx_pci_ids[] = …;
static struct pci_driver netx_pci_driver = …;
module_pci_driver(…) …;
MODULE_DEVICE_TABLE(pci, netx_pci_ids);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;