linux/drivers/media/usb/uvc/uvc_status.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 *      uvc_status.c  --  USB Video Class driver - Status endpoint
 *
 *      Copyright (C) 2005-2009
 *          Laurent Pinchart ([email protected])
 */

#include <asm/barrier.h>
#include <linux/kernel.h>
#include <linux/input.h>
#include <linux/slab.h>
#include <linux/usb.h>
#include <linux/usb/input.h>

#include "uvcvideo.h"

/* --------------------------------------------------------------------------
 * Input device
 */
#ifdef CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV

static bool uvc_input_has_button(struct uvc_device *dev)
{}

static int uvc_input_init(struct uvc_device *dev)
{}

static void uvc_input_unregister(struct uvc_device *dev)
{}

static void uvc_input_report_key(struct uvc_device *dev, unsigned int code,
	int value)
{}

#else
#define uvc_input_init
#define uvc_input_unregister
#define uvc_input_report_key
#endif /* CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV */

/* --------------------------------------------------------------------------
 * Status interrupt endpoint
 */
static void uvc_event_streaming(struct uvc_device *dev,
				struct uvc_status *status, int len)
{}

#define UVC_CTRL_VALUE_CHANGE
#define UVC_CTRL_INFO_CHANGE
#define UVC_CTRL_FAILURE_CHANGE
#define UVC_CTRL_MIN_CHANGE
#define UVC_CTRL_MAX_CHANGE

static struct uvc_control *uvc_event_entity_find_ctrl(struct uvc_entity *entity,
						      u8 selector)
{}

static struct uvc_control *uvc_event_find_ctrl(struct uvc_device *dev,
					const struct uvc_status *status,
					struct uvc_video_chain **chain)
{}

static bool uvc_event_control(struct urb *urb,
			      const struct uvc_status *status, int len)
{}

static void uvc_status_complete(struct urb *urb)
{}

int uvc_status_init(struct uvc_device *dev)
{}

void uvc_status_unregister(struct uvc_device *dev)
{}

void uvc_status_cleanup(struct uvc_device *dev)
{}

int uvc_status_start(struct uvc_device *dev, gfp_t flags)
{}

void uvc_status_stop(struct uvc_device *dev)
{}