addi_apci_2032.c revision a690b7e535f2f97a3a05ee570715abeb60a8910f
1#include "../comedidev.h" 2#include "comedi_fc.h" 3#include "amcc_s5933.h" 4 5#include "addi-data/addi_common.h" 6 7#include "addi-data/addi_eeprom.c" 8#include "addi-data/hwdrv_apci2032.c" 9#include "addi-data/addi_common.c" 10 11static const struct addi_board apci2032_boardtypes[] = { 12 { 13 .pc_DriverName = "apci2032", 14 .i_VendorId = PCI_VENDOR_ID_ADDIDATA, 15 .i_DeviceId = 0x1004, 16 .i_IorangeBase0 = 4, 17 .i_IorangeBase1 = APCI2032_ADDRESS_RANGE, 18 .i_PCIEeprom = ADDIDATA_EEPROM, 19 .pc_EepromChip = ADDIDATA_93C76, 20 .i_NbrDoChannel = 32, 21 .i_DoMaxdata = 0xffffffff, 22 .i_Timer = 1, 23 .interrupt = v_APCI2032_Interrupt, 24 .reset = i_APCI2032_Reset, 25 .do_config = i_APCI2032_ConfigDigitalOutput, 26 .do_bits = apci2032_do_insn_bits, 27 .do_read = i_APCI2032_ReadInterruptStatus, 28 .timer_config = i_APCI2032_ConfigWatchdog, 29 .timer_write = i_APCI2032_StartStopWriteWatchdog, 30 .timer_read = i_APCI2032_ReadWatchdog, 31 }, 32}; 33 34static struct comedi_driver apci2032_driver = { 35 .driver_name = "addi_apci_2032", 36 .module = THIS_MODULE, 37 .auto_attach = addi_auto_attach, 38 .detach = i_ADDI_Detach, 39 .num_names = ARRAY_SIZE(apci2032_boardtypes), 40 .board_name = &apci2032_boardtypes[0].pc_DriverName, 41 .offset = sizeof(struct addi_board), 42}; 43 44static int apci2032_pci_probe(struct pci_dev *dev, 45 const struct pci_device_id *ent) 46{ 47 return comedi_pci_auto_config(dev, &apci2032_driver); 48} 49 50static void __devexit apci2032_pci_remove(struct pci_dev *dev) 51{ 52 comedi_pci_auto_unconfig(dev); 53} 54 55static DEFINE_PCI_DEVICE_TABLE(apci2032_pci_table) = { 56 { PCI_DEVICE(PCI_VENDOR_ID_ADDIDATA, 0x1004) }, 57 { 0 } 58}; 59MODULE_DEVICE_TABLE(pci, apci2032_pci_table); 60 61static struct pci_driver apci2032_pci_driver = { 62 .name = "addi_apci_2032", 63 .id_table = apci2032_pci_table, 64 .probe = apci2032_pci_probe, 65 .remove = apci2032_pci_remove, 66}; 67module_comedi_pci_driver(apci2032_driver, apci2032_pci_driver); 68 69MODULE_AUTHOR("Comedi http://www.comedi.org"); 70MODULE_DESCRIPTION("Comedi low-level driver"); 71MODULE_LICENSE("GPL"); 72