11 #include <linux/device.h>
12 #include <linux/module.h>
13 #include <linux/pci.h>
14 #include <linux/slab.h>
19 #define PLX9030_INTCSR 0x4C
20 #define INTSCR_INT1_ENABLE 0x01
21 #define INTSCR_INT1_STATUS 0x04
22 #define INT1_ENABLED_AND_ACTIVE (INTSCR_INT1_ENABLE | INTSCR_INT1_STATUS)
24 #define PCI_SUBVENDOR_ID_PEP 0x1518
25 #define CIF_SUBDEVICE_PROFIBUS 0x430
26 #define CIF_SUBDEVICE_DEVICENET 0x432
31 void __iomem *plx_intscr = dev_info->
mem[0].internal_addr
35 != INT1_ENABLED_AND_ACTIVE)
59 if (!info->
mem[0].addr)
62 if (!info->
mem[0].internal_addr)
72 info->
name =
"CIF_Profibus";
75 info->
name =
"CIF_Devicenet";
78 info->
name =
"CIF_???";
83 info->
handler = hilscher_handler;
88 pci_set_drvdata(dev, info);
102 static void hilscher_pci_remove(
struct pci_dev *dev)
104 struct uio_info *info = pci_get_drvdata(dev);
109 pci_set_drvdata(dev,
NULL);
131 static struct pci_driver hilscher_pci_driver = {
133 .id_table = hilscher_pci_ids,
134 .probe = hilscher_pci_probe,
135 .remove = hilscher_pci_remove,
138 static int __init hilscher_init_module(
void)
140 return pci_register_driver(&hilscher_pci_driver);
143 static void __exit hilscher_exit_module(
void)