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

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * uvc_configfs.h
 *
 * Configfs support for the uvc function.
 *
 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * Author: Andrzej Pietrasiewicz <[email protected]>
 */
#ifndef UVC_CONFIGFS_H
#define UVC_CONFIGFS_H

#include <linux/configfs.h>

#include "u_uvc.h"

static inline struct f_uvc_opts *to_f_uvc_opts(struct config_item *item)
{}

#define UVCG_STREAMING_CONTROL_SIZE

DECLARE_UVC_HEADER_DESCRIPTOR(1);

struct uvcg_control_header {};

static inline struct uvcg_control_header *to_uvcg_control_header(struct config_item *item)
{}

struct uvcg_color_matching {};

#define to_uvcg_color_matching(group_ptr)

enum uvcg_format_type {};

struct uvcg_format {};

struct uvcg_format_ptr {};

static inline struct uvcg_format *to_uvcg_format(struct config_item *item)
{}

struct uvcg_streaming_header {};

static inline struct uvcg_streaming_header *to_uvcg_streaming_header(struct config_item *item)
{}

struct uvcg_frame_ptr {};

struct uvcg_frame {};

static inline struct uvcg_frame *to_uvcg_frame(struct config_item *item)
{}

/* -----------------------------------------------------------------------------
 * streaming/uncompressed/<NAME>
 */

struct uvcg_uncompressed {};

static inline struct uvcg_uncompressed *to_uvcg_uncompressed(struct config_item *item)
{}

/* -----------------------------------------------------------------------------
 * streaming/mjpeg/<NAME>
 */

struct uvcg_mjpeg {};

static inline struct uvcg_mjpeg *to_uvcg_mjpeg(struct config_item *item)
{}

/* -----------------------------------------------------------------------------
 * control/extensions/<NAME>
 */

struct uvcg_extension_unit_descriptor {} __packed;

struct uvcg_extension {};

static inline struct uvcg_extension *to_uvcg_extension(struct config_item *item)
{}

int uvcg_attach_configfs(struct f_uvc_opts *opts);

#endif /* UVC_CONFIGFS_H */