mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-01 19:34:35 +08:00
43cd002387
This patch changes the function uvc_video_pump to be a separate scheduled worker. This way the completion handler of each usb request and every direct caller of the pump has only to schedule the worker instead of doing the request handling by itself. Moving the request handling to one thread solves the locking problems between the three queueing cases in the completion handler, v4l2_qbuf and video_enable. Many drivers handle the completion handlers directly in their interrupt handlers. This patch also reduces the workload on each interrupt. Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Felipe Balbi <balbi@kernel.org>
22 lines
554 B
C
22 lines
554 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* uvc_video.h -- USB Video Class Gadget driver
|
|
*
|
|
* Copyright (C) 2009-2010
|
|
* Laurent Pinchart (laurent.pinchart@ideasonboard.com)
|
|
*
|
|
* Copyright (c) 2013 Samsung Electronics Co., Ltd.
|
|
* http://www.samsung.com
|
|
* Author: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
|
|
*/
|
|
#ifndef __UVC_VIDEO_H__
|
|
#define __UVC_VIDEO_H__
|
|
|
|
struct uvc_video;
|
|
|
|
int uvcg_video_enable(struct uvc_video *video, int enable);
|
|
|
|
int uvcg_video_init(struct uvc_video *video, struct uvc_device *uvc);
|
|
|
|
#endif /* __UVC_VIDEO_H__ */
|