12 #include <linux/device.h>
14 #include <linux/module.h>
15 #include <linux/pci.h>
16 #include <linux/slab.h>
19 #define PCI_VENDOR_ID_HILSCHER 0x15CF
20 #define PCI_DEVICE_ID_HILSCHER_NETX 0x0000
21 #define PCI_DEVICE_ID_HILSCHER_NETPLC 0x0010
22 #define PCI_SUBDEVICE_ID_NETPLC_RAM 0x0000
23 #define PCI_SUBDEVICE_ID_NETPLC_FLASH 0x0001
24 #define PCI_SUBDEVICE_ID_NXSB_PCA 0x3235
25 #define PCI_SUBDEVICE_ID_NXPCA 0x3335
27 #define DPM_HOST_INT_EN0 0xfff0
28 #define DPM_HOST_INT_STAT0 0xffe0
30 #define DPM_HOST_INT_MASK 0xe600ffff
31 #define DPM_HOST_INT_GLOBAL_EN 0x80000000
35 void __iomem *int_enable_reg = dev_info->
mem[0].internal_addr
37 void __iomem *int_status_reg = dev_info->
mem[0].internal_addr
74 info->
name =
"netplc";
78 info->
name =
"netx_plx";
83 if (!info->
mem[0].addr)
88 if (!info->
mem[0].internal_addr)
104 pci_set_drvdata(dev, info);
105 dev_info(&dev->
dev,
"Found %s card, registered UIO device.\n",
121 static void netx_pci_remove(
struct pci_dev *dev)
123 struct uio_info *info = pci_get_drvdata(dev);
130 pci_set_drvdata(dev,
NULL);
172 .id_table = netx_pci_ids,
173 .probe = netx_pci_probe,
174 .remove = netx_pci_remove,
177 static int __init netx_init_module(
void)
179 return pci_register_driver(&netx_pci_driver);
182 static void __exit netx_exit_module(
void)