3 #include "../comedidev.h"
5 #include "amcc_s5933.h"
7 #include "addi-data/addi_common.h"
9 #include "addi-data/addi_eeprom.c"
10 #include "addi-data/hwdrv_apci1500.c"
11 #include "addi-data/addi_common.c"
13 static const struct addi_board apci1500_boardtypes
[] = {
15 .pc_DriverName
= "apci1500",
16 .i_IorangeBase1
= APCI1500_ADDRESS_RANGE
,
17 .i_PCIEeprom
= ADDIDATA_NO_EEPROM
,
20 .i_DoMaxdata
= 0xffff,
22 .interrupt
= v_APCI1500_Interrupt
,
23 .reset
= i_APCI1500_Reset
,
24 .di_config
= i_APCI1500_ConfigDigitalInputEvent
,
25 .di_read
= i_APCI1500_Initialisation
,
26 .di_write
= i_APCI1500_StartStopInputEvent
,
27 .di_bits
= apci1500_di_insn_bits
,
28 .do_config
= i_APCI1500_ConfigDigitalOutputErrorInterrupt
,
29 .do_write
= i_APCI1500_WriteDigitalOutput
,
30 .do_bits
= i_APCI1500_ConfigureInterrupt
,
31 .timer_config
= i_APCI1500_ConfigCounterTimerWatchdog
,
32 .timer_write
= i_APCI1500_StartStopTriggerTimerCounterWatchdog
,
33 .timer_read
= i_APCI1500_ReadInterruptMask
,
34 .timer_bits
= i_APCI1500_ReadCounterTimerWatchdog
,
38 static int apci1500_auto_attach(struct comedi_device
*dev
,
39 unsigned long context
)
41 dev
->board_ptr
= &apci1500_boardtypes
[0];
43 return addi_auto_attach(dev
, context
);
46 static struct comedi_driver apci1500_driver
= {
47 .driver_name
= "addi_apci_1500",
48 .module
= THIS_MODULE
,
49 .auto_attach
= apci1500_auto_attach
,
50 .detach
= i_ADDI_Detach
,
53 static int apci1500_pci_probe(struct pci_dev
*dev
,
54 const struct pci_device_id
*id
)
56 return comedi_pci_auto_config(dev
, &apci1500_driver
, id
->driver_data
);
59 static DEFINE_PCI_DEVICE_TABLE(apci1500_pci_table
) = {
60 { PCI_DEVICE(PCI_VENDOR_ID_AMCC
, 0x80fc) },
63 MODULE_DEVICE_TABLE(pci
, apci1500_pci_table
);
65 static struct pci_driver apci1500_pci_driver
= {
66 .name
= "addi_apci_1500",
67 .id_table
= apci1500_pci_table
,
68 .probe
= apci1500_pci_probe
,
69 .remove
= comedi_pci_auto_unconfig
,
71 module_comedi_pci_driver(apci1500_driver
, apci1500_pci_driver
);
73 MODULE_AUTHOR("Comedi http://www.comedi.org");
74 MODULE_DESCRIPTION("Comedi low-level driver");
75 MODULE_LICENSE("GPL");