1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * comedi_pcmcia.h 4 * header file for Comedi PCMCIA drivers 5 * 6 * COMEDI - Linux Control and Measurement Device Interface 7 * Copyright (C) 1997-2000 David A. Schleef <ds@schleef.org> 8 */ 9 10 #ifndef _COMEDI_PCMCIA_H 11 #define _COMEDI_PCMCIA_H 12 13 #include <pcmcia/cistpl.h> 14 #include <pcmcia/ds.h> 15 #include <linux/comedi/comedidev.h> 16 17 struct pcmcia_device *comedi_to_pcmcia_dev(struct comedi_device *dev); 18 19 int comedi_pcmcia_enable(struct comedi_device *dev, 20 int (*conf_check)(struct pcmcia_device *p_dev, 21 void *priv_data)); 22 void comedi_pcmcia_disable(struct comedi_device *dev); 23 24 int comedi_pcmcia_auto_config(struct pcmcia_device *link, 25 struct comedi_driver *driver); 26 void comedi_pcmcia_auto_unconfig(struct pcmcia_device *link); 27 28 int comedi_pcmcia_driver_register(struct comedi_driver *comedi_driver, 29 struct pcmcia_driver *pcmcia_driver); 30 void comedi_pcmcia_driver_unregister(struct comedi_driver *comedi_driver, 31 struct pcmcia_driver *pcmcia_driver); 32 33 /** 34 * module_comedi_pcmcia_driver() - Helper macro for registering a comedi 35 * PCMCIA driver 36 * @__comedi_driver: comedi_driver struct 37 * @__pcmcia_driver: pcmcia_driver struct 38 * 39 * Helper macro for comedi PCMCIA drivers which do not do anything special 40 * in module init/exit. This eliminates a lot of boilerplate. Each 41 * module may only use this macro once, and calling it replaces 42 * module_init() and module_exit() 43 */ 44 #define module_comedi_pcmcia_driver(__comedi_driver, __pcmcia_driver) \ 45 module_driver(__comedi_driver, comedi_pcmcia_driver_register, \ 46 comedi_pcmcia_driver_unregister, &(__pcmcia_driver)) 47 48 #endif /* _COMEDI_PCMCIA_H */ 49