comedi_usb.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /* comedi_usb.h
  3. * header file for USB Comedi drivers
  4. *
  5. * COMEDI - Linux Control and Measurement Device Interface
  6. * Copyright (C) 1997-2000 David A. Schleef <ds@schleef.org>
  7. */
  8. #ifndef _COMEDI_USB_H
  9. #define _COMEDI_USB_H
  10. #include <linux/usb.h>
  11. #include "comedidev.h"
  12. struct usb_interface *comedi_to_usb_interface(struct comedi_device *dev);
  13. struct usb_device *comedi_to_usb_dev(struct comedi_device *dev);
  14. int comedi_usb_auto_config(struct usb_interface *intf,
  15. struct comedi_driver *driver, unsigned long context);
  16. void comedi_usb_auto_unconfig(struct usb_interface *intf);
  17. int comedi_usb_driver_register(struct comedi_driver *comedi_driver,
  18. struct usb_driver *usb_driver);
  19. void comedi_usb_driver_unregister(struct comedi_driver *comedi_driver,
  20. struct usb_driver *usb_driver);
  21. /**
  22. * module_comedi_usb_driver() - Helper macro for registering a comedi USB driver
  23. * @__comedi_driver: comedi_driver struct
  24. * @__usb_driver: usb_driver struct
  25. *
  26. * Helper macro for comedi USB drivers which do not do anything special
  27. * in module init/exit. This eliminates a lot of boilerplate. Each
  28. * module may only use this macro once, and calling it replaces
  29. * module_init() and module_exit()
  30. */
  31. #define module_comedi_usb_driver(__comedi_driver, __usb_driver) \
  32. module_driver(__comedi_driver, comedi_usb_driver_register, \
  33. comedi_usb_driver_unregister, &(__usb_driver))
  34. #endif /* _COMEDI_USB_H */