summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/uvc.h
diff options
context:
space:
mode:
authorAndrzej Pietrasiewicz <andrzej.p@samsung.com>2014-07-15 13:09:46 +0200
committerFelipe Balbi <balbi@ti.com>2014-07-16 12:50:36 -0500
commit00a2430ff07d4e0e0e7e24e02fd8adede333b797 (patch)
treefd6680b6a8941ac1a3149ae4b77f159701bb1a61 /drivers/usb/gadget/uvc.h
parent90fccb529d241b55829701cfb9eb3086570f38b8 (diff)
usb: gadget: Gadget directory cleanup - group usb functions
The drivers/usb/gadget directory contains many files. Files which are related can be distributed into separate directories. This patch moves the USB functions implementations into a separate directory. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/gadget/uvc.h')
-rw-r--r--drivers/usb/gadget/uvc.h202
1 files changed, 0 insertions, 202 deletions
diff --git a/drivers/usb/gadget/uvc.h b/drivers/usb/gadget/uvc.h
deleted file mode 100644
index 7a9111de8054..000000000000
--- a/drivers/usb/gadget/uvc.h
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * uvc_gadget.h -- USB Video Class Gadget driver
- *
- * Copyright (C) 2009-2010
- * Laurent Pinchart (laurent.pinchart@ideasonboard.com)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-
-#ifndef _UVC_GADGET_H_
-#define _UVC_GADGET_H_
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-#include <linux/usb/ch9.h>
-
-#define UVC_EVENT_FIRST (V4L2_EVENT_PRIVATE_START + 0)
-#define UVC_EVENT_CONNECT (V4L2_EVENT_PRIVATE_START + 0)
-#define UVC_EVENT_DISCONNECT (V4L2_EVENT_PRIVATE_START + 1)
-#define UVC_EVENT_STREAMON (V4L2_EVENT_PRIVATE_START + 2)
-#define UVC_EVENT_STREAMOFF (V4L2_EVENT_PRIVATE_START + 3)
-#define UVC_EVENT_SETUP (V4L2_EVENT_PRIVATE_START + 4)
-#define UVC_EVENT_DATA (V4L2_EVENT_PRIVATE_START + 5)
-#define UVC_EVENT_LAST (V4L2_EVENT_PRIVATE_START + 5)
-
-struct uvc_request_data
-{
- __s32 length;
- __u8 data[60];
-};
-
-struct uvc_event
-{
- union {
- enum usb_device_speed speed;
- struct usb_ctrlrequest req;
- struct uvc_request_data data;
- };
-};
-
-#define UVCIOC_SEND_RESPONSE _IOW('U', 1, struct uvc_request_data)
-
-#define UVC_INTF_CONTROL 0
-#define UVC_INTF_STREAMING 1
-
-/* ------------------------------------------------------------------------
- * Debugging, printing and logging
- */
-
-#ifdef __KERNEL__
-
-#include <linux/usb.h> /* For usb_endpoint_* */
-#include <linux/usb/gadget.h>
-#include <linux/videodev2.h>
-#include <linux/version.h>
-#include <media/v4l2-fh.h>
-#include <media/v4l2-device.h>
-
-#include "uvc_queue.h"
-
-#define UVC_TRACE_PROBE (1 << 0)
-#define UVC_TRACE_DESCR (1 << 1)
-#define UVC_TRACE_CONTROL (1 << 2)
-#define UVC_TRACE_FORMAT (1 << 3)
-#define UVC_TRACE_CAPTURE (1 << 4)
-#define UVC_TRACE_CALLS (1 << 5)
-#define UVC_TRACE_IOCTL (1 << 6)
-#define UVC_TRACE_FRAME (1 << 7)
-#define UVC_TRACE_SUSPEND (1 << 8)
-#define UVC_TRACE_STATUS (1 << 9)
-
-#define UVC_WARN_MINMAX 0
-#define UVC_WARN_PROBE_DEF 1
-
-extern unsigned int uvc_gadget_trace_param;
-
-#define uvc_trace(flag, msg...) \
- do { \
- if (uvc_gadget_trace_param & flag) \
- printk(KERN_DEBUG "uvcvideo: " msg); \
- } while (0)
-
-#define uvc_warn_once(dev, warn, msg...) \
- do { \
- if (!test_and_set_bit(warn, &dev->warnings)) \
- printk(KERN_INFO "uvcvideo: " msg); \
- } while (0)
-
-#define uvc_printk(level, msg...) \
- printk(level "uvcvideo: " msg)
-
-/* ------------------------------------------------------------------------
- * Driver specific constants
- */
-
-#define DRIVER_VERSION "0.1.0"
-#define DRIVER_VERSION_NUMBER KERNEL_VERSION(0, 1, 0)
-
-#define UVC_NUM_REQUESTS 4
-#define UVC_MAX_REQUEST_SIZE 64
-#define UVC_MAX_EVENTS 4
-
-/* ------------------------------------------------------------------------
- * Structures
- */
-
-struct uvc_video
-{
- struct usb_ep *ep;
-
- /* Frame parameters */
- u8 bpp;
- u32 fcc;
- unsigned int width;
- unsigned int height;
- unsigned int imagesize;
-
- /* Requests */
- unsigned int req_size;
- struct usb_request *req[UVC_NUM_REQUESTS];
- __u8 *req_buffer[UVC_NUM_REQUESTS];
- struct list_head req_free;
- spinlock_t req_lock;
-
- void (*encode) (struct usb_request *req, struct uvc_video *video,
- struct uvc_buffer *buf);
-
- /* Context data used by the completion handler */
- __u32 payload_size;
- __u32 max_payload_size;
-
- struct uvc_video_queue queue;
- unsigned int fid;
-};
-
-enum uvc_state
-{
- UVC_STATE_DISCONNECTED,
- UVC_STATE_CONNECTED,
- UVC_STATE_STREAMING,
-};
-
-struct uvc_device
-{
- struct video_device *vdev;
- struct v4l2_device v4l2_dev;
- enum uvc_state state;
- struct usb_function func;
- struct uvc_video video;
-
- /* Descriptors */
- struct {
- const struct uvc_descriptor_header * const *fs_control;
- const struct uvc_descriptor_header * const *ss_control;
- const struct uvc_descriptor_header * const *fs_streaming;
- const struct uvc_descriptor_header * const *hs_streaming;
- const struct uvc_descriptor_header * const *ss_streaming;
- } desc;
-
- unsigned int control_intf;
- struct usb_ep *control_ep;
- struct usb_request *control_req;
- void *control_buf;
-
- unsigned int streaming_intf;
-
- /* Events */
- unsigned int event_length;
- unsigned int event_setup_out : 1;
-};
-
-static inline struct uvc_device *to_uvc(struct usb_function *f)
-{
- return container_of(f, struct uvc_device, func);
-}
-
-struct uvc_file_handle
-{
- struct v4l2_fh vfh;
- struct uvc_video *device;
-};
-
-#define to_uvc_file_handle(handle) \
- container_of(handle, struct uvc_file_handle, vfh)
-
-/* ------------------------------------------------------------------------
- * Functions
- */
-
-extern void uvc_function_setup_continue(struct uvc_device *uvc);
-extern void uvc_endpoint_stream(struct uvc_device *dev);
-
-extern void uvc_function_connect(struct uvc_device *uvc);
-extern void uvc_function_disconnect(struct uvc_device *uvc);
-
-#endif /* __KERNEL__ */
-
-#endif /* _UVC_GADGET_H_ */
-