57 #include "../comedidev.h"
64 #define PCI_DEVICE_ID_ADLINK_PCI7224 0x7224
65 #define PCI_DEVICE_ID_ADLINK_PCI7248 0x7248
66 #define PCI_DEVICE_ID_ADLINK_PCI7296 0x7296
69 #define PCI_VENDOR_ID_CB 0x1307
71 #define PCI_DEVICE_ID_CB_PCIDIO48H 0x000b
72 #define PCI_DEVICE_ID_CB_PCIDIO24H 0x0014
73 #define PCI_DEVICE_ID_CB_PCIDIO96H 0x0017
74 #define PCI_DEVICE_ID_CB_PCIDIO24 0x0028
76 #define PCI_DEVICE_ID_NI_PCIDIO96 0x0160
77 #define PCI_DEVICE_ID_NI_PCI6503 0x0400
78 #define PCI_DEVICE_ID_NI_PCI6503B 0x1250
79 #define PCI_DEVICE_ID_NI_PXI6508 0x13c0
80 #define PCI_DEVICE_ID_NI_PCIDIO96B 0x1630
81 #define PCI_DEVICE_ID_NI_PCI6503X 0x17d0
82 #define PCI_DEVICE_ID_NI_PXI_6503 0x1800
95 .name =
"adl_pci-7224",
101 .name =
"adl_pci-7248",
107 .name =
"adl_pci-7296",
113 .name =
"cb_pci-dio24",
119 .name =
"cb_pci-dio24h",
125 .name =
"cb_pci-dio48h",
131 .name =
"cb_pci-dio96h",
137 .name =
"ni_pci-dio-96",
144 .name =
"ni_pci-dio-96b",
151 .name =
"ni_pxi-6508",
158 .name =
"ni_pci-6503",
165 .name =
"ni_pci-6503b",
172 .name =
"ni_pci-6503x",
179 .name =
"ni_pxi-6503",
192 static int pci_8255_mmio(
int dir,
int port,
int data,
unsigned long iobase)
197 writeb(data, mmio_base + port);
200 return readb(mmio_base + port);
210 for (i = 0; i <
ARRAY_SIZE(pci_8255_boards); i++) {
211 board = &pci_8255_boards[
i];
230 comedi_set_hw_dev(dev, &pcidev->
dev);
232 board = pci_8255_find_boardinfo(dev, pcidev);
238 ret = alloc_private(dev,
sizeof(*devpriv));
265 for (i = 0; i < board->
n_8255; i++) {
271 iobase = dev->
iobase + (i * 4);
286 struct pci_dev *pcidev = comedi_to_pci_dev(dev);
292 if (!board || !devpriv)
295 for (i = 0; i < board->
n_8255; i++) {
309 .driver_name =
"8255_pci",
311 .attach_pci = pci_8255_attach_pci,
312 .detach = pci_8255_detach,
345 static struct pci_driver pci_8255_pci_driver = {
347 .id_table = pci_8255_pci_table,
348 .probe = pci_8255_pci_probe,