comedi_pcmcia.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. #ifndef _COMEDI_PCMCIA_H
  10. #define _COMEDI_PCMCIA_H
  11. #include <pcmcia/cistpl.h>
  12. #include <pcmcia/ds.h>
  13. #include "comedidev.h"
  14. struct pcmcia_device *comedi_to_pcmcia_dev(struct comedi_device *dev);
  15. int comedi_pcmcia_enable(struct comedi_device *dev,
  16. int (*conf_check)(struct pcmcia_device *p_dev,
  17. void *priv_data));
  18. void comedi_pcmcia_disable(struct comedi_device *dev);
  19. int comedi_pcmcia_auto_config(struct pcmcia_device *link,
  20. struct comedi_driver *driver);
  21. void comedi_pcmcia_auto_unconfig(struct pcmcia_device *link);
  22. int comedi_pcmcia_driver_register(struct comedi_driver *comedi_driver,
  23. struct pcmcia_driver *pcmcia_driver);
  24. void comedi_pcmcia_driver_unregister(struct comedi_driver *comedi_driver,
  25. struct pcmcia_driver *pcmcia_driver);
  26. /**
  27. * module_comedi_pcmcia_driver() - Helper macro for registering a comedi
  28. * PCMCIA driver
  29. * @__comedi_driver: comedi_driver struct
  30. * @__pcmcia_driver: pcmcia_driver struct
  31. *
  32. * Helper macro for comedi PCMCIA drivers which do not do anything special
  33. * in module init/exit. This eliminates a lot of boilerplate. Each
  34. * module may only use this macro once, and calling it replaces
  35. * module_init() and module_exit()
  36. */
  37. #define module_comedi_pcmcia_driver(__comedi_driver, __pcmcia_driver) \
  38. module_driver(__comedi_driver, comedi_pcmcia_driver_register, \
  39. comedi_pcmcia_driver_unregister, &(__pcmcia_driver))
  40. #endif /* _COMEDI_PCMCIA_H */