|
@@ -310,6 +310,25 @@ int comedi_driver_unregister(struct comedi_driver *);
|
|
|
module_driver(__comedi_driver, comedi_driver_register, \
|
|
|
comedi_driver_unregister)
|
|
|
|
|
|
+struct pci_driver;
|
|
|
+
|
|
|
+int comedi_pci_driver_register(struct comedi_driver *, struct pci_driver *);
|
|
|
+void comedi_pci_driver_unregister(struct comedi_driver *, struct pci_driver *);
|
|
|
+
|
|
|
+/**
|
|
|
+ * module_comedi_pci_driver() - Helper macro for registering a comedi PCI driver
|
|
|
+ * @__comedi_driver: comedi_driver struct
|
|
|
+ * @__pci_driver: pci_driver struct
|
|
|
+ *
|
|
|
+ * Helper macro for comedi PCI drivers which do not do anything special
|
|
|
+ * in module init/exit. This eliminates a lot of boilerplate. Each
|
|
|
+ * module may only use this macro once, and calling it replaces
|
|
|
+ * module_init() and module_exit()
|
|
|
+ */
|
|
|
+#define module_comedi_pci_driver(__comedi_driver, __pci_driver) \
|
|
|
+ module_driver(__comedi_driver, comedi_pci_driver_register, \
|
|
|
+ comedi_pci_driver_unregister, &(__pci_driver))
|
|
|
+
|
|
|
void init_polling(void);
|
|
|
void cleanup_polling(void);
|
|
|
void start_polling(struct comedi_device *);
|