blob: 601e29d3891c82d9e4cea46ce9e73319a89d7910 [file] [log] [blame]
Bhanusree Polad22e2732018-05-29 23:39:32 +05301/* SPDX-License-Identifier: GPL-2.0+ */
2/* comedi_usb.h
Ian Abbottd1a6b732015-01-27 17:49:01 +00003 * 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>
Ian Abbottd1a6b732015-01-27 17:49:01 +00007 */
8
9#ifndef _COMEDI_USB_H
10#define _COMEDI_USB_H
11
12#include <linux/usb.h>
13
14#include "comedidev.h"
15
Ian Abbott1016d5a2016-12-15 13:19:50 +000016struct usb_interface *comedi_to_usb_interface(struct comedi_device *dev);
17struct usb_device *comedi_to_usb_dev(struct comedi_device *dev);
Ian Abbottc7d623d2015-01-27 17:49:09 +000018
Ian Abbott1016d5a2016-12-15 13:19:50 +000019int comedi_usb_auto_config(struct usb_interface *intf,
20 struct comedi_driver *driver, unsigned long context);
21void comedi_usb_auto_unconfig(struct usb_interface *intf);
Ian Abbottc7d623d2015-01-27 17:49:09 +000022
Ian Abbott1016d5a2016-12-15 13:19:50 +000023int comedi_usb_driver_register(struct comedi_driver *comedi_driver,
24 struct usb_driver *usb_driver);
25void comedi_usb_driver_unregister(struct comedi_driver *comedi_driver,
26 struct usb_driver *usb_driver);
Ian Abbottc7d623d2015-01-27 17:49:09 +000027
28/**
29 * module_comedi_usb_driver() - Helper macro for registering a comedi USB driver
30 * @__comedi_driver: comedi_driver struct
31 * @__usb_driver: usb_driver struct
32 *
33 * Helper macro for comedi USB drivers which do not do anything special
34 * in module init/exit. This eliminates a lot of boilerplate. Each
35 * module may only use this macro once, and calling it replaces
36 * module_init() and module_exit()
Ian Abbottd1a6b732015-01-27 17:49:01 +000037 */
Ian Abbottc7d623d2015-01-27 17:49:09 +000038#define module_comedi_usb_driver(__comedi_driver, __usb_driver) \
39 module_driver(__comedi_driver, comedi_usb_driver_register, \
40 comedi_usb_driver_unregister, &(__usb_driver))
Ian Abbottd1a6b732015-01-27 17:49:01 +000041
42#endif /* _COMEDI_USB_H */