Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ */
0002 /*
0003  * comedi_pci.h
0004  * header file for Comedi PCI drivers
0005  *
0006  * COMEDI - Linux Control and Measurement Device Interface
0007  * Copyright (C) 1997-2000 David A. Schleef <ds@schleef.org>
0008  */
0009 
0010 #ifndef _COMEDI_PCI_H
0011 #define _COMEDI_PCI_H
0012 
0013 #include <linux/pci.h>
0014 #include <linux/comedi/comedidev.h>
0015 
0016 /*
0017  * PCI Vendor IDs not in <linux/pci_ids.h>
0018  */
0019 #define PCI_VENDOR_ID_KOLTER        0x1001
0020 #define PCI_VENDOR_ID_ICP       0x104c
0021 #define PCI_VENDOR_ID_DT        0x1116
0022 #define PCI_VENDOR_ID_IOTECH        0x1616
0023 #define PCI_VENDOR_ID_CONTEC        0x1221
0024 #define PCI_VENDOR_ID_RTD       0x1435
0025 #define PCI_VENDOR_ID_HUMUSOFT      0x186c
0026 
0027 struct pci_dev *comedi_to_pci_dev(struct comedi_device *dev);
0028 
0029 int comedi_pci_enable(struct comedi_device *dev);
0030 void comedi_pci_disable(struct comedi_device *dev);
0031 void comedi_pci_detach(struct comedi_device *dev);
0032 
0033 int comedi_pci_auto_config(struct pci_dev *pcidev, struct comedi_driver *driver,
0034                unsigned long context);
0035 void comedi_pci_auto_unconfig(struct pci_dev *pcidev);
0036 
0037 int comedi_pci_driver_register(struct comedi_driver *comedi_driver,
0038                    struct pci_driver *pci_driver);
0039 void comedi_pci_driver_unregister(struct comedi_driver *comedi_driver,
0040                   struct pci_driver *pci_driver);
0041 
0042 /**
0043  * module_comedi_pci_driver() - Helper macro for registering a comedi PCI driver
0044  * @__comedi_driver: comedi_driver struct
0045  * @__pci_driver: pci_driver struct
0046  *
0047  * Helper macro for comedi PCI drivers which do not do anything special
0048  * in module init/exit. This eliminates a lot of boilerplate. Each
0049  * module may only use this macro once, and calling it replaces
0050  * module_init() and module_exit()
0051  */
0052 #define module_comedi_pci_driver(__comedi_driver, __pci_driver) \
0053     module_driver(__comedi_driver, comedi_pci_driver_register, \
0054             comedi_pci_driver_unregister, &(__pci_driver))
0055 
0056 #endif /* _COMEDI_PCI_H */