linux/drivers/usb/gadget/function/uvc.h

/* SPDX-License-Identifier: GPL-2.0+ */
/*
 *	uvc_gadget.h  --  USB Video Class Gadget driver
 *
 *	Copyright (C) 2009-2010
 *	    Laurent Pinchart ([email protected])
 */

#ifndef _UVC_GADGET_H_
#define _UVC_GADGET_H_

#include <linux/list.h>
#include <linux/mutex.h>
#include <linux/spinlock.h>
#include <linux/usb/composite.h>
#include <linux/videodev2.h>
#include <linux/wait.h>

#include <media/v4l2-device.h>
#include <media/v4l2-dev.h>
#include <media/v4l2-fh.h>

#include "uvc_queue.h"

struct usb_ep;
struct usb_request;
struct uvc_descriptor_header;
struct uvc_device;

/* ------------------------------------------------------------------------
 * Debugging, printing and logging
 */

#define UVC_TRACE_PROBE
#define UVC_TRACE_DESCR
#define UVC_TRACE_CONTROL
#define UVC_TRACE_FORMAT
#define UVC_TRACE_CAPTURE
#define UVC_TRACE_CALLS
#define UVC_TRACE_IOCTL
#define UVC_TRACE_FRAME
#define UVC_TRACE_SUSPEND
#define UVC_TRACE_STATUS

#define UVC_WARN_MINMAX
#define UVC_WARN_PROBE_DEF

extern unsigned int uvc_gadget_trace_param;

#define uvc_trace(flag, msg...)

#define uvcg_dbg(f, fmt, args...)
#define uvcg_info(f, fmt, args...)
#define uvcg_warn(f, fmt, args...)
#define uvcg_err(f, fmt, args...)

/* ------------------------------------------------------------------------
 * Driver specific constants
 */

#define UVC_MAX_REQUEST_SIZE
#define UVC_MAX_EVENTS

#define UVCG_REQUEST_HEADER_LEN

/* ------------------------------------------------------------------------
 * Structures
 */
struct uvc_request {};

struct uvc_video {};

enum uvc_state {};

struct uvc_device {};

static inline struct uvc_device *to_uvc(struct usb_function *f)
{}

struct uvc_file_handle {};

#define to_uvc_file_handle(handle)

/* ------------------------------------------------------------------------
 * Functions
 */

extern void uvc_function_setup_continue(struct uvc_device *uvc, int disable_ep);
extern void uvc_function_connect(struct uvc_device *uvc);
extern void uvc_function_disconnect(struct uvc_device *uvc);

#endif /* _UVC_GADGET_H_ */