From nobody Thu Oct 2 09:17:01 2025 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8CC3F2F83A7; Fri, 19 Sep 2025 09:57:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758275897; cv=none; b=GZsLHLYDzS1Ht0CXLCbDNVesxh+fxFyR6/xmuuY/ZhGA1cBS7PCcjhG3+Py7ZqtCNnD+sU4H42DWlymBBp5hYQGPcpIBsQpl8Hi2gZWCLXG+zUdU/mHgDLYYf6Nn48mXFyMuJ+H3xg8EezSG1YxTJ6Rwuekxbj3h36IAVkRjrR0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758275897; c=relaxed/simple; bh=PVcIVYgi1U5GQ0iqtJSIWmipD24USGtOXZChfIDQUag=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gSWh6ldH9Hdra/7YRYmnTTt6hQPnD4HRoHwrZUTeVAqKyjDEcPvpVN23R4BrQKW0uAo9dOydNqoRrG/qU/9q0cOl3SGr8J2tS8p48L6vUGgTLQJrIEuld6ZtIo5Vw4zZ4uFv7D9SGHyNEmpNxZn1UVYcfP2tNtVdrW6z+znwsBw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=PlUBeh2M; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="PlUBeh2M" Received: from mail.ideasonboard.com (unknown [IPv6:2401:4900:1c30:4816:952:3054:81b6:1a3a]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 29362842; Fri, 19 Sep 2025 11:56:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1758275776; bh=PVcIVYgi1U5GQ0iqtJSIWmipD24USGtOXZChfIDQUag=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=PlUBeh2MEuzjx1/LZR1uL0+t043lpF3lfUOf5VA0LkUQG1A46f0qUjh3at+VSJVMb 4k2SmXx9wIVQshJf+fgnRnDXKFrqp6x0sEjjb73DFYV6uG9iBnm8ygtqwz8pGPApXo TmsR2iVRZ/nR01JNkQia/OOc3wRBsw1u4jM+m88s= From: Jai Luthra Date: Fri, 19 Sep 2025 15:25:58 +0530 Subject: [PATCH v2 06/10] media: Replace void * with video_device_state * in all driver ioctl implementations Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250919-vdev-state-v2-6-b2c42426965c@ideasonboard.com> References: <20250919-vdev-state-v2-0-b2c42426965c@ideasonboard.com> In-Reply-To: <20250919-vdev-state-v2-0-b2c42426965c@ideasonboard.com> To: Hans Verkuil , Mauro Carvalho Chehab , Sakari Ailus , Laurent Pinchart , Tomi Valkeinen , Jacopo Mondi , linux-media@vger.kernel.org Cc: Jai Luthra , Dmitry Torokhov , Nick Dyer , Tomasz Figa , Marek Szyprowski , Matt Ranostay , Andy Walls , Yong Zhi , Bingbu Cao , Dan Scally , Tianshu Qiu , Martin Tuma , Bluecherry Maintainers , Andrey Utkin , Ismael Luceno , Ezequiel Garcia , Corentin Labbe , Michael Tretter , Pengutronix Kernel Team , Keke Li , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Ming Qian , Zhou Peng , Eddie James , Joel Stanley , Andrew Jeffery , Eugen Hristev , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Raspberry Pi Kernel Maintenance , Florian Fainelli , Broadcom internal kernel review list , Ray Jui , Scott Branden , Philipp Zabel , Nas Chung , Jackson Lee , Devarsh Thakkar , Bin Liu , Matthias Brugger , AngeloGioacchino Del Regno , Minghsiu Tsai , Houlong Wei , Andrew-CT Chen , Tiffany Lin , Yunfei Dong , Joseph Liu , Marvin Lin , Dmitry Osipenko , Thierry Reding , Jonathan Hunter , Xavier Roumegue , Mirela Rabulea , Shawn Guo , Sascha Hauer , Fabio Estevam , Rui Miguel Silva , Martin Kepplinger , Purism Kernel Team , Robert Foss , Todor Tomov , Bryan O'Donoghue , Vladimir Zapolskiy , Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , =?utf-8?q?Niklas_S=C3=B6derlund?= , Geert Uytterhoeven , Magnus Damm , Fabrizio Castro , Kieran Bingham , Nikita Yushchenko , Jacob Chen , Heiko Stuebner , Dafna Hirschfeld , Detlev Casanova , Krzysztof Kozlowski , Alim Akhtar , Sylwester Nawrocki , =?utf-8?q?=C5=81ukasz_Stelmach?= , Andrzej Pietrasiewicz , Jacek Anaszewski , Andrzej Hajda , Fabien Dessenne , Hugues Fruchet , Jean-Christophe Trotin , Maxime Coquelin , Alexandre Torgue , Alain Volmat , Maxime Ripard , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Yong Deng , Paul Kocialkowski , Shreeya Patel , "Lad, Prabhakar" , Yemike Abhilash Chandra , Jai Luthra , Nicolas Dufresne , Benjamin Gaignard , Michal Simek , Alexey Klimov , Eduardo Valentin , Shuah Khan , Daniel Almeida , Michael Krufky , Mike Isely , Hans de Goede , Andy Shevchenko , Greg Kroah-Hartman , Steve Longerbeam , Jack Zhu , Changhuang Liang , Sowjanya Komatineni , Luca Ceresoli , Parthiban Veerasooran , Christian Gromm , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Ingo Molnar , Thomas Gleixner , Plamen Atanasov , Sean Young , Ariel Otilibili , "Dr. David Alan Gilbert" , Jiasheng Jiang , Lad Prabhakar , Tommaso Merciai , Biju Das , Daniel Scally , Matthew Majewski , Yunseong Kim , Chen Ni , Ricardo Ribalda , Fabio Luongo , Mark Brown , Yang Yingliang , Ludwig Disterhof , Ma Ke , "Everest K.C." , Stefan Wahren , Dave Stevenson , Michael Grzeschik , Akash Kumar , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, mjpeg-users@lists.sourceforge.net, linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, openbmc@lists.ozlabs.org, linux-aspeed@lists.ozlabs.org, linux-rpi-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-tegra@vger.kernel.org, imx@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-sunxi@lists.linux.dev, kernel@collabora.com, linux-staging@lists.linux.dev, linux-usb@vger.kernel.org X-Mailer: b4 0.14.2 Replace the opaque (and unused) pointer with a pointer to the video device state in all V4L2 driver ioctl implementations. Most changes were automated using Coccinelle semantic patches for both drivers and framework helpers: @ops@ identifier ops; identifier vidioc_op; identifier fn; @@ struct v4l2_ioctl_ops ops =3D { ..., .vidioc_op =3D fn, ..., }; // Rule 1 (like vidioc_log_status) @depends on ops@ identifier ops.fn; identifier filep; identifier priv; @@ int fn(struct file *filep, - void *priv) + struct video_device_state *state) { <... - priv + state ...> } // Rule 2 (most ioctls) @depends on ops@ identifier ops.fn; identifier filep; identifier priv; identifier arg; type T; @@ int fn(struct file *filep, - void *priv, + struct video_device_state *state, T arg) { <... - priv + state ...> } // Rule 3 (like vidioc_g_pixelaspect) @depends on ops@ identifier ops.fn; identifier filep; identifier priv; identifier buf_type; identifier arg; type T1, T2; @@ int fn(struct file *filep, - void *priv, + struct video_device_state *state, T1 buf_type, T2 *arg) { <... - priv + state ...> } // Rule 4 (like vidioc_default) @depends on ops@ identifier ops.fn; identifier filep; identifier priv; identifier valid_prio; identifier cmd; identifier arg; @@ long fn(struct file *filep, - void *priv, + struct video_device_state *state, bool valid_prio, unsigned int cmd, void *arg) { <... - priv + state ...> } Function signature updates in headers and edge cases where drivers call ioctl implementations internally were handled manually. Signed-off-by: Jai Luthra -- Cc: Dmitry Torokhov Cc: Nick Dyer Cc: Hans Verkuil Cc: Mauro Carvalho Chehab Cc: Tomasz Figa Cc: Marek Szyprowski Cc: Matt Ranostay Cc: Andy Walls Cc: Yong Zhi Cc: Sakari Ailus Cc: Bingbu Cao Cc: Dan Scally Cc: Tianshu Qiu Cc: Martin Tuma Cc: Bluecherry Maintainers Cc: Andrey Utkin Cc: Ismael Luceno Cc: Ezequiel Garcia Cc: Corentin Labbe Cc: Michael Tretter Cc: Pengutronix Kernel Team Cc: Keke Li Cc: Neil Armstrong Cc: Kevin Hilman Cc: Jerome Brunet Cc: Martin Blumenstingl Cc: Ming Qian Cc: Zhou Peng Cc: Eddie James Cc: Joel Stanley Cc: Andrew Jeffery Cc: Eugen Hristev Cc: Nicolas Ferre Cc: Alexandre Belloni Cc: Claudiu Beznea Cc: Raspberry Pi Kernel Maintenance Cc: Florian Fainelli Cc: Broadcom internal kernel review list Cc: Ray Jui Cc: Scott Branden Cc: Philipp Zabel Cc: Nas Chung Cc: Jackson Lee Cc: Devarsh Thakkar Cc: Bin Liu Cc: Matthias Brugger Cc: AngeloGioacchino Del Regno Cc: Minghsiu Tsai Cc: Houlong Wei Cc: Andrew-CT Chen Cc: Tiffany Lin Cc: Yunfei Dong Cc: Joseph Liu Cc: Marvin Lin Cc: Dmitry Osipenko Cc: Thierry Reding Cc: Jonathan Hunter Cc: Xavier Roumegue Cc: Mirela Rabulea Cc: Shawn Guo Cc: Sascha Hauer Cc: Fabio Estevam Cc: Rui Miguel Silva Cc: Laurent Pinchart Cc: Martin Kepplinger Cc: Purism Kernel Team Cc: Robert Foss Cc: Todor Tomov Cc: "Bryan O'Donoghue" Cc: Vladimir Zapolskiy Cc: Vikash Garodia Cc: Dikshita Agarwal Cc: Abhinav Kumar Cc: Jacopo Mondi Cc: Tomi Valkeinen Cc: "Niklas S=C3=B6derlund" Cc: Geert Uytterhoeven Cc: Magnus Damm Cc: Fabrizio Castro Cc: Kieran Bingham Cc: Nikita Yushchenko Cc: Jacob Chen Cc: Heiko Stuebner Cc: Dafna Hirschfeld Cc: Detlev Casanova Cc: Krzysztof Kozlowski Cc: Alim Akhtar Cc: Sylwester Nawrocki Cc: "=C5=81ukasz Stelmach" Cc: Andrzej Pietrasiewicz Cc: Jacek Anaszewski Cc: Andrzej Hajda Cc: Fabien Dessenne Cc: Hugues Fruchet Cc: Jean-Christophe Trotin Cc: Maxime Coquelin Cc: Alexandre Torgue Cc: Alain Volmat Cc: Maxime Ripard Cc: Chen-Yu Tsai Cc: Jernej Skrabec Cc: Samuel Holland Cc: Yong Deng Cc: Paul Kocialkowski Cc: Shreeya Patel Cc: "Lad, Prabhakar" Cc: Yemike Abhilash Chandra Cc: Jai Luthra Cc: Nicolas Dufresne Cc: Benjamin Gaignard Cc: Michal Simek Cc: Alexey Klimov Cc: Eduardo Valentin Cc: Shuah Khan Cc: Daniel Almeida Cc: Michael Krufky Cc: Mike Isely Cc: Hans de Goede Cc: Andy Shevchenko Cc: Greg Kroah-Hartman Cc: Steve Longerbeam Cc: Jack Zhu Cc: Changhuang Liang Cc: Sowjanya Komatineni Cc: Luca Ceresoli Cc: Parthiban Veerasooran Cc: Christian Gromm Cc: "Uwe Kleine-K=C3=B6nig" Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Plamen Atanasov Cc: Sean Young Cc: Ariel Otilibili Cc: "Dr. David Alan Gilbert" Cc: Jiasheng Jiang Cc: Lad Prabhakar Cc: Tommaso Merciai Cc: Biju Das Cc: Daniel Scally Cc: Matthew Majewski Cc: Yunseong Kim Cc: Chen Ni Cc: Ricardo Ribalda Cc: Fabio Luongo Cc: Mark Brown Cc: Yang Yingliang Cc: Ludwig Disterhof Cc: Ma Ke Cc: "Everest K.C." Cc: Stefan Wahren Cc: Dave Stevenson Cc: Michael Grzeschik Cc: Akash Kumar Cc: linux-input@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-media@vger.kernel.org Cc: mjpeg-users@lists.sourceforge.net Cc: linux-amlogic@lists.infradead.org Cc: linux-arm-kernel@lists.infradead.org Cc: openbmc@lists.ozlabs.org Cc: linux-aspeed@lists.ozlabs.org Cc: linux-rpi-kernel@lists.infradead.org Cc: linux-mediatek@lists.infradead.org Cc: linux-tegra@vger.kernel.org Cc: imx@lists.linux.dev Cc: linux-arm-msm@vger.kernel.org Cc: linux-renesas-soc@vger.kernel.org Cc: linux-rockchip@lists.infradead.org Cc: linux-samsung-soc@vger.kernel.org Cc: linux-stm32@st-md-mailman.stormreply.com Cc: linux-sunxi@lists.linux.dev Cc: kernel@collabora.com Cc: linux-staging@lists.linux.dev Cc: linux-usb@vger.kernel.org --- drivers/input/rmi4/rmi_f54.c | 22 +- drivers/input/touchscreen/atmel_mxt_ts.c | 23 +- drivers/input/touchscreen/sur40.c | 35 ++- .../extron-da-hd-4k-plus/extron-da-hd-4k-plus.c | 34 ++- drivers/media/common/saa7146/saa7146_video.c | 37 +++- drivers/media/common/videobuf2/videobuf2-v4l2.c | 30 ++- drivers/media/dvb-frontends/rtl2832_sdr.c | 38 ++-- drivers/media/i2c/video-i2c.c | 39 ++-- drivers/media/pci/bt8xx/bttv-driver.c | 84 +++++--- drivers/media/pci/bt8xx/bttv-vbi.c | 11 +- drivers/media/pci/bt8xx/bttvp.h | 9 +- drivers/media/pci/cobalt/cobalt-v4l2.c | 98 +++++---- drivers/media/pci/cx18/cx18-driver.c | 9 +- drivers/media/pci/cx18/cx18-ioctl.c | 114 ++++++---- drivers/media/pci/cx18/cx18-ioctl.h | 9 +- drivers/media/pci/cx23885/cx23885-417.c | 53 +++-- drivers/media/pci/cx23885/cx23885-ioctl.c | 8 +- drivers/media/pci/cx23885/cx23885-ioctl.h | 9 +- drivers/media/pci/cx23885/cx23885-vbi.c | 5 +- drivers/media/pci/cx23885/cx23885-video.c | 82 ++++--- drivers/media/pci/cx23885/cx23885.h | 4 +- drivers/media/pci/cx25821/cx25821-video.c | 57 +++-- drivers/media/pci/cx88/cx88-blackbird.c | 47 ++-- drivers/media/pci/cx88/cx88-vbi.c | 2 +- drivers/media/pci/cx88/cx88-video.c | 56 +++-- drivers/media/pci/cx88/cx88.h | 2 +- drivers/media/pci/dt3155/dt3155.c | 25 ++- drivers/media/pci/intel/ipu3/ipu3-cio2.c | 29 ++- drivers/media/pci/intel/ipu6/ipu6-isys-video.c | 41 ++-- drivers/media/pci/ivtv/ivtv-driver.c | 8 +- drivers/media/pci/ivtv/ivtv-ioctl.c | 225 +++++++++++++----= -- drivers/media/pci/ivtv/ivtv-ioctl.h | 6 +- drivers/media/pci/mgb4/mgb4_vin.c | 55 +++-- drivers/media/pci/mgb4/mgb4_vout.c | 49 +++-- drivers/media/pci/saa7134/saa7134-empress.c | 12 +- drivers/media/pci/saa7134/saa7134-video.c | 96 +++++---- drivers/media/pci/saa7134/saa7134.h | 38 ++-- drivers/media/pci/saa7146/hexium_gemini.c | 10 +- drivers/media/pci/saa7146/hexium_orion.c | 10 +- drivers/media/pci/saa7146/mxb.c | 46 ++-- drivers/media/pci/saa7164/saa7164-encoder.c | 39 ++-- drivers/media/pci/saa7164/saa7164-vbi.c | 27 ++- drivers/media/pci/saa7164/saa7164.h | 9 +- drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c | 46 ++-- drivers/media/pci/solo6x10/solo6x10-v4l2.c | 32 ++- drivers/media/pci/ttpci/budget-av.c | 10 +- drivers/media/pci/tw5864/tw5864-video.c | 49 +++-- drivers/media/pci/tw68/tw68-video.c | 43 ++-- drivers/media/pci/tw686x/tw686x-video.c | 53 +++-- drivers/media/pci/zoran/zoran_driver.c | 44 ++-- drivers/media/platform/allegro-dvt/allegro-core.c | 49 +++-- .../media/platform/amlogic/c3/isp/c3-isp-capture.c | 18 +- .../media/platform/amlogic/c3/isp/c3-isp-params.c | 9 +- .../media/platform/amlogic/c3/isp/c3-isp-stats.c | 9 +- drivers/media/platform/amlogic/meson-ge2d/ge2d.c | 36 +++- drivers/media/platform/amphion/vdec.c | 30 ++- drivers/media/platform/amphion/venc.c | 49 +++-- drivers/media/platform/aspeed/aspeed-video.c | 50 +++-- drivers/media/platform/atmel/atmel-isi.c | 36 ++-- drivers/media/platform/broadcom/bcm2835-unicam.c | 33 ++- .../media/platform/chips-media/coda/coda-common.c | 69 +++--- .../platform/chips-media/wave5/wave5-helper.c | 2 +- .../platform/chips-media/wave5/wave5-helper.h | 3 +- .../platform/chips-media/wave5/wave5-vpu-dec.c | 54 +++-- .../platform/chips-media/wave5/wave5-vpu-enc.c | 62 ++++-- .../media/platform/imagination/e5010-jpeg-enc.c | 34 ++- drivers/media/platform/intel/pxa_camera.c | 34 ++- drivers/media/platform/m2m-deinterlace.c | 34 +-- drivers/media/platform/marvell/mcam-core.c | 52 +++-- .../media/platform/mediatek/jpeg/mtk_jpeg_core.c | 44 ++-- drivers/media/platform/mediatek/mdp/mtk_mdp_m2m.c | 34 +-- .../media/platform/mediatek/mdp3/mtk-mdp3-m2m.c | 25 ++- .../mediatek/vcodec/decoder/mtk_vcodec_dec.c | 52 +++-- .../mediatek/vcodec/encoder/mtk_vcodec_enc.c | 50 +++-- .../media/platform/microchip/microchip-isc-base.c | 33 ++- drivers/media/platform/nuvoton/npcm-video.c | 43 ++-- drivers/media/platform/nvidia/tegra-vde/v4l2.c | 38 ++-- drivers/media/platform/nxp/dw100/dw100.c | 35 +-- drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c | 52 +++-- drivers/media/platform/nxp/imx-pxp.c | 34 +-- drivers/media/platform/nxp/imx7-media-csi.c | 21 +- drivers/media/platform/nxp/imx8-isi/imx8-isi-m2m.c | 15 +- .../media/platform/nxp/imx8-isi/imx8-isi-video.c | 18 +- drivers/media/platform/nxp/mx2_emmaprp.c | 31 ++- drivers/media/platform/qcom/camss/camss-video.c | 27 ++- drivers/media/platform/qcom/iris/iris_vidc.c | 48 +++-- drivers/media/platform/qcom/venus/vdec.c | 29 ++- drivers/media/platform/qcom/venus/venc.c | 38 ++-- .../media/platform/raspberrypi/pisp_be/pisp_be.c | 42 ++-- drivers/media/platform/raspberrypi/rp1-cfe/cfe.c | 40 ++-- .../media/platform/renesas/rcar-vin/rcar-v4l2.c | 21 +- drivers/media/platform/renesas/rcar_drif.c | 30 ++- drivers/media/platform/renesas/rcar_fdp1.c | 18 +- drivers/media/platform/renesas/rcar_jpu.c | 21 +- drivers/media/platform/renesas/renesas-ceu.c | 36 ++-- .../media/platform/renesas/rzg2l-cru/rzg2l-video.c | 18 +- drivers/media/platform/renesas/sh_vou.c | 41 ++-- drivers/media/platform/renesas/vsp1/vsp1_histo.c | 9 +- drivers/media/platform/renesas/vsp1/vsp1_video.c | 18 +- drivers/media/platform/rockchip/rga/rga.c | 24 ++- .../platform/rockchip/rkisp1/rkisp1-capture.c | 18 +- .../media/platform/rockchip/rkisp1/rkisp1-params.c | 15 +- .../media/platform/rockchip/rkisp1/rkisp1-stats.c | 9 +- drivers/media/platform/rockchip/rkvdec/rkvdec.c | 34 +-- .../media/platform/samsung/exynos-gsc/gsc-m2m.c | 44 ++-- .../platform/samsung/exynos4-is/fimc-capture.c | 45 ++-- .../platform/samsung/exynos4-is/fimc-isp-video.c | 32 +-- .../media/platform/samsung/exynos4-is/fimc-lite.c | 36 ++-- .../media/platform/samsung/exynos4-is/fimc-m2m.c | 21 +- .../platform/samsung/s3c-camif/camif-capture.c | 54 +++-- drivers/media/platform/samsung/s5p-g2d/g2d.c | 26 ++- .../media/platform/samsung/s5p-jpeg/jpeg-core.c | 34 +-- .../media/platform/samsung/s5p-mfc/s5p_mfc_dec.c | 48 +++-- .../media/platform/samsung/s5p-mfc/s5p_mfc_enc.c | 51 +++-- drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c | 26 ++- drivers/media/platform/st/sti/delta/delta-v4l2.c | 44 ++-- drivers/media/platform/st/sti/hva/hva-v4l2.c | 46 ++-- drivers/media/platform/st/stm32/dma2d/dma2d.c | 18 +- drivers/media/platform/st/stm32/stm32-dcmi.c | 42 ++-- .../st/stm32/stm32-dcmipp/dcmipp-bytecap.c | 20 +- .../media/platform/sunxi/sun4i-csi/sun4i_v4l2.c | 25 ++- .../platform/sunxi/sun6i-csi/sun6i_csi_capture.c | 24 ++- drivers/media/platform/sunxi/sun8i-di/sun8i-di.c | 31 ++- .../platform/sunxi/sun8i-rotate/sun8i_rotate.c | 34 +-- .../media/platform/synopsys/hdmirx/snps_hdmirx.c | 47 ++-- drivers/media/platform/ti/am437x/am437x-vpfe.c | 52 +++-- drivers/media/platform/ti/cal/cal-video.c | 54 +++-- drivers/media/platform/ti/davinci/vpif_capture.c | 94 ++++---- drivers/media/platform/ti/davinci/vpif_display.c | 58 +++-- .../media/platform/ti/j721e-csi2rx/j721e-csi2rx.c | 20 +- drivers/media/platform/ti/omap/omap_vout.c | 49 +++-- drivers/media/platform/ti/omap3isp/ispvideo.c | 53 +++-- drivers/media/platform/ti/vpe/vpe.c | 25 ++- drivers/media/platform/verisilicon/hantro_v4l2.c | 47 ++-- drivers/media/platform/via/via-camera.c | 42 ++-- drivers/media/platform/xilinx/xilinx-dma.c | 15 +- drivers/media/radio/dsbr100.c | 15 +- drivers/media/radio/radio-cadet.c | 18 +- drivers/media/radio/radio-isa.c | 18 +- drivers/media/radio/radio-keene.c | 15 +- drivers/media/radio/radio-ma901.c | 15 +- drivers/media/radio/radio-miropcm20.c | 15 +- drivers/media/radio/radio-mr800.c | 18 +- drivers/media/radio/radio-raremono.c | 19 +- drivers/media/radio/radio-sf16fmi.c | 15 +- drivers/media/radio/radio-si476x.c | 28 ++- drivers/media/radio/radio-tea5764.c | 15 +- drivers/media/radio/radio-tea5777.c | 21 +- drivers/media/radio/radio-timb.c | 26 ++- drivers/media/radio/si470x/radio-si470x-common.c | 25 ++- drivers/media/radio/si4713/radio-platform-si4713.c | 18 +- drivers/media/radio/si4713/radio-usb-si4713.c | 15 +- drivers/media/radio/tea575x.c | 21 +- drivers/media/test-drivers/vicodec/vicodec-core.c | 54 +++-- drivers/media/test-drivers/vim2m.c | 56 +++-- drivers/media/test-drivers/vimc/vimc-capture.c | 20 +- drivers/media/test-drivers/visl/visl-video.c | 34 +-- drivers/media/test-drivers/vivid/vivid-core.c | 203 ++++++++++-------- drivers/media/test-drivers/vivid/vivid-meta-cap.c | 6 +- drivers/media/test-drivers/vivid/vivid-meta-cap.h | 6 +- drivers/media/test-drivers/vivid/vivid-meta-out.c | 6 +- drivers/media/test-drivers/vivid/vivid-meta-out.h | 9 +- drivers/media/test-drivers/vivid/vivid-radio-rx.c | 16 +- drivers/media/test-drivers/vivid/vivid-radio-rx.h | 16 +- drivers/media/test-drivers/vivid/vivid-radio-tx.c | 6 +- drivers/media/test-drivers/vivid/vivid-radio-tx.h | 6 +- drivers/media/test-drivers/vivid/vivid-sdr-cap.c | 30 ++- drivers/media/test-drivers/vivid/vivid-sdr-cap.h | 30 ++- drivers/media/test-drivers/vivid/vivid-touch-cap.c | 22 +- drivers/media/test-drivers/vivid/vivid-touch-cap.h | 22 +- drivers/media/test-drivers/vivid/vivid-vbi-cap.c | 26 ++- drivers/media/test-drivers/vivid/vivid-vbi-cap.h | 22 +- drivers/media/test-drivers/vivid/vivid-vbi-out.c | 22 +- drivers/media/test-drivers/vivid/vivid-vbi-out.h | 18 +- drivers/media/test-drivers/vivid/vivid-vid-cap.c | 114 ++++++---- drivers/media/test-drivers/vivid/vivid-vid-cap.h | 117 +++++++--- .../media/test-drivers/vivid/vivid-vid-common.c | 24 ++- .../media/test-drivers/vivid/vivid-vid-common.h | 34 +-- drivers/media/test-drivers/vivid/vivid-vid-out.c | 122 ++++++----- drivers/media/test-drivers/vivid/vivid-vid-out.h | 95 +++++--- drivers/media/usb/airspy/airspy.c | 37 ++-- drivers/media/usb/au0828/au0828-video.c | 74 ++++--- drivers/media/usb/cx231xx/cx231xx-417.c | 28 ++- drivers/media/usb/cx231xx/cx231xx-video.c | 79 ++++--- drivers/media/usb/cx231xx/cx231xx.h | 39 ++-- drivers/media/usb/dvb-usb/cxusb-analog.c | 48 +++-- drivers/media/usb/em28xx/em28xx-video.c | 87 +++++--- drivers/media/usb/go7007/go7007-v4l2.c | 75 ++++--- drivers/media/usb/gspca/gspca.c | 51 +++-- drivers/media/usb/hackrf/hackrf.c | 39 ++-- drivers/media/usb/hdpvr/hdpvr-video.c | 60 ++++-- drivers/media/usb/msi2500/msi2500.c | 31 ++- drivers/media/usb/pvrusb2/pvrusb2-v4l2.c | 98 ++++++--- drivers/media/usb/pwc/pwc-v4l.c | 44 ++-- drivers/media/usb/s2255/s2255drv.c | 55 +++-- drivers/media/usb/stk1160/stk1160-v4l.c | 40 ++-- drivers/media/usb/usbtv/usbtv-video.c | 24 ++- drivers/media/usb/uvc/uvc_metadata.c | 17 +- drivers/media/usb/uvc/uvc_v4l2.c | 59 +++-- drivers/media/v4l2-core/v4l2-ctrls-api.c | 2 +- drivers/media/v4l2-core/v4l2-dev.c | 4 +- drivers/media/v4l2-core/v4l2-mem2mem.c | 56 +++-- drivers/staging/media/atomisp/pci/atomisp_ioctl.c | 72 ++++--- drivers/staging/media/av7110/av7110_v4l.c | 60 ++++-- .../media/deprecated/atmel/atmel-isc-base.c | 33 ++- drivers/staging/media/imx/imx-media-capture.c | 53 +++-- drivers/staging/media/imx/imx-media-csc-scaler.c | 23 +- drivers/staging/media/ipu3/ipu3-v4l2.c | 29 ++- drivers/staging/media/ipu7/ipu7-isys-video.c | 30 ++- drivers/staging/media/meson/vdec/vdec.c | 26 ++- drivers/staging/media/starfive/camss/stf-video.c | 18 +- drivers/staging/media/sunxi/cedrus/cedrus_video.c | 29 ++- .../media/sunxi/sun6i-isp/sun6i_isp_capture.c | 24 ++- .../media/sunxi/sun6i-isp/sun6i_isp_params.c | 9 +- drivers/staging/media/tegra-video/vi.c | 68 ++++-- drivers/staging/most/video/video.c | 39 ++-- .../vc04_services/bcm2835-camera/bcm2835-camera.c | 58 +++-- drivers/usb/gadget/function/uvc_v4l2.c | 50 +++-- include/media/v4l2-ctrls.h | 5 +- include/media/v4l2-dev.h | 2 +- include/media/v4l2-ioctl.h | 238 +++++++++++------= ---- include/media/v4l2-mem2mem.h | 48 +++-- include/media/videobuf2-v4l2.h | 33 +-- 223 files changed, 5392 insertions(+), 2955 deletions(-) diff --git a/drivers/input/rmi4/rmi_f54.c b/drivers/input/rmi4/rmi_f54.c index ac4041a69fcd3acf766ac8189ea0ecccb9b7ac93..b66b80d76833bfe56f04f70ce90= 8307692632f48 100644 --- a/drivers/input/rmi4/rmi_f54.c +++ b/drivers/input/rmi4/rmi_f54.c @@ -383,7 +383,8 @@ static const struct vb2_queue rmi_f54_queue =3D { .timestamp_flags =3D V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC, }; =20 -static int rmi_f54_vidioc_querycap(struct file *file, void *priv, +static int rmi_f54_vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct f54_data *f54 =3D video_drvdata(file); @@ -396,7 +397,8 @@ static int rmi_f54_vidioc_querycap(struct file *file, v= oid *priv, return 0; } =20 -static int rmi_f54_vidioc_enum_input(struct file *file, void *priv, +static int rmi_f54_vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct f54_data *f54 =3D video_drvdata(file); @@ -442,12 +444,15 @@ static int rmi_f54_set_input(struct f54_data *f54, un= signed int i) return 0; } =20 -static int rmi_f54_vidioc_s_input(struct file *file, void *priv, unsigned = int i) +static int rmi_f54_vidioc_s_input(struct file *file, + struct video_device_state *state, + unsigned int i) { return rmi_f54_set_input(video_drvdata(file), i); } =20 -static int rmi_f54_vidioc_g_input(struct file *file, void *priv, +static int rmi_f54_vidioc_g_input(struct file *file, + struct video_device_state *state, unsigned int *i) { struct f54_data *f54 =3D video_drvdata(file); @@ -457,7 +462,8 @@ static int rmi_f54_vidioc_g_input(struct file *file, vo= id *priv, return 0; } =20 -static int rmi_f54_vidioc_fmt(struct file *file, void *priv, +static int rmi_f54_vidioc_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct f54_data *f54 =3D video_drvdata(file); @@ -467,7 +473,8 @@ static int rmi_f54_vidioc_fmt(struct file *file, void *= priv, return 0; } =20 -static int rmi_f54_vidioc_enum_fmt(struct file *file, void *priv, +static int rmi_f54_vidioc_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fmt) { struct f54_data *f54 =3D video_drvdata(file); @@ -483,7 +490,8 @@ static int rmi_f54_vidioc_enum_fmt(struct file *file, v= oid *priv, return 0; } =20 -static int rmi_f54_vidioc_g_parm(struct file *file, void *fh, +static int rmi_f54_vidioc_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *a) { if (a->type !=3D V4L2_BUF_TYPE_VIDEO_CAPTURE) diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touch= screen/atmel_mxt_ts.c index 322d5a3d40a0933f1e1c290e906258a874bcf4b2..255e2e7713e3371b56736ded22b= 66d7df9cf8f49 100644 --- a/drivers/input/touchscreen/atmel_mxt_ts.c +++ b/drivers/input/touchscreen/atmel_mxt_ts.c @@ -2547,7 +2547,8 @@ static const struct vb2_queue mxt_queue =3D { .min_queued_buffers =3D 1, }; =20 -static int mxt_vidioc_querycap(struct file *file, void *priv, +static int mxt_vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct mxt_data *data =3D video_drvdata(file); @@ -2559,7 +2560,8 @@ static int mxt_vidioc_querycap(struct file *file, voi= d *priv, return 0; } =20 -static int mxt_vidioc_enum_input(struct file *file, void *priv, +static int mxt_vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { if (i->index >=3D MXT_V4L_INPUT_MAX) @@ -2604,12 +2606,16 @@ static int mxt_set_input(struct mxt_data *data, uns= igned int i) return 0; } =20 -static int mxt_vidioc_s_input(struct file *file, void *priv, unsigned int = i) +static int mxt_vidioc_s_input(struct file *file, + struct video_device_state *state, + unsigned int i) { return mxt_set_input(video_drvdata(file), i); } =20 -static int mxt_vidioc_g_input(struct file *file, void *priv, unsigned int = *i) +static int mxt_vidioc_g_input(struct file *file, + struct video_device_state *state, + unsigned int *i) { struct mxt_data *data =3D video_drvdata(file); =20 @@ -2618,7 +2624,8 @@ static int mxt_vidioc_g_input(struct file *file, void= *priv, unsigned int *i) return 0; } =20 -static int mxt_vidioc_fmt(struct file *file, void *priv, struct v4l2_forma= t *f) +static int mxt_vidioc_fmt(struct file *file, struct video_device_state *st= ate, + struct v4l2_format *f) { struct mxt_data *data =3D video_drvdata(file); =20 @@ -2628,7 +2635,8 @@ static int mxt_vidioc_fmt(struct file *file, void *pr= iv, struct v4l2_format *f) return 0; } =20 -static int mxt_vidioc_enum_fmt(struct file *file, void *priv, +static int mxt_vidioc_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fmt) { if (fmt->type !=3D V4L2_BUF_TYPE_VIDEO_CAPTURE) @@ -2650,7 +2658,8 @@ static int mxt_vidioc_enum_fmt(struct file *file, voi= d *priv, return 0; } =20 -static int mxt_vidioc_g_parm(struct file *file, void *fh, +static int mxt_vidioc_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *a) { if (a->type !=3D V4L2_BUF_TYPE_VIDEO_CAPTURE) diff --git a/drivers/input/touchscreen/sur40.c b/drivers/input/touchscreen/= sur40.c index 7b3b10cbfcfc44eabd56a4a39551c44eed730de8..6bc51ad2cd0a47029aade524560= 03f3be90ec932 100644 --- a/drivers/input/touchscreen/sur40.c +++ b/drivers/input/touchscreen/sur40.c @@ -935,7 +935,8 @@ static void sur40_stop_streaming(struct vb2_queue *vq) } =20 /* V4L ioctl */ -static int sur40_vidioc_querycap(struct file *file, void *priv, +static int sur40_vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct sur40_state *sur40 =3D video_drvdata(file); @@ -946,7 +947,8 @@ static int sur40_vidioc_querycap(struct file *file, voi= d *priv, return 0; } =20 -static int sur40_vidioc_enum_input(struct file *file, void *priv, +static int sur40_vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { if (i->index !=3D 0) @@ -958,18 +960,23 @@ static int sur40_vidioc_enum_input(struct file *file,= void *priv, return 0; } =20 -static int sur40_vidioc_s_input(struct file *file, void *priv, unsigned in= t i) +static int sur40_vidioc_s_input(struct file *file, + struct video_device_state *state, + unsigned int i) { return (i =3D=3D 0) ? 0 : -EINVAL; } =20 -static int sur40_vidioc_g_input(struct file *file, void *priv, unsigned in= t *i) +static int sur40_vidioc_g_input(struct file *file, + struct video_device_state *state, + unsigned int *i) { *i =3D 0; return 0; } =20 -static int sur40_vidioc_try_fmt(struct file *file, void *priv, +static int sur40_vidioc_try_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { switch (f->fmt.pix.pixelformat) { @@ -985,7 +992,8 @@ static int sur40_vidioc_try_fmt(struct file *file, void= *priv, return 0; } =20 -static int sur40_vidioc_s_fmt(struct file *file, void *priv, +static int sur40_vidioc_s_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct sur40_state *sur40 =3D video_drvdata(file); @@ -1004,7 +1012,8 @@ static int sur40_vidioc_s_fmt(struct file *file, void= *priv, return 0; } =20 -static int sur40_vidioc_g_fmt(struct file *file, void *priv, +static int sur40_vidioc_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct sur40_state *sur40 =3D video_drvdata(file); @@ -1038,7 +1047,8 @@ static int sur40_s_ctrl(struct v4l2_ctrl *ctrl) return 0; } =20 -static int sur40_ioctl_parm(struct file *file, void *priv, +static int sur40_ioctl_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *p) { if (p->type !=3D V4L2_BUF_TYPE_VIDEO_CAPTURE) @@ -1051,7 +1061,8 @@ static int sur40_ioctl_parm(struct file *file, void *= priv, return 0; } =20 -static int sur40_vidioc_enum_fmt(struct file *file, void *priv, +static int sur40_vidioc_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index >=3D ARRAY_SIZE(sur40_pix_format)) @@ -1062,7 +1073,8 @@ static int sur40_vidioc_enum_fmt(struct file *file, v= oid *priv, return 0; } =20 -static int sur40_vidioc_enum_framesizes(struct file *file, void *priv, +static int sur40_vidioc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *f) { struct sur40_state *sur40 =3D video_drvdata(file); @@ -1077,7 +1089,8 @@ static int sur40_vidioc_enum_framesizes(struct file *= file, void *priv, return 0; } =20 -static int sur40_vidioc_enum_frameintervals(struct file *file, void *priv, +static int sur40_vidioc_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *f) { struct sur40_state *sur40 =3D video_drvdata(file); diff --git a/drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plu= s.c b/drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c index e2eff17952ab237b799f9892159254146319f4c7..ebefd5e5c747aa9646d7a45414a= 661d076cf1e4a 100644 --- a/drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c +++ b/drivers/media/cec/usb/extron-da-hd-4k-plus/extron-da-hd-4k-plus.c @@ -1195,7 +1195,8 @@ static const struct cec_adap_ops extron_cec_adap_ops = =3D { .received =3D extron_received, }; =20 -static int extron_querycap(struct file *file, void *priv, +static int extron_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct extron_port *port =3D video_drvdata(file); @@ -1206,7 +1207,9 @@ static int extron_querycap(struct file *file, void *p= riv, return 0; } =20 -static int extron_enum_input(struct file *file, void *priv, struct v4l2_in= put *inp) +static int extron_enum_input(struct file *file, + struct video_device_state *state, + struct v4l2_input *inp) { struct extron_port *port =3D video_drvdata(file); =20 @@ -1219,18 +1222,22 @@ static int extron_enum_input(struct file *file, voi= d *priv, struct v4l2_input *i return 0; } =20 -static int extron_g_input(struct file *file, void *priv, unsigned int *i) +static int extron_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { *i =3D 0; return 0; } =20 -static int extron_s_input(struct file *file, void *priv, unsigned int i) +static int extron_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { return i ? -EINVAL : 0; } =20 -static int extron_enum_output(struct file *file, void *priv, struct v4l2_o= utput *out) +static int extron_enum_output(struct file *file, + struct video_device_state *state, + struct v4l2_output *out) { struct extron_port *port =3D video_drvdata(file); =20 @@ -1241,18 +1248,21 @@ static int extron_enum_output(struct file *file, vo= id *priv, struct v4l2_output return 0; } =20 -static int extron_g_output(struct file *file, void *priv, unsigned int *o) +static int extron_g_output(struct file *file, + struct video_device_state *state, unsigned int *o) { *o =3D 0; return 0; } =20 -static int extron_s_output(struct file *file, void *priv, unsigned int o) +static int extron_s_output(struct file *file, + struct video_device_state *state, unsigned int o) { return o ? -EINVAL : 0; } =20 -static int extron_g_edid(struct file *file, void *priv, +static int extron_g_edid(struct file *file, + struct video_device_state *state, struct v4l2_edid *edid) { struct extron_port *port =3D video_drvdata(file); @@ -1280,7 +1290,8 @@ static int extron_g_edid(struct file *file, void *pri= v, return 0; } =20 -static int extron_s_edid(struct file *file, void *priv, struct v4l2_edid *= edid) +static int extron_s_edid(struct file *file, struct video_device_state *sta= te, + struct v4l2_edid *edid) { struct extron_port *port =3D video_drvdata(file); =20 @@ -1305,12 +1316,13 @@ static int extron_s_edid(struct file *file, void *p= riv, struct v4l2_edid *edid) return extron_write_edid(port, edid->edid, edid->blocks); } =20 -static int extron_log_status(struct file *file, void *priv) +static int extron_log_status(struct file *file, + struct video_device_state *state) { struct extron_port *port =3D video_drvdata(file); =20 extron_adap_status(port->adap, NULL); - return v4l2_ctrl_log_status(file, priv); + return v4l2_ctrl_log_status(file, state); } =20 static const struct v4l2_ioctl_ops extron_ioctl_ops =3D { diff --git a/drivers/media/common/saa7146/saa7146_video.c b/drivers/media/c= ommon/saa7146/saa7146_video.c index 733e18001d0d418d32c517b80dee57130b379b07..768be0c6bfdeee70939fbe872a8= 5e99fafe4cd25 100644 --- a/drivers/media/common/saa7146/saa7146_video.c +++ b/drivers/media/common/saa7146/saa7146_video.c @@ -251,7 +251,9 @@ static void video_end(struct saa7146_dev *dev) saa7146_res_free(dev, resource); } =20 -static int vidioc_querycap(struct file *file, void *fh, struct v4l2_capabi= lity *cap) +static int vidioc_querycap(struct file *file, + struct video_device_state *state, + struct v4l2_capability *cap) { struct saa7146_dev *dev =3D video_drvdata(file); =20 @@ -264,7 +266,9 @@ static int vidioc_querycap(struct file *file, void *fh,= struct v4l2_capability * return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *fh, struct v4l= 2_fmtdesc *f) +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f) { if (f->index >=3D ARRAY_SIZE(formats)) return -EINVAL; @@ -323,7 +327,8 @@ int saa7146_s_ctrl(struct v4l2_ctrl *ctrl) return 0; } =20 -static int vidioc_g_parm(struct file *file, void *fh, +static int vidioc_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct saa7146_dev *dev =3D video_drvdata(file); @@ -337,7 +342,9 @@ static int vidioc_g_parm(struct file *file, void *fh, return 0; } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *fh, struct v4l2_f= ormat *f) +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct saa7146_dev *dev =3D video_drvdata(file); struct saa7146_vv *vv =3D dev->vv_data; @@ -346,7 +353,9 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void= *fh, struct v4l2_format return 0; } =20 -static int vidioc_g_fmt_vbi_cap(struct file *file, void *fh, struct v4l2_f= ormat *f) +static int vidioc_g_fmt_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct saa7146_dev *dev =3D video_drvdata(file); struct saa7146_vv *vv =3D dev->vv_data; @@ -355,7 +364,9 @@ static int vidioc_g_fmt_vbi_cap(struct file *file, void= *fh, struct v4l2_format return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *fh, struct v4l2= _format *f) +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct saa7146_dev *dev =3D video_drvdata(file); struct saa7146_vv *vv =3D dev->vv_data; @@ -364,7 +375,7 @@ static int vidioc_try_fmt_vid_cap(struct file *file, vo= id *fh, struct v4l2_forma int maxw, maxh; int calc_bpl; =20 - DEB_EE("V4L2_BUF_TYPE_VIDEO_CAPTURE: dev:%p, fh:%p\n", dev, fh); + DEB_EE("V4L2_BUF_TYPE_VIDEO_CAPTURE: dev:%p, fh:%p\n", dev, state); =20 fmt =3D saa7146_format_by_fourcc(dev, f->fmt.pix.pixelformat); if (NULL =3D=3D fmt) @@ -417,7 +428,9 @@ static int vidioc_try_fmt_vid_cap(struct file *file, vo= id *fh, struct v4l2_forma return 0; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *fh, struct v4l2_f= ormat *f) +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct saa7146_dev *dev =3D video_drvdata(file); struct saa7146_vv *vv =3D dev->vv_data; @@ -428,7 +441,7 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void= *fh, struct v4l2_format DEB_EE("streaming capture is active\n"); return -EBUSY; } - err =3D vidioc_try_fmt_vid_cap(file, fh, f); + err =3D vidioc_try_fmt_vid_cap(file, state, f); if (0 !=3D err) return err; switch (f->fmt.pix.field) { @@ -445,7 +458,8 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void= *fh, struct v4l2_format return 0; } =20 -static int vidioc_g_std(struct file *file, void *fh, v4l2_std_id *norm) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *norm) { struct saa7146_dev *dev =3D video_drvdata(file); struct saa7146_vv *vv =3D dev->vv_data; @@ -454,7 +468,8 @@ static int vidioc_g_std(struct file *file, void *fh, v4= l2_std_id *norm) return 0; } =20 -static int vidioc_s_std(struct file *file, void *fh, v4l2_std_id id) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id id) { struct saa7146_dev *dev =3D video_drvdata(file); struct saa7146_vv *vv =3D dev->vv_data; diff --git a/drivers/media/common/videobuf2/videobuf2-v4l2.c b/drivers/medi= a/common/videobuf2/videobuf2-v4l2.c index d911021c1bb0527777d2da18bef8f0562e32b460..01f0ee4f81d1c478e3ad80f30c9= 7ceccb9e542d8 100644 --- a/drivers/media/common/videobuf2/videobuf2-v4l2.c +++ b/drivers/media/common/videobuf2/videobuf2-v4l2.c @@ -996,7 +996,8 @@ EXPORT_SYMBOL_GPL(vb2_poll); =20 /* vb2 ioctl helpers */ =20 -int vb2_ioctl_remove_bufs(struct file *file, void *priv, +int vb2_ioctl_remove_bufs(struct file *file, + struct video_device_state *state, struct v4l2_remove_buffers *d) { struct video_device *vdev =3D video_devdata(file); @@ -1014,7 +1015,8 @@ int vb2_ioctl_remove_bufs(struct file *file, void *pr= iv, } EXPORT_SYMBOL_GPL(vb2_ioctl_remove_bufs); =20 -int vb2_ioctl_reqbufs(struct file *file, void *priv, +int vb2_ioctl_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *p) { struct video_device *vdev =3D video_devdata(file); @@ -1037,7 +1039,8 @@ int vb2_ioctl_reqbufs(struct file *file, void *priv, } EXPORT_SYMBOL_GPL(vb2_ioctl_reqbufs); =20 -int vb2_ioctl_create_bufs(struct file *file, void *priv, +int vb2_ioctl_create_bufs(struct file *file, + struct video_device_state *state, struct v4l2_create_buffers *p) { struct video_device *vdev =3D video_devdata(file); @@ -1064,7 +1067,8 @@ int vb2_ioctl_create_bufs(struct file *file, void *pr= iv, } EXPORT_SYMBOL_GPL(vb2_ioctl_create_bufs); =20 -int vb2_ioctl_prepare_buf(struct file *file, void *priv, +int vb2_ioctl_prepare_buf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *p) { struct video_device *vdev =3D video_devdata(file); @@ -1075,7 +1079,8 @@ int vb2_ioctl_prepare_buf(struct file *file, void *pr= iv, } EXPORT_SYMBOL_GPL(vb2_ioctl_prepare_buf); =20 -int vb2_ioctl_querybuf(struct file *file, void *priv, struct v4l2_buffer *= p) +int vb2_ioctl_querybuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *p) { struct video_device *vdev =3D video_devdata(file); =20 @@ -1084,7 +1089,8 @@ int vb2_ioctl_querybuf(struct file *file, void *priv,= struct v4l2_buffer *p) } EXPORT_SYMBOL_GPL(vb2_ioctl_querybuf); =20 -int vb2_ioctl_qbuf(struct file *file, void *priv, struct v4l2_buffer *p) +int vb2_ioctl_qbuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *p) { struct video_device *vdev =3D video_devdata(file); =20 @@ -1094,7 +1100,8 @@ int vb2_ioctl_qbuf(struct file *file, void *priv, str= uct v4l2_buffer *p) } EXPORT_SYMBOL_GPL(vb2_ioctl_qbuf); =20 -int vb2_ioctl_dqbuf(struct file *file, void *priv, struct v4l2_buffer *p) +int vb2_ioctl_dqbuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *p) { struct video_device *vdev =3D video_devdata(file); =20 @@ -1104,7 +1111,8 @@ int vb2_ioctl_dqbuf(struct file *file, void *priv, st= ruct v4l2_buffer *p) } EXPORT_SYMBOL_GPL(vb2_ioctl_dqbuf); =20 -int vb2_ioctl_streamon(struct file *file, void *priv, enum v4l2_buf_type i) +int vb2_ioctl_streamon(struct file *file, struct video_device_state *state, + enum v4l2_buf_type i) { struct video_device *vdev =3D video_devdata(file); =20 @@ -1114,7 +1122,8 @@ int vb2_ioctl_streamon(struct file *file, void *priv,= enum v4l2_buf_type i) } EXPORT_SYMBOL_GPL(vb2_ioctl_streamon); =20 -int vb2_ioctl_streamoff(struct file *file, void *priv, enum v4l2_buf_type = i) +int vb2_ioctl_streamoff(struct file *file, struct video_device_state *stat= e, + enum v4l2_buf_type i) { struct video_device *vdev =3D video_devdata(file); =20 @@ -1124,7 +1133,8 @@ int vb2_ioctl_streamoff(struct file *file, void *priv= , enum v4l2_buf_type i) } EXPORT_SYMBOL_GPL(vb2_ioctl_streamoff); =20 -int vb2_ioctl_expbuf(struct file *file, void *priv, struct v4l2_exportbuff= er *p) +int vb2_ioctl_expbuf(struct file *file, struct video_device_state *state, + struct v4l2_exportbuffer *p) { struct video_device *vdev =3D video_devdata(file); =20 diff --git a/drivers/media/dvb-frontends/rtl2832_sdr.c b/drivers/media/dvb-= frontends/rtl2832_sdr.c index 0357624968f1b542772d8cc751211c0bf28e19ab..986637c4bec7da0dc8a13ded882= 9e11b0f8a4415 100644 --- a/drivers/media/dvb-frontends/rtl2832_sdr.c +++ b/drivers/media/dvb-frontends/rtl2832_sdr.c @@ -418,8 +418,8 @@ static void rtl2832_sdr_cleanup_queued_bufs(struct rtl2= 832_sdr_dev *dev) spin_unlock_irqrestore(&dev->queued_bufs_lock, flags); } =20 -static int rtl2832_sdr_querycap(struct file *file, void *fh, - struct v4l2_capability *cap) +static int rtl2832_sdr_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct rtl2832_sdr_dev *dev =3D video_drvdata(file); struct platform_device *pdev =3D dev->pdev; @@ -949,8 +949,8 @@ static const struct vb2_ops rtl2832_sdr_vb2_ops =3D { .stop_streaming =3D rtl2832_sdr_stop_streaming, }; =20 -static int rtl2832_sdr_g_tuner(struct file *file, void *priv, - struct v4l2_tuner *v) +static int rtl2832_sdr_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *v) { struct rtl2832_sdr_dev *dev =3D video_drvdata(file); struct platform_device *pdev =3D dev->pdev; @@ -981,8 +981,8 @@ static int rtl2832_sdr_g_tuner(struct file *file, void = *priv, return ret; } =20 -static int rtl2832_sdr_s_tuner(struct file *file, void *priv, - const struct v4l2_tuner *v) +static int rtl2832_sdr_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { struct rtl2832_sdr_dev *dev =3D video_drvdata(file); struct platform_device *pdev =3D dev->pdev; @@ -1003,7 +1003,8 @@ static int rtl2832_sdr_s_tuner(struct file *file, voi= d *priv, return ret; } =20 -static int rtl2832_sdr_enum_freq_bands(struct file *file, void *priv, +static int rtl2832_sdr_enum_freq_bands(struct file *file, + struct video_device_state *state, struct v4l2_frequency_band *band) { struct rtl2832_sdr_dev *dev =3D video_drvdata(file); @@ -1034,8 +1035,8 @@ static int rtl2832_sdr_enum_freq_bands(struct file *f= ile, void *priv, return ret; } =20 -static int rtl2832_sdr_g_frequency(struct file *file, void *priv, - struct v4l2_frequency *f) +static int rtl2832_sdr_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct rtl2832_sdr_dev *dev =3D video_drvdata(file); struct platform_device *pdev =3D dev->pdev; @@ -1061,7 +1062,8 @@ static int rtl2832_sdr_g_frequency(struct file *file,= void *priv, return ret; } =20 -static int rtl2832_sdr_s_frequency(struct file *file, void *priv, +static int rtl2832_sdr_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct rtl2832_sdr_dev *dev =3D video_drvdata(file); @@ -1105,8 +1107,8 @@ static int rtl2832_sdr_s_frequency(struct file *file,= void *priv, return ret; } =20 -static int rtl2832_sdr_enum_fmt_sdr_cap(struct file *file, void *priv, - struct v4l2_fmtdesc *f) +static int rtl2832_sdr_enum_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct rtl2832_sdr_dev *dev =3D video_drvdata(file); struct platform_device *pdev =3D dev->pdev; @@ -1121,8 +1123,8 @@ static int rtl2832_sdr_enum_fmt_sdr_cap(struct file *= file, void *priv, return 0; } =20 -static int rtl2832_sdr_g_fmt_sdr_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int rtl2832_sdr_g_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rtl2832_sdr_dev *dev =3D video_drvdata(file); struct platform_device *pdev =3D dev->pdev; @@ -1135,8 +1137,8 @@ static int rtl2832_sdr_g_fmt_sdr_cap(struct file *fil= e, void *priv, return 0; } =20 -static int rtl2832_sdr_s_fmt_sdr_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int rtl2832_sdr_s_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rtl2832_sdr_dev *dev =3D video_drvdata(file); struct platform_device *pdev =3D dev->pdev; @@ -1166,8 +1168,8 @@ static int rtl2832_sdr_s_fmt_sdr_cap(struct file *fil= e, void *priv, return 0; } =20 -static int rtl2832_sdr_try_fmt_sdr_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int rtl2832_sdr_try_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rtl2832_sdr_dev *dev =3D video_drvdata(file); struct platform_device *pdev =3D dev->pdev; diff --git a/drivers/media/i2c/video-i2c.c b/drivers/media/i2c/video-i2c.c index 0dd991d70d538050731c0106533d6f0618853b1f..96c1b9e7db719602cada653257d= 77ee6e103d319 100644 --- a/drivers/media/i2c/video-i2c.c +++ b/drivers/media/i2c/video-i2c.c @@ -558,7 +558,8 @@ static const struct vb2_ops video_i2c_video_qops =3D { .stop_streaming =3D stop_streaming, }; =20 -static int video_i2c_querycap(struct file *file, void *priv, +static int video_i2c_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *vcap) { struct video_i2c_data *data =3D video_drvdata(file); @@ -573,19 +574,24 @@ static int video_i2c_querycap(struct file *file, void= *priv, return 0; } =20 -static int video_i2c_g_input(struct file *file, void *fh, unsigned int *in= p) +static int video_i2c_g_input(struct file *file, + struct video_device_state *state, + unsigned int *inp) { *inp =3D 0; =20 return 0; } =20 -static int video_i2c_s_input(struct file *file, void *fh, unsigned int inp) +static int video_i2c_s_input(struct file *file, + struct video_device_state *state, + unsigned int inp) { return (inp > 0) ? -EINVAL : 0; } =20 -static int video_i2c_enum_input(struct file *file, void *fh, +static int video_i2c_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *vin) { if (vin->index > 0) @@ -598,7 +604,8 @@ static int video_i2c_enum_input(struct file *file, void= *fh, return 0; } =20 -static int video_i2c_enum_fmt_vid_cap(struct file *file, void *fh, +static int video_i2c_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fmt) { struct video_i2c_data *data =3D video_drvdata(file); @@ -613,7 +620,8 @@ static int video_i2c_enum_fmt_vid_cap(struct file *file= , void *fh, return 0; } =20 -static int video_i2c_enum_framesizes(struct file *file, void *fh, +static int video_i2c_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { const struct video_i2c_data *data =3D video_drvdata(file); @@ -633,7 +641,8 @@ static int video_i2c_enum_framesizes(struct file *file,= void *fh, return 0; } =20 -static int video_i2c_enum_frameintervals(struct file *file, void *priv, +static int video_i2c_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fe) { const struct video_i2c_data *data =3D video_drvdata(file); @@ -651,7 +660,8 @@ static int video_i2c_enum_frameintervals(struct file *f= ile, void *priv, return 0; } =20 -static int video_i2c_try_fmt_vid_cap(struct file *file, void *fh, +static int video_i2c_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { const struct video_i2c_data *data =3D video_drvdata(file); @@ -670,7 +680,8 @@ static int video_i2c_try_fmt_vid_cap(struct file *file,= void *fh, return 0; } =20 -static int video_i2c_s_fmt_vid_cap(struct file *file, void *fh, +static int video_i2c_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct video_i2c_data *data =3D video_drvdata(file); @@ -678,10 +689,11 @@ static int video_i2c_s_fmt_vid_cap(struct file *file,= void *fh, if (vb2_is_busy(&data->vb_vidq)) return -EBUSY; =20 - return video_i2c_try_fmt_vid_cap(file, fh, fmt); + return video_i2c_try_fmt_vid_cap(file, state, fmt); } =20 -static int video_i2c_g_parm(struct file *filp, void *priv, +static int video_i2c_g_parm(struct file *filp, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct video_i2c_data *data =3D video_drvdata(filp); @@ -696,7 +708,8 @@ static int video_i2c_g_parm(struct file *filp, void *pr= iv, return 0; } =20 -static int video_i2c_s_parm(struct file *filp, void *priv, +static int video_i2c_s_parm(struct file *filp, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct video_i2c_data *data =3D video_drvdata(filp); @@ -709,7 +722,7 @@ static int video_i2c_s_parm(struct file *filp, void *pr= iv, } data->frame_interval =3D data->chip->frame_intervals[i]; =20 - return video_i2c_g_parm(filp, priv, parm); + return video_i2c_g_parm(filp, state, parm); } =20 static const struct v4l2_ioctl_ops video_i2c_ioctl_ops =3D { diff --git a/drivers/media/pci/bt8xx/bttv-driver.c b/drivers/media/pci/bt8x= x/bttv-driver.c index 17e4529e537ab654bd6814dceda005ad652c8533..e9b8e7a53fdbf69262f574b52fd= afe79bf9ec8f2 100644 --- a/drivers/media/pci/bt8xx/bttv-driver.c +++ b/drivers/media/pci/bt8xx/bttv-driver.c @@ -1597,7 +1597,8 @@ static void radio_enable(struct bttv *btv) } } =20 -static int bttv_s_std(struct file *file, void *priv, v4l2_std_id id) +static int bttv_s_std(struct file *file, struct video_device_state *state, + v4l2_std_id id) { struct bttv *btv =3D video_drvdata(file); unsigned int i; @@ -1612,7 +1613,8 @@ static int bttv_s_std(struct file *file, void *priv, = v4l2_std_id id) return 0; } =20 -static int bttv_g_std(struct file *file, void *priv, v4l2_std_id *id) +static int bttv_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *id) { struct bttv *btv =3D video_drvdata(file); =20 @@ -1620,7 +1622,8 @@ static int bttv_g_std(struct file *file, void *priv, = v4l2_std_id *id) return 0; } =20 -static int bttv_querystd(struct file *file, void *priv, v4l2_std_id *id) +static int bttv_querystd(struct file *file, struct video_device_state *sta= te, + v4l2_std_id *id) { struct bttv *btv =3D video_drvdata(file); =20 @@ -1631,7 +1634,8 @@ static int bttv_querystd(struct file *file, void *pri= v, v4l2_std_id *id) return 0; } =20 -static int bttv_enum_input(struct file *file, void *priv, +static int bttv_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct bttv *btv =3D video_drvdata(file); @@ -1664,7 +1668,8 @@ static int bttv_enum_input(struct file *file, void *p= riv, return 0; } =20 -static int bttv_g_input(struct file *file, void *priv, unsigned int *i) +static int bttv_g_input(struct file *file, struct video_device_state *stat= e, + unsigned int *i) { struct bttv *btv =3D video_drvdata(file); =20 @@ -1673,7 +1678,8 @@ static int bttv_g_input(struct file *file, void *priv= , unsigned int *i) return 0; } =20 -static int bttv_s_input(struct file *file, void *priv, unsigned int i) +static int bttv_s_input(struct file *file, struct video_device_state *stat= e, + unsigned int i) { struct bttv *btv =3D video_drvdata(file); =20 @@ -1684,7 +1690,8 @@ static int bttv_s_input(struct file *file, void *priv= , unsigned int i) return 0; } =20 -static int bttv_s_tuner(struct file *file, void *priv, +static int bttv_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *t) { struct bttv *btv =3D video_drvdata(file); @@ -1702,7 +1709,8 @@ static int bttv_s_tuner(struct file *file, void *priv, return 0; } =20 -static int bttv_g_frequency(struct file *file, void *priv, +static int bttv_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct bttv *btv =3D video_drvdata(file); @@ -1738,7 +1746,8 @@ static void bttv_set_frequency(struct bttv *btv, cons= t struct v4l2_frequency *f) } } =20 -static int bttv_s_frequency(struct file *file, void *priv, +static int bttv_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct bttv *btv =3D video_drvdata(file); @@ -1750,7 +1759,8 @@ static int bttv_s_frequency(struct file *file, void *= priv, return 0; } =20 -static int bttv_log_status(struct file *file, void *priv) +static int bttv_log_status(struct file *file, + struct video_device_state *state) { struct video_device *vdev =3D video_devdata(file); struct bttv *btv =3D video_drvdata(file); @@ -1761,7 +1771,8 @@ static int bttv_log_status(struct file *file, void *p= riv) } =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -static int bttv_g_register(struct file *file, void *priv, +static int bttv_g_register(struct file *file, + struct video_device_state *state, struct v4l2_dbg_register *reg) { struct bttv *btv =3D video_drvdata(file); @@ -1774,7 +1785,8 @@ static int bttv_g_register(struct file *file, void *p= riv, return 0; } =20 -static int bttv_s_register(struct file *file, void *priv, +static int bttv_s_register(struct file *file, + struct video_device_state *state, const struct v4l2_dbg_register *reg) { struct bttv *btv =3D video_drvdata(file); @@ -1981,7 +1993,8 @@ pix_format_set_size (struct v4l2_pix_format * = f, } } =20 -static int bttv_g_fmt_vid_cap(struct file *file, void *priv, +static int bttv_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct bttv *btv =3D video_drvdata(file); @@ -2007,7 +2020,8 @@ static void bttv_get_width_mask_vid_cap(const struct = bttv_format *fmt, } } =20 -static int bttv_try_fmt_vid_cap(struct file *file, void *priv, +static int bttv_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { const struct bttv_format *fmt; @@ -2062,7 +2076,8 @@ static int bttv_try_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int bttv_s_fmt_vid_cap(struct file *file, void *priv, +static int bttv_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int retval; @@ -2076,7 +2091,7 @@ static int bttv_s_fmt_vid_cap(struct file *file, void= *priv, if (0 !=3D retval) return retval; =20 - retval =3D bttv_try_fmt_vid_cap(file, priv, f); + retval =3D bttv_try_fmt_vid_cap(file, state, f); if (0 !=3D retval) return retval; =20 @@ -2109,7 +2124,8 @@ static int bttv_s_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int bttv_querycap(struct file *file, void *priv, +static int bttv_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct bttv *btv =3D video_drvdata(file); @@ -2140,7 +2156,8 @@ static int bttv_querycap(struct file *file, void *pr= iv, return 0; } =20 -static int bttv_enum_fmt_vid_cap(struct file *file, void *priv, +static int bttv_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { int index =3D -1, i; @@ -2159,7 +2176,8 @@ static int bttv_enum_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int bttv_g_parm(struct file *file, void *priv, +static int bttv_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct bttv *btv =3D video_drvdata(file); @@ -2173,7 +2191,8 @@ static int bttv_g_parm(struct file *file, void *priv, return 0; } =20 -static int bttv_g_tuner(struct file *file, void *priv, +static int bttv_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *t) { struct bttv *btv =3D video_drvdata(file); @@ -2195,8 +2214,9 @@ static int bttv_g_tuner(struct file *file, void *priv, return 0; } =20 -static int bttv_g_pixelaspect(struct file *file, void *priv, - int type, struct v4l2_fract *f) +static int bttv_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f) { struct bttv *btv =3D video_drvdata(file); =20 @@ -2208,7 +2228,9 @@ static int bttv_g_pixelaspect(struct file *file, void= *priv, return 0; } =20 -static int bttv_g_selection(struct file *file, void *priv, struct v4l2_sel= ection *sel) +static int bttv_g_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *sel) { struct bttv *btv =3D video_drvdata(file); =20 @@ -2232,7 +2254,9 @@ static int bttv_g_selection(struct file *file, void *= priv, struct v4l2_selection return 0; } =20 -static int bttv_s_selection(struct file *file, void *priv, struct v4l2_sel= ection *sel) +static int bttv_s_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *sel) { struct bttv *btv =3D video_drvdata(file); const struct v4l2_rect *b; @@ -2398,7 +2422,8 @@ static int radio_release(struct file *file) return 0; } =20 -static int radio_g_tuner(struct file *file, void *priv, struct v4l2_tuner = *t) +static int radio_g_tuner(struct file *file, struct video_device_state *sta= te, + struct v4l2_tuner *t) { struct bttv *btv =3D video_drvdata(file); =20 @@ -2419,7 +2444,8 @@ static int radio_g_tuner(struct file *file, void *pri= v, struct v4l2_tuner *t) return 0; } =20 -static int radio_s_tuner(struct file *file, void *priv, +static int radio_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *t) { struct bttv *btv =3D video_drvdata(file); @@ -2432,7 +2458,8 @@ static int radio_s_tuner(struct file *file, void *pri= v, return 0; } =20 -static int radio_s_hw_freq_seek(struct file *file, void *priv, +static int radio_s_hw_freq_seek(struct file *file, + struct video_device_state *state, const struct v4l2_hw_freq_seek *a) { struct bttv *btv =3D video_drvdata(file); @@ -2443,7 +2470,8 @@ static int radio_s_hw_freq_seek(struct file *file, vo= id *priv, return -ENOTTY; } =20 -static int radio_enum_freq_bands(struct file *file, void *priv, +static int radio_enum_freq_bands(struct file *file, + struct video_device_state *state, struct v4l2_frequency_band *band) { struct bttv *btv =3D video_drvdata(file); diff --git a/drivers/media/pci/bt8xx/bttv-vbi.c b/drivers/media/pci/bt8xx/b= ttv-vbi.c index 0ca88a2400eefbbb6c61e292d5fe2cfef951c4d7..84bcf5b225a51d8a405f8a6fb08= 947e7a270d923 100644 --- a/drivers/media/pci/bt8xx/bttv-vbi.c +++ b/drivers/media/pci/bt8xx/bttv-vbi.c @@ -241,7 +241,8 @@ static int try_fmt(struct v4l2_vbi_format *f, const str= uct bttv_tvnorm *tvnorm, return 0; } =20 -int bttv_try_fmt_vbi_cap(struct file *file, void *priv, struct v4l2_format= *frt) +int bttv_try_fmt_vbi_cap(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *frt) { struct bttv *btv =3D video_drvdata(file); const struct bttv_tvnorm *tvnorm; @@ -257,8 +258,8 @@ int bttv_try_fmt_vbi_cap(struct file *file, void *priv,= struct v4l2_format *frt) return try_fmt(&frt->fmt.vbi, tvnorm, crop_start); } =20 - -int bttv_s_fmt_vbi_cap(struct file *file, void *priv, struct v4l2_format *= frt) +int bttv_s_fmt_vbi_cap(struct file *file, struct video_device_state *state, + struct v4l2_format *frt) { struct bttv *btv =3D video_drvdata(file); const struct bttv_tvnorm *tvnorm; @@ -300,8 +301,8 @@ int bttv_s_fmt_vbi_cap(struct file *file, void *priv, s= truct v4l2_format *frt) return rc; } =20 - -int bttv_g_fmt_vbi_cap(struct file *file, void *priv, struct v4l2_format *= frt) +int bttv_g_fmt_vbi_cap(struct file *file, struct video_device_state *state, + struct v4l2_format *frt) { const struct bttv_tvnorm *tvnorm; struct bttv *btv =3D video_drvdata(file); diff --git a/drivers/media/pci/bt8xx/bttvp.h b/drivers/media/pci/bt8xx/bttv= p.h index a534e63b9a37bc5fdb27cc5b558ae885c7186715..0849f2f43720f4537174c431b42= 46cdc02cd21ff 100644 --- a/drivers/media/pci/bt8xx/bttvp.h +++ b/drivers/media/pci/bt8xx/bttvp.h @@ -227,9 +227,12 @@ int bttv_buffer_activate_vbi(struct bttv *btv, =20 #define VBI_DEFLINES 16 =20 -int bttv_try_fmt_vbi_cap(struct file *file, void *fh, struct v4l2_format *= f); -int bttv_g_fmt_vbi_cap(struct file *file, void *fh, struct v4l2_format *f); -int bttv_s_fmt_vbi_cap(struct file *file, void *fh, struct v4l2_format *f); +int bttv_try_fmt_vbi_cap(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f); +int bttv_g_fmt_vbi_cap(struct file *file, struct video_device_state *state, + struct v4l2_format *f); +int bttv_s_fmt_vbi_cap(struct file *file, struct video_device_state *state, + struct v4l2_format *f); =20 /* ---------------------------------------------------------- */ /* bttv-gpio.c */ diff --git a/drivers/media/pci/cobalt/cobalt-v4l2.c b/drivers/media/pci/cob= alt/cobalt-v4l2.c index 51fd9576c6c2a775ab3146af05c7e051f1198902..e3ef6bff28175358a46d65cc4ba= e89b1bec97ac4 100644 --- a/drivers/media/pci/cobalt/cobalt-v4l2.c +++ b/drivers/media/pci/cobalt/cobalt-v4l2.c @@ -447,7 +447,8 @@ static int cobalt_cobaltc(struct cobalt *cobalt, unsign= ed int cmd, void *arg) return 0; } =20 -static int cobalt_g_register(struct file *file, void *priv, +static int cobalt_g_register(struct file *file, + struct video_device_state *state, struct v4l2_dbg_register *reg) { struct cobalt_stream *s =3D video_drvdata(file); @@ -456,7 +457,8 @@ static int cobalt_g_register(struct file *file, void *p= riv, return cobalt_cobaltc(cobalt, VIDIOC_DBG_G_REGISTER, reg); } =20 -static int cobalt_s_register(struct file *file, void *priv, +static int cobalt_s_register(struct file *file, + struct video_device_state *state, const struct v4l2_dbg_register *reg) { struct cobalt_stream *s =3D video_drvdata(file); @@ -467,7 +469,8 @@ static int cobalt_s_register(struct file *file, void *p= riv, } #endif =20 -static int cobalt_querycap(struct file *file, void *priv, +static int cobalt_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *vcap) { struct cobalt_stream *s =3D video_drvdata(file); @@ -562,7 +565,8 @@ static void cobalt_video_input_status_show(struct cobal= t_stream *s) cobalt_info("rx%d: Packer: %x\n", rx, ioread32(&packer->control)); } =20 -static int cobalt_log_status(struct file *file, void *priv) +static int cobalt_log_status(struct file *file, + struct video_device_state *state) { struct cobalt_stream *s =3D video_drvdata(file); struct cobalt *cobalt =3D s->cobalt; @@ -596,7 +600,8 @@ static int cobalt_log_status(struct file *file, void *p= riv) return 0; } =20 -static int cobalt_enum_dv_timings(struct file *file, void *priv, +static int cobalt_enum_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_enum_dv_timings *timings) { struct cobalt_stream *s =3D video_drvdata(file); @@ -613,7 +618,8 @@ static int cobalt_enum_dv_timings(struct file *file, vo= id *priv, pad, enum_dv_timings, timings); } =20 -static int cobalt_s_dv_timings(struct file *file, void *priv, +static int cobalt_s_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct cobalt_stream *s =3D video_drvdata(file); @@ -641,7 +647,8 @@ static int cobalt_s_dv_timings(struct file *file, void = *priv, return err; } =20 -static int cobalt_g_dv_timings(struct file *file, void *priv, +static int cobalt_g_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct cobalt_stream *s =3D video_drvdata(file); @@ -654,7 +661,8 @@ static int cobalt_g_dv_timings(struct file *file, void = *priv, pad, g_dv_timings, 0, timings); } =20 -static int cobalt_query_dv_timings(struct file *file, void *priv, +static int cobalt_query_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct cobalt_stream *s =3D video_drvdata(file); @@ -667,7 +675,8 @@ static int cobalt_query_dv_timings(struct file *file, v= oid *priv, pad, query_dv_timings, 0, timings); } =20 -static int cobalt_dv_timings_cap(struct file *file, void *priv, +static int cobalt_dv_timings_cap(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings_cap *cap) { struct cobalt_stream *s =3D video_drvdata(file); @@ -677,8 +686,8 @@ static int cobalt_dv_timings_cap(struct file *file, voi= d *priv, pad, dv_timings_cap, cap); } =20 -static int cobalt_enum_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_fmtdesc *f) +static int cobalt_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { switch (f->index) { case 0: @@ -697,8 +706,8 @@ static int cobalt_enum_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int cobalt_g_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int cobalt_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cobalt_stream *s =3D video_drvdata(file); struct v4l2_pix_format *pix =3D &f->fmt.pix; @@ -726,8 +735,8 @@ static int cobalt_g_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int cobalt_try_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int cobalt_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cobalt_stream *s =3D video_drvdata(file); struct v4l2_pix_format *pix =3D &f->fmt.pix; @@ -787,8 +796,8 @@ static int cobalt_try_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int cobalt_s_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int cobalt_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cobalt_stream *s =3D video_drvdata(file); struct v4l2_pix_format *pix =3D &f->fmt.pix; @@ -796,7 +805,7 @@ static int cobalt_s_fmt_vid_cap(struct file *file, void= *priv, if (vb2_is_busy(&s->q)) return -EBUSY; =20 - if (cobalt_try_fmt_vid_cap(file, priv, f)) + if (cobalt_try_fmt_vid_cap(file, state, f)) return -EINVAL; =20 s->width =3D pix->width; @@ -821,8 +830,8 @@ static int cobalt_s_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int cobalt_try_fmt_vid_out(struct file *file, void *priv, - struct v4l2_format *f) +static int cobalt_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct v4l2_pix_format *pix =3D &f->fmt.pix; =20 @@ -862,8 +871,8 @@ static int cobalt_try_fmt_vid_out(struct file *file, vo= id *priv, return 0; } =20 -static int cobalt_g_fmt_vid_out(struct file *file, void *priv, - struct v4l2_format *f) +static int cobalt_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cobalt_stream *s =3D video_drvdata(file); struct v4l2_pix_format *pix =3D &f->fmt.pix; @@ -882,8 +891,8 @@ static int cobalt_g_fmt_vid_out(struct file *file, void= *priv, return 0; } =20 -static int cobalt_enum_fmt_vid_out(struct file *file, void *priv, - struct v4l2_fmtdesc *f) +static int cobalt_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { switch (f->index) { case 0: @@ -899,8 +908,8 @@ static int cobalt_enum_fmt_vid_out(struct file *file, v= oid *priv, return 0; } =20 -static int cobalt_s_fmt_vid_out(struct file *file, void *priv, - struct v4l2_format *f) +static int cobalt_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cobalt_stream *s =3D video_drvdata(file); struct v4l2_pix_format *pix =3D &f->fmt.pix; @@ -909,7 +918,7 @@ static int cobalt_s_fmt_vid_out(struct file *file, void= *priv, }; u32 code; =20 - if (cobalt_try_fmt_vid_out(file, priv, f)) + if (cobalt_try_fmt_vid_out(file, state, f)) return -EINVAL; =20 if (vb2_is_busy(&s->q) && (pix->pixelformat !=3D s->pixfmt || @@ -942,7 +951,8 @@ static int cobalt_s_fmt_vid_out(struct file *file, void= *priv, return 0; } =20 -static int cobalt_enum_input(struct file *file, void *priv, +static int cobalt_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { struct cobalt_stream *s =3D video_drvdata(file); @@ -963,7 +973,8 @@ static int cobalt_enum_input(struct file *file, void *p= riv, video, g_input_status, &inp->status); } =20 -static int cobalt_g_input(struct file *file, void *priv, unsigned int *i) +static int cobalt_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { struct cobalt_stream *s =3D video_drvdata(file); =20 @@ -971,7 +982,8 @@ static int cobalt_g_input(struct file *file, void *priv= , unsigned int *i) return 0; } =20 -static int cobalt_s_input(struct file *file, void *priv, unsigned int i) +static int cobalt_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { struct cobalt_stream *s =3D video_drvdata(file); =20 @@ -990,7 +1002,8 @@ static int cobalt_s_input(struct file *file, void *pri= v, unsigned int i) ADV76XX_PAD_HDMI_PORT_A, 0, 0); } =20 -static int cobalt_enum_output(struct file *file, void *priv, +static int cobalt_enum_output(struct file *file, + struct video_device_state *state, struct v4l2_output *out) { if (out->index) @@ -1001,18 +1014,21 @@ static int cobalt_enum_output(struct file *file, vo= id *priv, return 0; } =20 -static int cobalt_g_output(struct file *file, void *priv, unsigned int *i) +static int cobalt_g_output(struct file *file, + struct video_device_state *state, unsigned int *i) { *i =3D 0; return 0; } =20 -static int cobalt_s_output(struct file *file, void *priv, unsigned int i) +static int cobalt_s_output(struct file *file, + struct video_device_state *state, unsigned int i) { return i ? -EINVAL : 0; } =20 -static int cobalt_g_edid(struct file *file, void *priv, struct v4l2_edid *= edid) +static int cobalt_g_edid(struct file *file, struct video_device_state *sta= te, + struct v4l2_edid *edid) { struct cobalt_stream *s =3D video_drvdata(file); u32 pad =3D edid->pad; @@ -1026,7 +1042,8 @@ static int cobalt_g_edid(struct file *file, void *pri= v, struct v4l2_edid *edid) return ret; } =20 -static int cobalt_s_edid(struct file *file, void *priv, struct v4l2_edid *= edid) +static int cobalt_s_edid(struct file *file, struct video_device_state *sta= te, + struct v4l2_edid *edid) { struct cobalt_stream *s =3D video_drvdata(file); u32 pad =3D edid->pad; @@ -1050,7 +1067,8 @@ static int cobalt_subscribe_event(struct v4l2_fh *fh, return v4l2_ctrl_subscribe_event(fh, sub); } =20 -static int cobalt_g_parm(struct file *file, void *priv, struct v4l2_stream= parm *a) +static int cobalt_g_parm(struct file *file, struct video_device_state *sta= te, + struct v4l2_streamparm *a) { struct cobalt_stream *s =3D video_drvdata(file); struct v4l2_fract fps; @@ -1065,8 +1083,9 @@ static int cobalt_g_parm(struct file *file, void *pri= v, struct v4l2_streamparm * return 0; } =20 -static int cobalt_g_pixelaspect(struct file *file, void *priv, - int type, struct v4l2_fract *f) +static int cobalt_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f) { struct cobalt_stream *s =3D video_drvdata(file); struct v4l2_dv_timings timings; @@ -1084,7 +1103,8 @@ static int cobalt_g_pixelaspect(struct file *file, vo= id *priv, return err; } =20 -static int cobalt_g_selection(struct file *file, void *priv, +static int cobalt_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct cobalt_stream *s =3D video_drvdata(file); diff --git a/drivers/media/pci/cx18/cx18-driver.c b/drivers/media/pci/cx18/= cx18-driver.c index b62fd12c93c1a37ea6c8d3d48871028d81b33485..475c5a5e2000987fc3d590eb57d= a1472d7ccbf4b 100644 --- a/drivers/media/pci/cx18/cx18-driver.c +++ b/drivers/media/pci/cx18/cx18-driver.c @@ -1136,11 +1136,8 @@ int cx18_init_on_first_open(struct cx18 *cx) int video_input; int fw_retry_count =3D 3; struct v4l2_frequency vf; - struct cx18_open_id fh; v4l2_std_id std; =20 - fh.cx =3D cx; - if (test_bit(CX18_F_I_FAILED, &cx->i_flags)) return -ENXIO; =20 @@ -1220,14 +1217,14 @@ int cx18_init_on_first_open(struct cx18 *cx) =20 video_input =3D cx->active_input; cx->active_input++; /* Force update of input */ - cx18_s_input(NULL, &fh, video_input); + cx18_s_input(NULL, NULL, video_input); =20 /* Let the VIDIOC_S_STD ioctl do all the work, keeps the code in one place. */ cx->std++; /* Force full standard initialization */ std =3D (cx->tuner_std =3D=3D V4L2_STD_ALL) ? V4L2_STD_NTSC_M : cx->tuner= _std; - cx18_s_std(NULL, &fh, std); - cx18_s_frequency(NULL, &fh, &vf); + cx18_s_std(NULL, NULL, std); + cx18_s_frequency(NULL, NULL, &vf); return 0; } =20 diff --git a/drivers/media/pci/cx18/cx18-ioctl.c b/drivers/media/pci/cx18/c= x18-ioctl.c index 0f3019739d03dab1ed8ba63f71134a5b64807c7d..fcf9477e158cecbfd438156fc41= a98f51077f3f6 100644 --- a/drivers/media/pci/cx18/cx18-ioctl.c +++ b/drivers/media/pci/cx18/cx18-ioctl.c @@ -49,7 +49,8 @@ static const struct v4l2_fmtdesc cx18_formats_mpeg[] =3D { }, }; =20 -static int cx18_g_fmt_vid_cap(struct file *file, void *fh, +static int cx18_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct cx18_open_id *id =3D file2id(file); @@ -73,7 +74,8 @@ static int cx18_g_fmt_vid_cap(struct file *file, void *fh, return 0; } =20 -static int cx18_try_fmt_vid_cap(struct file *file, void *fh, +static int cx18_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct cx18_open_id *id =3D file2id(file); @@ -118,7 +120,8 @@ static int cx18_try_fmt_vid_cap(struct file *file, void= *fh, return 0; } =20 -static int cx18_s_fmt_vid_cap(struct file *file, void *fh, +static int cx18_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct cx18_open_id *id =3D file2id(file); @@ -130,7 +133,7 @@ static int cx18_s_fmt_vid_cap(struct file *file, void *= fh, int ret; int w, h; =20 - ret =3D cx18_try_fmt_vid_cap(file, fh, fmt); + ret =3D cx18_try_fmt_vid_cap(file, state, fmt); if (ret) return ret; w =3D fmt->fmt.pix.width; @@ -151,7 +154,7 @@ static int cx18_s_fmt_vid_cap(struct file *file, void *= fh, format.format.height =3D cx->cxhdl.height =3D h; format.format.code =3D MEDIA_BUS_FMT_FIXED; v4l2_subdev_call(cx->sd_av, pad, set_fmt, NULL, &format); - return cx18_g_fmt_vid_cap(file, fh, fmt); + return cx18_g_fmt_vid_cap(file, state, fmt); } =20 u16 cx18_service2vbi(int type) @@ -258,7 +261,8 @@ u16 cx18_get_service_set(struct v4l2_sliced_vbi_format = *fmt) return set; } =20 -static int cx18_g_fmt_vbi_cap(struct file *file, void *fh, +static int cx18_g_fmt_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct cx18 *cx =3D file2id(file)->cx; @@ -277,7 +281,8 @@ static int cx18_g_fmt_vbi_cap(struct file *file, void *= fh, return 0; } =20 -static int cx18_g_fmt_sliced_vbi_cap(struct file *file, void *fh, +static int cx18_g_fmt_sliced_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct cx18 *cx =3D file2id(file)->cx; @@ -302,13 +307,15 @@ static int cx18_g_fmt_sliced_vbi_cap(struct file *fil= e, void *fh, return 0; } =20 -static int cx18_try_fmt_vbi_cap(struct file *file, void *fh, +static int cx18_try_fmt_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { - return cx18_g_fmt_vbi_cap(file, fh, fmt); + return cx18_g_fmt_vbi_cap(file, state, fmt); } =20 -static int cx18_try_fmt_sliced_vbi_cap(struct file *file, void *fh, +static int cx18_try_fmt_sliced_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct cx18 *cx =3D file2id(file)->cx; @@ -327,7 +334,8 @@ static int cx18_try_fmt_sliced_vbi_cap(struct file *fil= e, void *fh, return 0; } =20 -static int cx18_s_fmt_vbi_cap(struct file *file, void *fh, +static int cx18_s_fmt_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct cx18_open_id *id =3D file2id(file); @@ -354,10 +362,11 @@ static int cx18_s_fmt_vbi_cap(struct file *file, void= *fh, cx->vbi.sliced_in->service_set =3D 0; cx->vbi.in.type =3D V4L2_BUF_TYPE_VBI_CAPTURE; =20 - return cx18_g_fmt_vbi_cap(file, fh, fmt); + return cx18_g_fmt_vbi_cap(file, state, fmt); } =20 -static int cx18_s_fmt_sliced_vbi_cap(struct file *file, void *fh, +static int cx18_s_fmt_sliced_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct cx18_open_id *id =3D file2id(file); @@ -365,7 +374,7 @@ static int cx18_s_fmt_sliced_vbi_cap(struct file *file,= void *fh, int ret; struct v4l2_sliced_vbi_format *vbifmt =3D &fmt->fmt.sliced; =20 - cx18_try_fmt_sliced_vbi_cap(file, fh, fmt); + cx18_try_fmt_sliced_vbi_cap(file, state, fmt); =20 /* * Changing the Encoder's Raw VBI parameters won't have any effect @@ -389,8 +398,8 @@ static int cx18_s_fmt_sliced_vbi_cap(struct file *file,= void *fh, } =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -static int cx18_g_register(struct file *file, void *fh, - struct v4l2_dbg_register *reg) +static int cx18_g_register(struct file *file, struct video_device_state *s= tate, + struct v4l2_dbg_register *reg) { struct cx18 *cx =3D file2id(file)->cx; =20 @@ -403,8 +412,8 @@ static int cx18_g_register(struct file *file, void *fh, return 0; } =20 -static int cx18_s_register(struct file *file, void *fh, - const struct v4l2_dbg_register *reg) +static int cx18_s_register(struct file *file, struct video_device_state *s= tate, + const struct v4l2_dbg_register *reg) { struct cx18 *cx =3D file2id(file)->cx; =20 @@ -417,7 +426,8 @@ static int cx18_s_register(struct file *file, void *fh, } #endif =20 -static int cx18_querycap(struct file *file, void *fh, +static int cx18_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *vcap) { struct cx18_open_id *id =3D file2id(file); @@ -429,14 +439,16 @@ static int cx18_querycap(struct file *file, void *fh, return 0; } =20 -static int cx18_enumaudio(struct file *file, void *fh, struct v4l2_audio *= vin) +static int cx18_enumaudio(struct file *file, struct video_device_state *st= ate, + struct v4l2_audio *vin) { struct cx18 *cx =3D file2id(file)->cx; =20 return cx18_get_audio_input(cx, vin->index, vin); } =20 -static int cx18_g_audio(struct file *file, void *fh, struct v4l2_audio *vi= n) +static int cx18_g_audio(struct file *file, struct video_device_state *stat= e, + struct v4l2_audio *vin) { struct cx18 *cx =3D file2id(file)->cx; =20 @@ -444,7 +456,8 @@ static int cx18_g_audio(struct file *file, void *fh, st= ruct v4l2_audio *vin) return cx18_get_audio_input(cx, vin->index, vin); } =20 -static int cx18_s_audio(struct file *file, void *fh, const struct v4l2_aud= io *vout) +static int cx18_s_audio(struct file *file, struct video_device_state *stat= e, + const struct v4l2_audio *vout) { struct cx18 *cx =3D file2id(file)->cx; =20 @@ -455,7 +468,9 @@ static int cx18_s_audio(struct file *file, void *fh, co= nst struct v4l2_audio *vo return 0; } =20 -static int cx18_enum_input(struct file *file, void *fh, struct v4l2_input = *vin) +static int cx18_enum_input(struct file *file, + struct video_device_state *state, + struct v4l2_input *vin) { struct cx18 *cx =3D file2id(file)->cx; =20 @@ -463,8 +478,9 @@ static int cx18_enum_input(struct file *file, void *fh,= struct v4l2_input *vin) return cx18_get_input(cx, vin->index, vin); } =20 -static int cx18_g_pixelaspect(struct file *file, void *fh, - int type, struct v4l2_fract *f) +static int cx18_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f) { struct cx18 *cx =3D file2id(file)->cx; =20 @@ -476,7 +492,8 @@ static int cx18_g_pixelaspect(struct file *file, void *= fh, return 0; } =20 -static int cx18_g_selection(struct file *file, void *fh, +static int cx18_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct cx18 *cx =3D file2id(file)->cx; @@ -496,7 +513,8 @@ static int cx18_g_selection(struct file *file, void *fh, return 0; } =20 -static int cx18_enum_fmt_vid_cap(struct file *file, void *fh, +static int cx18_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fmt) { struct cx18_open_id *id =3D file2id(file); @@ -513,7 +531,8 @@ static int cx18_enum_fmt_vid_cap(struct file *file, voi= d *fh, return 0; } =20 -static int cx18_g_input(struct file *file, void *fh, unsigned int *i) +static int cx18_g_input(struct file *file, struct video_device_state *stat= e, + unsigned int *i) { struct cx18 *cx =3D file2id(file)->cx; =20 @@ -521,7 +540,8 @@ static int cx18_g_input(struct file *file, void *fh, un= signed int *i) return 0; } =20 -int cx18_s_input(struct file *file, void *fh, unsigned int inp) +int cx18_s_input(struct file *file, struct video_device_state *state, + unsigned int inp) { struct cx18_open_id *id =3D file2id(file); struct cx18 *cx =3D id->cx; @@ -558,7 +578,8 @@ int cx18_s_input(struct file *file, void *fh, unsigned = int inp) return 0; } =20 -static int cx18_g_frequency(struct file *file, void *fh, +static int cx18_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *vf) { struct cx18 *cx =3D file2id(file)->cx; @@ -570,7 +591,8 @@ static int cx18_g_frequency(struct file *file, void *fh, return 0; } =20 -int cx18_s_frequency(struct file *file, void *fh, const struct v4l2_freque= ncy *vf) +int cx18_s_frequency(struct file *file, struct video_device_state *state, + const struct v4l2_frequency *vf) { struct cx18_open_id *id =3D file2id(file); struct cx18 *cx =3D id->cx; @@ -585,7 +607,8 @@ int cx18_s_frequency(struct file *file, void *fh, const= struct v4l2_frequency *v return 0; } =20 -static int cx18_g_std(struct file *file, void *fh, v4l2_std_id *std) +static int cx18_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *std) { struct cx18 *cx =3D file2id(file)->cx; =20 @@ -593,7 +616,8 @@ static int cx18_g_std(struct file *file, void *fh, v4l2= _std_id *std) return 0; } =20 -int cx18_s_std(struct file *file, void *fh, v4l2_std_id std) +int cx18_s_std(struct file *file, struct video_device_state *state, + v4l2_std_id std) { struct cx18_open_id *id =3D file2id(file); struct cx18 *cx =3D id->cx; @@ -642,7 +666,8 @@ int cx18_s_std(struct file *file, void *fh, v4l2_std_id= std) return 0; } =20 -static int cx18_s_tuner(struct file *file, void *fh, const struct v4l2_tun= er *vt) +static int cx18_s_tuner(struct file *file, struct video_device_state *stat= e, + const struct v4l2_tuner *vt) { struct cx18_open_id *id =3D file2id(file); struct cx18 *cx =3D id->cx; @@ -654,7 +679,8 @@ static int cx18_s_tuner(struct file *file, void *fh, co= nst struct v4l2_tuner *vt return 0; } =20 -static int cx18_g_tuner(struct file *file, void *fh, struct v4l2_tuner *vt) +static int cx18_g_tuner(struct file *file, struct video_device_state *stat= e, + struct v4l2_tuner *vt) { struct cx18 *cx =3D file2id(file)->cx; =20 @@ -670,7 +696,8 @@ static int cx18_g_tuner(struct file *file, void *fh, st= ruct v4l2_tuner *vt) return 0; } =20 -static int cx18_g_sliced_vbi_cap(struct file *file, void *fh, +static int cx18_g_sliced_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_sliced_vbi_cap *cap) { struct cx18 *cx =3D file2id(file)->cx; @@ -791,7 +818,8 @@ static int cx18_process_idx_data(struct cx18_stream *s,= struct cx18_mdl *mdl, return 0; } =20 -static int cx18_g_enc_index(struct file *file, void *fh, +static int cx18_g_enc_index(struct file *file, + struct video_device_state *state, struct v4l2_enc_idx *idx) { struct cx18 *cx =3D file2id(file)->cx; @@ -838,7 +866,8 @@ static int cx18_g_enc_index(struct file *file, void *fh, return 0; } =20 -static int cx18_encoder_cmd(struct file *file, void *fh, +static int cx18_encoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_encoder_cmd *enc) { struct cx18_open_id *id =3D file2id(file); @@ -897,7 +926,8 @@ static int cx18_encoder_cmd(struct file *file, void *fh, return 0; } =20 -static int cx18_try_encoder_cmd(struct file *file, void *fh, +static int cx18_try_encoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_encoder_cmd *enc) { struct cx18 *cx =3D file2id(file)->cx; @@ -930,7 +960,8 @@ static int cx18_try_encoder_cmd(struct file *file, void= *fh, return 0; } =20 -static int cx18_log_status(struct file *file, void *fh) +static int cx18_log_status(struct file *file, + struct video_device_state *state) { struct cx18 *cx =3D file2id(file)->cx; struct v4l2_input vidin; @@ -973,7 +1004,8 @@ static int cx18_log_status(struct file *file, void *fh) return 0; } =20 -static long cx18_default(struct file *file, void *fh, bool valid_prio, +static long cx18_default(struct file *file, struct video_device_state *sta= te, + bool valid_prio, unsigned int cmd, void *arg) { struct cx18 *cx =3D file2id(file)->cx; diff --git a/drivers/media/pci/cx18/cx18-ioctl.h b/drivers/media/pci/cx18/c= x18-ioctl.h index 97cd9f99e22d9676d427a7e9e12fb572a91b2a82..62c1238021d42419a0d0ef7b520= d3e020b3b1f6e 100644 --- a/drivers/media/pci/cx18/cx18-ioctl.h +++ b/drivers/media/pci/cx18/cx18-ioctl.h @@ -12,6 +12,9 @@ u16 cx18_service2vbi(int type); void cx18_expand_service_set(struct v4l2_sliced_vbi_format *fmt, int is_pa= l); u16 cx18_get_service_set(struct v4l2_sliced_vbi_format *fmt); void cx18_set_funcs(struct video_device *vdev); -int cx18_s_std(struct file *file, void *fh, v4l2_std_id std); -int cx18_s_frequency(struct file *file, void *fh, const struct v4l2_freque= ncy *vf); -int cx18_s_input(struct file *file, void *fh, unsigned int inp); +int cx18_s_std(struct file *file, struct video_device_state *state, + v4l2_std_id std); +int cx18_s_frequency(struct file *file, struct video_device_state *state, + const struct v4l2_frequency *vf); +int cx18_s_input(struct file *file, struct video_device_state *state, + unsigned int inp); diff --git a/drivers/media/pci/cx23885/cx23885-417.c b/drivers/media/pci/cx= 23885/cx23885-417.c index 219937a153b3aed206091579fffbd07840ca0c3a..7d080e97bf460c2c89c833936d6= d6de5b6454417 100644 --- a/drivers/media/pci/cx23885/cx23885-417.c +++ b/drivers/media/pci/cx23885/cx23885-417.c @@ -1216,7 +1216,8 @@ static const struct vb2_ops cx23885_qops =3D { =20 /* ------------------------------------------------------------------ */ =20 -static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *id) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *id) { struct cx23885_dev *dev =3D video_drvdata(file); =20 @@ -1224,7 +1225,8 @@ static int vidioc_g_std(struct file *file, void *priv= , v4l2_std_id *id) return 0; } =20 -static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id id) { struct cx23885_dev *dev =3D video_drvdata(file); unsigned int i; @@ -1242,25 +1244,28 @@ static int vidioc_s_std(struct file *file, void *pr= iv, v4l2_std_id id) return ret; } =20 -static int vidioc_enum_input(struct file *file, void *priv, - struct v4l2_input *i) +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct cx23885_dev *dev =3D video_drvdata(file); dprintk(1, "%s()\n", __func__); return cx23885_enum_input(dev, i); } =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { - return cx23885_get_input(file, priv, i); + return cx23885_get_input(file, state, i); } =20 -static int vidioc_s_input(struct file *file, void *priv, unsigned int i) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { - return cx23885_set_input(file, priv, i); + return cx23885_set_input(file, state, i); } =20 -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *t) { struct cx23885_dev *dev =3D video_drvdata(file); @@ -1277,7 +1282,8 @@ static int vidioc_g_tuner(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *t) { struct cx23885_dev *dev =3D video_drvdata(file); @@ -1291,7 +1297,8 @@ static int vidioc_s_tuner(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct cx23885_dev *dev =3D video_drvdata(file); @@ -1306,13 +1313,14 @@ static int vidioc_g_frequency(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_s_frequency(struct file *file, void *priv, - const struct v4l2_frequency *f) +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { - return cx23885_set_frequency(file, priv, f); + return cx23885_set_frequency(file, state, f); } =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct cx23885_dev *dev =3D video_drvdata(file); @@ -1331,7 +1339,8 @@ static int vidioc_querycap(struct file *file, void *= priv, return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index !=3D 0) @@ -1342,7 +1351,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file,= void *priv, return 0; } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx23885_dev *dev =3D video_drvdata(file); @@ -1360,7 +1370,8 @@ static int vidioc_g_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx23885_dev *dev =3D video_drvdata(file); @@ -1376,7 +1387,8 @@ static int vidioc_try_fmt_vid_cap(struct file *file, = void *priv, return 0; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx23885_dev *dev =3D video_drvdata(file); @@ -1392,7 +1404,8 @@ static int vidioc_s_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_log_status(struct file *file, void *priv) +static int vidioc_log_status(struct file *file, + struct video_device_state *state) { struct cx23885_dev *dev =3D video_drvdata(file); char name[32 + 2]; diff --git a/drivers/media/pci/cx23885/cx23885-ioctl.c b/drivers/media/pci/= cx23885/cx23885-ioctl.c index a8ccad07cf50303895a14e29751b39a8c365fa17..e154b6777fddeefbac041a4e04c= 164574d65079b 100644 --- a/drivers/media/pci/cx23885/cx23885-ioctl.c +++ b/drivers/media/pci/cx23885/cx23885-ioctl.c @@ -11,8 +11,8 @@ #include "cx23885-ioctl.h" =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -int cx23885_g_chip_info(struct file *file, void *fh, - struct v4l2_dbg_chip_info *chip) +int cx23885_g_chip_info(struct file *file, struct video_device_state *stat= e, + struct v4l2_dbg_chip_info *chip) { struct cx23885_dev *dev =3D video_drvdata(file); =20 @@ -47,7 +47,7 @@ static int cx23417_g_register(struct cx23885_dev *dev, return 0; } =20 -int cx23885_g_register(struct file *file, void *fh, +int cx23885_g_register(struct file *file, struct video_device_state *state, struct v4l2_dbg_register *reg) { struct cx23885_dev *dev =3D video_drvdata(file); @@ -79,7 +79,7 @@ static int cx23417_s_register(struct cx23885_dev *dev, return 0; } =20 -int cx23885_s_register(struct file *file, void *fh, +int cx23885_s_register(struct file *file, struct video_device_state *state, const struct v4l2_dbg_register *reg) { struct cx23885_dev *dev =3D video_drvdata(file); diff --git a/drivers/media/pci/cx23885/cx23885-ioctl.h b/drivers/media/pci/= cx23885/cx23885-ioctl.h index 14bfe9e4ec264f38f19864ea34229c9c8a4e7ed0..89c7bfe0ec16d9fdb056f815add= 09c24cc41e846 100644 --- a/drivers/media/pci/cx23885/cx23885-ioctl.h +++ b/drivers/media/pci/cx23885/cx23885-ioctl.h @@ -10,15 +10,14 @@ #ifndef _CX23885_IOCTL_H_ #define _CX23885_IOCTL_H_ =20 -int cx23885_g_chip_info(struct file *file, void *fh, - struct v4l2_dbg_chip_info *chip); +int cx23885_g_chip_info(struct file *file, struct video_device_state *stat= e, + struct v4l2_dbg_chip_info *chip); =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -int cx23885_g_register(struct file *file, void *fh, +int cx23885_g_register(struct file *file, struct video_device_state *state, struct v4l2_dbg_register *reg); =20 - -int cx23885_s_register(struct file *file, void *fh, +int cx23885_s_register(struct file *file, struct video_device_state *state, const struct v4l2_dbg_register *reg); =20 #endif diff --git a/drivers/media/pci/cx23885/cx23885-vbi.c b/drivers/media/pci/cx= 23885/cx23885-vbi.c index 40817cc52fc1ee256be86319638d0d26116e51c0..049aa0d4359cf789ddf3955347d= 30a636da1c7e8 100644 --- a/drivers/media/pci/cx23885/cx23885-vbi.c +++ b/drivers/media/pci/cx23885/cx23885-vbi.c @@ -32,9 +32,8 @@ MODULE_PARM_DESC(vbi_debug, "enable debug messages [vbi]"= ); #define VBI_NTSC_LINE_COUNT 12 #define VBI_PAL_LINE_COUNT 18 =20 - -int cx23885_vbi_fmt(struct file *file, void *priv, - struct v4l2_format *f) +int cx23885_vbi_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct cx23885_dev *dev =3D video_drvdata(file); =20 diff --git a/drivers/media/pci/cx23885/cx23885-video.c b/drivers/media/pci/= cx23885/cx23885-video.c index 14d219fd1d8a0a5f964b6c182c167b63f3f45a51..9d9e17509b26e3b9c0d2c6d9162= 0c3667ed289c0 100644 --- a/drivers/media/pci/cx23885/cx23885-video.c +++ b/drivers/media/pci/cx23885/cx23885-video.c @@ -527,8 +527,8 @@ static const struct vb2_ops cx23885_video_qops =3D { /* ------------------------------------------------------------------ */ /* VIDEO IOCTLS */ =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx23885_dev *dev =3D video_drvdata(file); =20 @@ -545,8 +545,8 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx23885_dev *dev =3D video_drvdata(file); struct cx23885_fmt *fmt; @@ -593,8 +593,8 @@ static int vidioc_try_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx23885_dev *dev =3D video_drvdata(file); struct v4l2_subdev_format format =3D { @@ -603,7 +603,7 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void= *priv, int err; =20 dprintk(2, "%s()\n", __func__); - err =3D vidioc_try_fmt_vid_cap(file, priv, f); + err =3D vidioc_try_fmt_vid_cap(file, state, f); =20 if (0 !=3D err) return err; @@ -626,8 +626,8 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int vidioc_querycap(struct file *file, void *priv, - struct v4l2_capability *cap) +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct cx23885_dev *dev =3D video_drvdata(file); =20 @@ -654,8 +654,8 @@ static int vidioc_querycap(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_fmtdesc *f) +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (unlikely(f->index >=3D ARRAY_SIZE(formats))) return -EINVAL; @@ -665,8 +665,9 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int vidioc_g_pixelaspect(struct file *file, void *priv, - int type, struct v4l2_fract *f) +static int vidioc_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f) { struct cx23885_dev *dev =3D video_drvdata(file); bool is_50hz =3D dev->tvnorm & V4L2_STD_625_50; @@ -680,7 +681,8 @@ static int vidioc_g_pixelaspect(struct file *file, void= *priv, return 0; } =20 -static int vidioc_g_selection(struct file *file, void *fh, +static int vidioc_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct cx23885_dev *dev =3D video_drvdata(file); @@ -702,7 +704,8 @@ static int vidioc_g_selection(struct file *file, void *= fh, return 0; } =20 -static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *id) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *id) { struct cx23885_dev *dev =3D video_drvdata(file); dprintk(1, "%s()\n", __func__); @@ -711,7 +714,8 @@ static int vidioc_g_std(struct file *file, void *priv, = v4l2_std_id *id) return 0; } =20 -static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id tvnorms) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id tvnorms) { struct cx23885_dev *dev =3D video_drvdata(file); dprintk(1, "%s()\n", __func__); @@ -768,7 +772,8 @@ int cx23885_enum_input(struct cx23885_dev *dev, struct = v4l2_input *i) return 0; } =20 -static int vidioc_enum_input(struct file *file, void *priv, +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct cx23885_dev *dev =3D video_drvdata(file); @@ -785,9 +790,10 @@ int cx23885_get_input(struct file *file, void *priv, u= nsigned int *i) return 0; } =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { - return cx23885_get_input(file, priv, i); + return cx23885_get_input(file, state, i); } =20 int cx23885_set_input(struct file *file, void *priv, unsigned int i) @@ -812,12 +818,14 @@ int cx23885_set_input(struct file *file, void *priv, = unsigned int i) return 0; } =20 -static int vidioc_s_input(struct file *file, void *priv, unsigned int i) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { - return cx23885_set_input(file, priv, i); + return cx23885_set_input(file, state, i); } =20 -static int vidioc_log_status(struct file *file, void *priv) +static int vidioc_log_status(struct file *file, + struct video_device_state *state) { struct cx23885_dev *dev =3D video_drvdata(file); =20 @@ -848,14 +856,15 @@ static int cx23885_query_audinput(struct file *file, = void *priv, =20 } =20 -static int vidioc_enum_audinput(struct file *file, void *priv, +static int vidioc_enum_audinput(struct file *file, + struct video_device_state *state, struct v4l2_audio *i) { - return cx23885_query_audinput(file, priv, i); + return cx23885_query_audinput(file, state, i); } =20 -static int vidioc_g_audinput(struct file *file, void *priv, - struct v4l2_audio *i) +static int vidioc_g_audinput(struct file *file, + struct video_device_state *state, struct v4l2_audio *i) { struct cx23885_dev *dev =3D video_drvdata(file); =20 @@ -866,11 +875,11 @@ static int vidioc_g_audinput(struct file *file, void = *priv, i->index =3D dev->audinput; dprintk(1, "%s(input=3D%d)\n", __func__, i->index); =20 - return cx23885_query_audinput(file, priv, i); + return cx23885_query_audinput(file, state, i); } =20 -static int vidioc_s_audinput(struct file *file, void *priv, - const struct v4l2_audio *i) +static int vidioc_s_audinput(struct file *file, + struct video_device_state *state, const struct v4l2_audio *i) { struct cx23885_dev *dev =3D video_drvdata(file); =20 @@ -891,7 +900,8 @@ static int vidioc_s_audinput(struct file *file, void *p= riv, return 0; } =20 -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *t) { struct cx23885_dev *dev =3D video_drvdata(file); @@ -916,7 +926,8 @@ static int vidioc_g_tuner(struct file *file, void *priv, return 0; } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *t) { struct cx23885_dev *dev =3D video_drvdata(file); @@ -940,7 +951,8 @@ static int vidioc_s_tuner(struct file *file, void *priv, return 0; } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct cx23885_dev *dev =3D video_drvdata(file); @@ -1090,10 +1102,10 @@ int cx23885_set_frequency(struct file *file, void *= priv, return ret; } =20 -static int vidioc_s_frequency(struct file *file, void *priv, - const struct v4l2_frequency *f) +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { - return cx23885_set_frequency(file, priv, f); + return cx23885_set_frequency(file, state, f); } =20 /* ----------------------------------------------------------- */ diff --git a/drivers/media/pci/cx23885/cx23885.h b/drivers/media/pci/cx2388= 5/cx23885.h index 8ba1f306238cb3c136c1fbae8d29b581aeb566e5..9a0d50ac836953b3460d39d0dba= 3326e0ba9dfab 100644 --- a/drivers/media/pci/cx23885/cx23885.h +++ b/drivers/media/pci/cx23885/cx23885.h @@ -585,8 +585,8 @@ int cx23885_set_tvnorm(struct cx23885_dev *dev, v4l2_st= d_id norm); =20 /* ----------------------------------------------------------- */ /* cx23885-vbi.c */ -extern int cx23885_vbi_fmt(struct file *file, void *priv, - struct v4l2_format *f); +int cx23885_vbi_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f); extern void cx23885_vbi_timeout(unsigned long data); extern const struct vb2_ops cx23885_vbi_qops; extern int cx23885_vbi_irq(struct cx23885_dev *dev, u32 status); diff --git a/drivers/media/pci/cx25821/cx25821-video.c b/drivers/media/pci/= cx25821/cx25821-video.c index 84aa1209e7171ecc541a764fea064e031ce2bb6e..7836e44090122f2c675a3098dfe= d2c954d5c9c11 100644 --- a/drivers/media/pci/cx25821/cx25821-video.c +++ b/drivers/media/pci/cx25821/cx25821-video.c @@ -301,7 +301,8 @@ static const struct vb2_ops cx25821_video_qops =3D { =20 /* VIDEO IOCTLS */ =20 -static int cx25821_vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int cx25821_vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (unlikely(f->index >=3D ARRAY_SIZE(formats))) @@ -312,7 +313,8 @@ static int cx25821_vidioc_enum_fmt_vid_cap(struct file = *file, void *priv, return 0; } =20 -static int cx25821_vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int cx25821_vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx25821_channel *chan =3D video_drvdata(file); @@ -328,7 +330,8 @@ static int cx25821_vidioc_g_fmt_vid_cap(struct file *fi= le, void *priv, return 0; } =20 -static int cx25821_vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int cx25821_vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx25821_channel *chan =3D video_drvdata(file); @@ -366,7 +369,8 @@ static int cx25821_vidioc_try_fmt_vid_cap(struct file *= file, void *priv, return 0; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx25821_channel *chan =3D video_drvdata(file); @@ -374,7 +378,7 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void= *priv, int pix_format =3D PIXEL_FRMT_422; int err; =20 - err =3D cx25821_vidioc_try_fmt_vid_cap(file, priv, f); + err =3D cx25821_vidioc_try_fmt_vid_cap(file, state, f); =20 if (0 !=3D err) return err; @@ -402,7 +406,8 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int vidioc_log_status(struct file *file, void *priv) +static int vidioc_log_status(struct file *file, + struct video_device_state *state) { struct cx25821_channel *chan =3D video_drvdata(file); struct cx25821_dev *dev =3D chan->dev; @@ -416,7 +421,8 @@ static int vidioc_log_status(struct file *file, void *p= riv) } =20 =20 -static int cx25821_vidioc_querycap(struct file *file, void *priv, +static int cx25821_vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct cx25821_channel *chan =3D video_drvdata(file); @@ -431,7 +437,9 @@ static int cx25821_vidioc_querycap(struct file *file, v= oid *priv, return 0; } =20 -static int cx25821_vidioc_g_std(struct file *file, void *priv, v4l2_std_id= *tvnorms) +static int cx25821_vidioc_g_std(struct file *file, + struct video_device_state *state, + v4l2_std_id *tvnorms) { struct cx25821_channel *chan =3D video_drvdata(file); =20 @@ -439,7 +447,8 @@ static int cx25821_vidioc_g_std(struct file *file, void= *priv, v4l2_std_id *tvno return 0; } =20 -static int cx25821_vidioc_s_std(struct file *file, void *priv, +static int cx25821_vidioc_s_std(struct file *file, + struct video_device_state *state, v4l2_std_id tvnorms) { struct cx25821_channel *chan =3D video_drvdata(file); @@ -457,7 +466,8 @@ static int cx25821_vidioc_s_std(struct file *file, void= *priv, return 0; } =20 -static int cx25821_vidioc_enum_input(struct file *file, void *priv, +static int cx25821_vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { if (i->index) @@ -469,13 +479,17 @@ static int cx25821_vidioc_enum_input(struct file *fil= e, void *priv, return 0; } =20 -static int cx25821_vidioc_g_input(struct file *file, void *priv, unsigned = int *i) +static int cx25821_vidioc_g_input(struct file *file, + struct video_device_state *state, + unsigned int *i) { *i =3D 0; return 0; } =20 -static int cx25821_vidioc_s_input(struct file *file, void *priv, unsigned = int i) +static int cx25821_vidioc_s_input(struct file *file, + struct video_device_state *state, + unsigned int i) { return i ? -EINVAL : 0; } @@ -505,7 +519,8 @@ static int cx25821_s_ctrl(struct v4l2_ctrl *ctrl) return 0; } =20 -static int cx25821_vidioc_enum_output(struct file *file, void *priv, +static int cx25821_vidioc_enum_output(struct file *file, + struct video_device_state *state, struct v4l2_output *o) { if (o->index) @@ -517,18 +532,23 @@ static int cx25821_vidioc_enum_output(struct file *fi= le, void *priv, return 0; } =20 -static int cx25821_vidioc_g_output(struct file *file, void *priv, unsigned= int *o) +static int cx25821_vidioc_g_output(struct file *file, + struct video_device_state *state, + unsigned int *o) { *o =3D 0; return 0; } =20 -static int cx25821_vidioc_s_output(struct file *file, void *priv, unsigned= int o) +static int cx25821_vidioc_s_output(struct file *file, + struct video_device_state *state, + unsigned int o) { return o ? -EINVAL : 0; } =20 -static int cx25821_vidioc_try_fmt_vid_out(struct file *file, void *priv, +static int cx25821_vidioc_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx25821_channel *chan =3D video_drvdata(file); @@ -547,13 +567,14 @@ static int cx25821_vidioc_try_fmt_vid_out(struct file= *file, void *priv, return 0; } =20 -static int vidioc_s_fmt_vid_out(struct file *file, void *priv, +static int vidioc_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx25821_channel *chan =3D video_drvdata(file); int err; =20 - err =3D cx25821_vidioc_try_fmt_vid_out(file, priv, f); + err =3D cx25821_vidioc_try_fmt_vid_out(file, state, f); =20 if (0 !=3D err) return err; diff --git a/drivers/media/pci/cx88/cx88-blackbird.c b/drivers/media/pci/cx= 88/cx88-blackbird.c index 13b8cc46835b2cb5a84405cdb7fa21d35675f552..149f19f6cef27fe93483ca5ede8= 5757e90b973ec 100644 --- a/drivers/media/pci/cx88/cx88-blackbird.c +++ b/drivers/media/pci/cx88/cx88-blackbird.c @@ -787,7 +787,8 @@ static const struct vb2_ops blackbird_qops =3D { =20 /* ------------------------------------------------------------------ */ =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct cx8802_dev *dev =3D video_drvdata(file); @@ -797,7 +798,8 @@ static int vidioc_querycap(struct file *file, void *pr= iv, return cx88_querycap(file, core, cap); } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index !=3D 0) @@ -807,7 +809,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx8802_dev *dev =3D video_drvdata(file); @@ -823,7 +826,8 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx8802_dev *dev =3D video_drvdata(file); @@ -863,7 +867,8 @@ static int vidioc_try_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx8802_dev *dev =3D video_drvdata(file); @@ -874,7 +879,7 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void= *priv, if (core->v4ldev && (vb2_is_busy(&core->v4ldev->vb2_vidq) || vb2_is_busy(&core->v4ldev->vb2_vbiq))) return -EBUSY; - vidioc_try_fmt_vid_cap(file, priv, f); + vidioc_try_fmt_vid_cap(file, state, f); core->width =3D f->fmt.pix.width; core->height =3D f->fmt.pix.height; core->field =3D f->fmt.pix.field; @@ -885,7 +890,8 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct cx8802_dev *dev =3D video_drvdata(file); @@ -908,7 +914,8 @@ static int vidioc_s_frequency(struct file *file, void *= priv, return 0; } =20 -static int vidioc_log_status(struct file *file, void *priv) +static int vidioc_log_status(struct file *file, + struct video_device_state *state) { struct cx8802_dev *dev =3D video_drvdata(file); struct cx88_core *core =3D dev->core; @@ -920,7 +927,8 @@ static int vidioc_log_status(struct file *file, void *p= riv) return 0; } =20 -static int vidioc_enum_input(struct file *file, void *priv, +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct cx8802_dev *dev =3D video_drvdata(file); @@ -929,7 +937,8 @@ static int vidioc_enum_input(struct file *file, void *p= riv, return cx88_enum_input(core, i); } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct cx8802_dev *dev =3D video_drvdata(file); @@ -946,7 +955,8 @@ static int vidioc_g_frequency(struct file *file, void *= priv, return 0; } =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { struct cx8802_dev *dev =3D video_drvdata(file); struct cx88_core *core =3D dev->core; @@ -955,7 +965,8 @@ static int vidioc_g_input(struct file *file, void *priv= , unsigned int *i) return 0; } =20 -static int vidioc_s_input(struct file *file, void *priv, unsigned int i) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { struct cx8802_dev *dev =3D video_drvdata(file); struct cx88_core *core =3D dev->core; @@ -970,7 +981,8 @@ static int vidioc_s_input(struct file *file, void *priv= , unsigned int i) return 0; } =20 -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *t) { struct cx8802_dev *dev =3D video_drvdata(file); @@ -993,7 +1005,8 @@ static int vidioc_g_tuner(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *t) { struct cx8802_dev *dev =3D video_drvdata(file); @@ -1008,7 +1021,8 @@ static int vidioc_s_tuner(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *tvnorm) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *tvnorm) { struct cx8802_dev *dev =3D video_drvdata(file); struct cx88_core *core =3D dev->core; @@ -1017,7 +1031,8 @@ static int vidioc_g_std(struct file *file, void *priv= , v4l2_std_id *tvnorm) return 0; } =20 -static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id id) { struct cx8802_dev *dev =3D video_drvdata(file); struct cx88_core *core =3D dev->core; diff --git a/drivers/media/pci/cx88/cx88-vbi.c b/drivers/media/pci/cx88/cx8= 8-vbi.c index e3e379e6f6207b6ebf08327263d7087f5122d236..4d702acdfa75a8a95554d0b7f97= d11bd7a9d25c3 100644 --- a/drivers/media/pci/cx88/cx88-vbi.c +++ b/drivers/media/pci/cx88/cx88-vbi.c @@ -20,7 +20,7 @@ MODULE_PARM_DESC(vbi_debug, "enable debug messages [vbi]"= ); =20 /* ------------------------------------------------------------------ */ =20 -int cx8800_vbi_fmt(struct file *file, void *priv, +int cx8800_vbi_fmt(struct file *file, struct video_device_state *state, struct v4l2_format *f) { struct cx8800_dev *dev =3D video_drvdata(file); diff --git a/drivers/media/pci/cx88/cx88-video.c b/drivers/media/pci/cx88/c= x88-video.c index 0c87327689d3f669241bfc11ca07f7210f603a36..8288e2aa8d61f5826849856fd62= d0670f6e96509 100644 --- a/drivers/media/pci/cx88/cx88-video.c +++ b/drivers/media/pci/cx88/cx88-video.c @@ -701,7 +701,8 @@ static int cx8800_s_aud_ctrl(struct v4l2_ctrl *ctrl) /* ------------------------------------------------------------------ */ /* VIDEO IOCTLS */ =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx8800_dev *dev =3D video_drvdata(file); @@ -719,7 +720,8 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx8800_dev *dev =3D video_drvdata(file); @@ -765,12 +767,13 @@ static int vidioc_try_fmt_vid_cap(struct file *file, = void *priv, return 0; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx8800_dev *dev =3D video_drvdata(file); struct cx88_core *core =3D dev->core; - int err =3D vidioc_try_fmt_vid_cap(file, priv, f); + int err =3D vidioc_try_fmt_vid_cap(file, state, f); =20 if (err !=3D 0) return err; @@ -800,7 +803,8 @@ int cx88_querycap(struct file *file, struct cx88_core *= core, } EXPORT_SYMBOL(cx88_querycap); =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct cx8800_dev *dev =3D video_drvdata(file); @@ -810,7 +814,8 @@ static int vidioc_querycap(struct file *file, void *pr= iv, return cx88_querycap(file, core, cap); } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (unlikely(f->index >=3D ARRAY_SIZE(formats))) @@ -821,7 +826,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *tvnorm) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *tvnorm) { struct cx8800_dev *dev =3D video_drvdata(file); struct cx88_core *core =3D dev->core; @@ -830,7 +836,8 @@ static int vidioc_g_std(struct file *file, void *priv, = v4l2_std_id *tvnorm) return 0; } =20 -static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id tvnorms) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id tvnorms) { struct cx8800_dev *dev =3D video_drvdata(file); struct cx88_core *core =3D dev->core; @@ -869,7 +876,8 @@ int cx88_enum_input(struct cx88_core *core, struct v4l= 2_input *i) } EXPORT_SYMBOL(cx88_enum_input); =20 -static int vidioc_enum_input(struct file *file, void *priv, +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct cx8800_dev *dev =3D video_drvdata(file); @@ -878,7 +886,8 @@ static int vidioc_enum_input(struct file *file, void *p= riv, return cx88_enum_input(core, i); } =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { struct cx8800_dev *dev =3D video_drvdata(file); struct cx88_core *core =3D dev->core; @@ -887,7 +896,8 @@ static int vidioc_g_input(struct file *file, void *priv= , unsigned int *i) return 0; } =20 -static int vidioc_s_input(struct file *file, void *priv, unsigned int i) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { struct cx8800_dev *dev =3D video_drvdata(file); struct cx88_core *core =3D dev->core; @@ -902,7 +912,8 @@ static int vidioc_s_input(struct file *file, void *priv= , unsigned int i) return 0; } =20 -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *t) { struct cx8800_dev *dev =3D video_drvdata(file); @@ -925,7 +936,8 @@ static int vidioc_g_tuner(struct file *file, void *priv, return 0; } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *t) { struct cx8800_dev *dev =3D video_drvdata(file); @@ -940,7 +952,8 @@ static int vidioc_s_tuner(struct file *file, void *priv, return 0; } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct cx8800_dev *dev =3D video_drvdata(file); @@ -981,7 +994,8 @@ int cx88_set_freq(struct cx88_core *core, } EXPORT_SYMBOL(cx88_set_freq); =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct cx8800_dev *dev =3D video_drvdata(file); @@ -991,7 +1005,8 @@ static int vidioc_s_frequency(struct file *file, void = *priv, } =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -static int vidioc_g_register(struct file *file, void *fh, +static int vidioc_g_register(struct file *file, + struct video_device_state *state, struct v4l2_dbg_register *reg) { struct cx8800_dev *dev =3D video_drvdata(file); @@ -1003,7 +1018,8 @@ static int vidioc_g_register(struct file *file, void = *fh, return 0; } =20 -static int vidioc_s_register(struct file *file, void *fh, +static int vidioc_s_register(struct file *file, + struct video_device_state *state, const struct v4l2_dbg_register *reg) { struct cx8800_dev *dev =3D video_drvdata(file); @@ -1018,7 +1034,8 @@ static int vidioc_s_register(struct file *file, void = *fh, /* RADIO ESPECIFIC IOCTLS */ /* ----------------------------------------------------------- */ =20 -static int radio_g_tuner(struct file *file, void *priv, +static int radio_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *t) { struct cx8800_dev *dev =3D video_drvdata(file); @@ -1033,7 +1050,8 @@ static int radio_g_tuner(struct file *file, void *pri= v, return 0; } =20 -static int radio_s_tuner(struct file *file, void *priv, +static int radio_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *t) { struct cx8800_dev *dev =3D video_drvdata(file); diff --git a/drivers/media/pci/cx88/cx88.h b/drivers/media/pci/cx88/cx88.h index 2ff3226a52ec4de3b5f4b9f85cca9b8ac489a01f..80d0665063c95a0655d654a7f5d= c05f2fa3f531f 100644 --- a/drivers/media/pci/cx88/cx88.h +++ b/drivers/media/pci/cx88/cx88.h @@ -656,7 +656,7 @@ int cx88_stop_audio_dma(struct cx88_core *core); /* cx88-vbi.c */ =20 /* Can be used as g_vbi_fmt, try_vbi_fmt and s_vbi_fmt */ -int cx8800_vbi_fmt(struct file *file, void *priv, +int cx8800_vbi_fmt(struct file *file, struct video_device_state *state, struct v4l2_format *f); =20 void cx8800_stop_vbi_dma(struct cx8800_dev *dev); diff --git a/drivers/media/pci/dt3155/dt3155.c b/drivers/media/pci/dt3155/d= t3155.c index 7bddcbba4cf1ba2998afbfe1e961ad89a303f1c2..de7944006438cfc50b1489d6de7= a834c84a5b7bf 100644 --- a/drivers/media/pci/dt3155/dt3155.c +++ b/drivers/media/pci/dt3155/dt3155.c @@ -285,7 +285,8 @@ static const struct v4l2_file_operations dt3155_fops = =3D { .poll =3D vb2_fop_poll }; =20 -static int dt3155_querycap(struct file *filp, void *p, +static int dt3155_querycap(struct file *filp, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, DT3155_NAME, sizeof(cap->driver)); @@ -294,7 +295,8 @@ static int dt3155_querycap(struct file *filp, void *p, } =20 static int dt3155_enum_fmt_vid_cap(struct file *filp, - void *p, struct v4l2_fmtdesc *f) + struct video_device_state *state, + struct v4l2_fmtdesc *f) { if (f->index) return -EINVAL; @@ -302,7 +304,9 @@ static int dt3155_enum_fmt_vid_cap(struct file *filp, return 0; } =20 -static int dt3155_fmt_vid_cap(struct file *filp, void *p, struct v4l2_form= at *f) +static int dt3155_fmt_vid_cap(struct file *filp, + struct video_device_state *state, + struct v4l2_format *f) { struct dt3155_priv *pd =3D video_drvdata(filp); =20 @@ -316,7 +320,8 @@ static int dt3155_fmt_vid_cap(struct file *filp, void *= p, struct v4l2_format *f) return 0; } =20 -static int dt3155_g_std(struct file *filp, void *p, v4l2_std_id *norm) +static int dt3155_g_std(struct file *filp, struct video_device_state *stat= e, + v4l2_std_id *norm) { struct dt3155_priv *pd =3D video_drvdata(filp); =20 @@ -324,7 +329,8 @@ static int dt3155_g_std(struct file *filp, void *p, v4l= 2_std_id *norm) return 0; } =20 -static int dt3155_s_std(struct file *filp, void *p, v4l2_std_id norm) +static int dt3155_s_std(struct file *filp, struct video_device_state *stat= e, + v4l2_std_id norm) { struct dt3155_priv *pd =3D video_drvdata(filp); =20 @@ -345,7 +351,8 @@ static int dt3155_s_std(struct file *filp, void *p, v4l= 2_std_id norm) return 0; } =20 -static int dt3155_enum_input(struct file *filp, void *p, +static int dt3155_enum_input(struct file *filp, + struct video_device_state *state, struct v4l2_input *input) { if (input->index > 3) @@ -361,7 +368,8 @@ static int dt3155_enum_input(struct file *filp, void *p, return 0; } =20 -static int dt3155_g_input(struct file *filp, void *p, unsigned int *i) +static int dt3155_g_input(struct file *filp, struct video_device_state *st= ate, + unsigned int *i) { struct dt3155_priv *pd =3D video_drvdata(filp); =20 @@ -369,7 +377,8 @@ static int dt3155_g_input(struct file *filp, void *p, u= nsigned int *i) return 0; } =20 -static int dt3155_s_input(struct file *filp, void *p, unsigned int i) +static int dt3155_s_input(struct file *filp, struct video_device_state *st= ate, + unsigned int i) { struct dt3155_priv *pd =3D video_drvdata(filp); =20 diff --git a/drivers/media/pci/intel/ipu3/ipu3-cio2.c b/drivers/media/pci/i= ntel/ipu3/ipu3-cio2.c index a87f105beb5e267fd450b8a36ef9b0e0ecafc598..0cf3f0ffc9375dd93305d1ecfea= ea7c3c65407c6 100644 --- a/drivers/media/pci/intel/ipu3/ipu3-cio2.c +++ b/drivers/media/pci/intel/ipu3/ipu3-cio2.c @@ -1062,7 +1062,8 @@ static const struct vb2_ops cio2_vb2_ops =3D { =20 /**************** V4L2 interface ****************/ =20 -static int cio2_v4l2_querycap(struct file *file, void *fh, +static int cio2_v4l2_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, CIO2_NAME, sizeof(cap->driver)); @@ -1071,7 +1072,8 @@ static int cio2_v4l2_querycap(struct file *file, void= *fh, return 0; } =20 -static int cio2_v4l2_enum_fmt(struct file *file, void *fh, +static int cio2_v4l2_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index >=3D ARRAY_SIZE(formats)) @@ -1083,7 +1085,9 @@ static int cio2_v4l2_enum_fmt(struct file *file, void= *fh, } =20 /* The format is validated in cio2_video_link_validate() */ -static int cio2_v4l2_g_fmt(struct file *file, void *fh, struct v4l2_format= *f) +static int cio2_v4l2_g_fmt(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct cio2_queue *q =3D file_to_cio2_queue(file); =20 @@ -1092,7 +1096,9 @@ static int cio2_v4l2_g_fmt(struct file *file, void *f= h, struct v4l2_format *f) return 0; } =20 -static int cio2_v4l2_try_fmt(struct file *file, void *fh, struct v4l2_form= at *f) +static int cio2_v4l2_try_fmt(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { const struct ipu3_cio2_fmt *fmt; struct v4l2_pix_format_mplane *mpix =3D &f->fmt.pix_mp; @@ -1123,18 +1129,21 @@ static int cio2_v4l2_try_fmt(struct file *file, voi= d *fh, struct v4l2_format *f) return 0; } =20 -static int cio2_v4l2_s_fmt(struct file *file, void *fh, struct v4l2_format= *f) +static int cio2_v4l2_s_fmt(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct cio2_queue *q =3D file_to_cio2_queue(file); =20 - cio2_v4l2_try_fmt(file, fh, f); + cio2_v4l2_try_fmt(file, state, f); q->format =3D f->fmt.pix_mp; =20 return 0; } =20 static int -cio2_video_enum_input(struct file *file, void *fh, struct v4l2_input *inpu= t) +cio2_video_enum_input(struct file *file, struct video_device_state *state, + struct v4l2_input *input) { if (input->index > 0) return -EINVAL; @@ -1146,7 +1155,8 @@ cio2_video_enum_input(struct file *file, void *fh, st= ruct v4l2_input *input) } =20 static int -cio2_video_g_input(struct file *file, void *fh, unsigned int *input) +cio2_video_g_input(struct file *file, struct video_device_state *state, + unsigned int *input) { *input =3D 0; =20 @@ -1154,7 +1164,8 @@ cio2_video_g_input(struct file *file, void *fh, unsig= ned int *input) } =20 static int -cio2_video_s_input(struct file *file, void *fh, unsigned int input) +cio2_video_s_input(struct file *file, struct video_device_state *state, + unsigned int input) { return input =3D=3D 0 ? 0 : -EINVAL; } diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c b/drivers/media= /pci/intel/ipu6/ipu6-isys-video.c index f3f3bc0615e5dc698be5c479dfed8ef2eb49cbfb..21a61bd79274d172c9289bc144f= 2a92b19d256f9 100644 --- a/drivers/media/pci/intel/ipu6/ipu6-isys-video.c +++ b/drivers/media/pci/intel/ipu6/ipu6-isys-video.c @@ -139,7 +139,8 @@ ipu6_isys_get_isys_format(u32 pixelformat, u32 type) return default_pfmt; } =20 -static int ipu6_isys_vidioc_querycap(struct file *file, void *fh, +static int ipu6_isys_vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct ipu6_isys_video *av =3D video_drvdata(file); @@ -150,7 +151,8 @@ static int ipu6_isys_vidioc_querycap(struct file *file,= void *fh, return 0; } =20 -static int ipu6_isys_vidioc_enum_fmt(struct file *file, void *fh, +static int ipu6_isys_vidioc_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { unsigned int i, num_found; @@ -179,7 +181,8 @@ static int ipu6_isys_vidioc_enum_fmt(struct file *file,= void *fh, return -EINVAL; } =20 -static int ipu6_isys_vidioc_enum_framesizes(struct file *file, void *fh, +static int ipu6_isys_vidioc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { unsigned int i; @@ -205,7 +208,8 @@ static int ipu6_isys_vidioc_enum_framesizes(struct file= *file, void *fh, return -EINVAL; } =20 -static int ipu6_isys_vidioc_g_fmt_vid_cap(struct file *file, void *fh, +static int ipu6_isys_vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ipu6_isys_video *av =3D video_drvdata(file); @@ -215,7 +219,8 @@ static int ipu6_isys_vidioc_g_fmt_vid_cap(struct file *= file, void *fh, return 0; } =20 -static int ipu6_isys_vidioc_g_fmt_meta_cap(struct file *file, void *fh, +static int ipu6_isys_vidioc_g_fmt_meta_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ipu6_isys_video *av =3D video_drvdata(file); @@ -271,7 +276,8 @@ static void __ipu6_isys_vidioc_try_fmt_vid_cap(struct i= pu6_isys_video *av, f->fmt.pix.xfer_func =3D V4L2_XFER_FUNC_DEFAULT; } =20 -static int ipu6_isys_vidioc_try_fmt_vid_cap(struct file *file, void *fh, +static int ipu6_isys_vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ipu6_isys_video *av =3D video_drvdata(file); @@ -295,7 +301,8 @@ static int __ipu6_isys_vidioc_try_fmt_meta_cap(struct i= pu6_isys_video *av, return 0; } =20 -static int ipu6_isys_vidioc_try_fmt_meta_cap(struct file *file, void *fh, +static int ipu6_isys_vidioc_try_fmt_meta_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ipu6_isys_video *av =3D video_drvdata(file); @@ -305,18 +312,20 @@ static int ipu6_isys_vidioc_try_fmt_meta_cap(struct f= ile *file, void *fh, return 0; } =20 -static int ipu6_isys_vidioc_s_fmt_vid_cap(struct file *file, void *fh, +static int ipu6_isys_vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ipu6_isys_video *av =3D video_drvdata(file); =20 - ipu6_isys_vidioc_try_fmt_vid_cap(file, fh, f); + ipu6_isys_vidioc_try_fmt_vid_cap(file, state, f); av->pix_fmt =3D f->fmt.pix; =20 return 0; } =20 -static int ipu6_isys_vidioc_s_fmt_meta_cap(struct file *file, void *fh, +static int ipu6_isys_vidioc_s_fmt_meta_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ipu6_isys_video *av =3D video_drvdata(file); @@ -324,13 +333,14 @@ static int ipu6_isys_vidioc_s_fmt_meta_cap(struct fil= e *file, void *fh, if (vb2_is_busy(&av->aq.vbq)) return -EBUSY; =20 - ipu6_isys_vidioc_try_fmt_meta_cap(file, fh, f); + ipu6_isys_vidioc_try_fmt_meta_cap(file, state, f); av->meta_fmt =3D f->fmt.meta; =20 return 0; } =20 -static int ipu6_isys_vidioc_reqbufs(struct file *file, void *priv, +static int ipu6_isys_vidioc_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *p) { struct ipu6_isys_video *av =3D video_drvdata(file); @@ -343,10 +353,11 @@ static int ipu6_isys_vidioc_reqbufs(struct file *file= , void *priv, if (ret) return ret; =20 - return vb2_ioctl_reqbufs(file, priv, p); + return vb2_ioctl_reqbufs(file, state, p); } =20 -static int ipu6_isys_vidioc_create_bufs(struct file *file, void *priv, +static int ipu6_isys_vidioc_create_bufs(struct file *file, + struct video_device_state *state, struct v4l2_create_buffers *p) { struct ipu6_isys_video *av =3D video_drvdata(file); @@ -359,7 +370,7 @@ static int ipu6_isys_vidioc_create_bufs(struct file *fi= le, void *priv, if (ret) return ret; =20 - return vb2_ioctl_create_bufs(file, priv, p); + return vb2_ioctl_create_bufs(file, state, p); } =20 static int link_validate(struct media_link *link) diff --git a/drivers/media/pci/ivtv/ivtv-driver.c b/drivers/media/pci/ivtv/= ivtv-driver.c index 72a8f76a41f45091fdd4fe0335ecb828d555eb9c..a2016cbdb896df066158a2f85db= 8c8964cb95328 100644 --- a/drivers/media/pci/ivtv/ivtv-driver.c +++ b/drivers/media/pci/ivtv/ivtv-driver.c @@ -1249,13 +1249,9 @@ int ivtv_init_on_first_open(struct ivtv *itv) { struct v4l2_frequency vf; /* Needed to call ioctls later */ - struct ivtv_open_id fh; int fw_retry_count =3D 3; int video_input; =20 - fh.itv =3D itv; - fh.type =3D IVTV_ENC_STREAM_TYPE_MPG; - if (test_bit(IVTV_F_I_FAILED, &itv->i_flags)) return -ENXIO; =20 @@ -1297,13 +1293,13 @@ int ivtv_init_on_first_open(struct ivtv *itv) =20 video_input =3D itv->active_input; itv->active_input++; /* Force update of input */ - ivtv_s_input(NULL, &fh, video_input); + ivtv_s_input(NULL, NULL, video_input); =20 /* Let the VIDIOC_S_STD ioctl do all the work, keeps the code in one place. */ itv->std++; /* Force full standard initialization */ itv->std_out =3D itv->std; - ivtv_s_frequency(NULL, &fh, &vf); + ivtv_s_frequency(NULL, NULL, &vf); =20 if (itv->card->v4l2_capabilities & V4L2_CAP_VIDEO_OUTPUT) { /* Turn on the TV-out: ivtv_init_mpeg_decoder() initializes diff --git a/drivers/media/pci/ivtv/ivtv-ioctl.c b/drivers/media/pci/ivtv/i= vtv-ioctl.c index 84c73bd22f2daf405ba5ef98894b98d40e5c7cf2..f529f0c963686b733dfabf1e44b= 1359925cdb1ee 100644 --- a/drivers/media/pci/ivtv/ivtv-ioctl.c +++ b/drivers/media/pci/ivtv/ivtv-ioctl.c @@ -306,7 +306,9 @@ static int ivtv_video_command(struct ivtv *itv, struct = ivtv_open_id *id, return 0; } =20 -static int ivtv_g_fmt_sliced_vbi_out(struct file *file, void *fh, struct v= 4l2_format *fmt) +static int ivtv_g_fmt_sliced_vbi_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct ivtv *itv =3D file2id(file)->itv; struct v4l2_sliced_vbi_format *vbifmt =3D &fmt->fmt.sliced; @@ -328,7 +330,9 @@ static int ivtv_g_fmt_sliced_vbi_out(struct file *file,= void *fh, struct v4l2_fo return 0; } =20 -static int ivtv_g_fmt_vid_cap(struct file *file, void *fh, struct v4l2_for= mat *fmt) +static int ivtv_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; @@ -351,7 +355,9 @@ static int ivtv_g_fmt_vid_cap(struct file *file, void *= fh, struct v4l2_format *f return 0; } =20 -static int ivtv_g_fmt_vbi_cap(struct file *file, void *fh, struct v4l2_for= mat *fmt) +static int ivtv_g_fmt_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct ivtv *itv =3D file2id(file)->itv; struct v4l2_vbi_format *vbifmt =3D &fmt->fmt.vbi; @@ -369,7 +375,9 @@ static int ivtv_g_fmt_vbi_cap(struct file *file, void *= fh, struct v4l2_format *f return 0; } =20 -static int ivtv_g_fmt_sliced_vbi_cap(struct file *file, void *fh, struct v= 4l2_format *fmt) +static int ivtv_g_fmt_sliced_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct v4l2_sliced_vbi_format *vbifmt =3D &fmt->fmt.sliced; struct ivtv_open_id *id =3D file2id(file); @@ -392,7 +400,9 @@ static int ivtv_g_fmt_sliced_vbi_cap(struct file *file,= void *fh, struct v4l2_fo return 0; } =20 -static int ivtv_g_fmt_vid_out(struct file *file, void *fh, struct v4l2_for= mat *fmt) +static int ivtv_g_fmt_vid_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; @@ -432,7 +442,9 @@ static int ivtv_g_fmt_vid_out(struct file *file, void *= fh, struct v4l2_format *f return 0; } =20 -static int ivtv_g_fmt_vid_out_overlay(struct file *file, void *fh, struct = v4l2_format *fmt) +static int ivtv_g_fmt_vid_out_overlay(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct ivtv *itv =3D file2id(file)->itv; struct ivtv_stream *s =3D &itv->streams[file2id(file)->type]; @@ -454,12 +466,16 @@ static int ivtv_g_fmt_vid_out_overlay(struct file *fi= le, void *fh, struct v4l2_f return 0; } =20 -static int ivtv_try_fmt_sliced_vbi_out(struct file *file, void *fh, struct= v4l2_format *fmt) +static int ivtv_try_fmt_sliced_vbi_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { - return ivtv_g_fmt_sliced_vbi_out(file, fh, fmt); + return ivtv_g_fmt_sliced_vbi_out(file, state, fmt); } =20 -static int ivtv_try_fmt_vid_cap(struct file *file, void *fh, struct v4l2_f= ormat *fmt) +static int ivtv_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; @@ -476,25 +492,29 @@ static int ivtv_try_fmt_vid_cap(struct file *file, vo= id *fh, struct v4l2_format } h =3D min(h, itv->is_50hz ? 576 : 480); h =3D max(h, min_h); - ivtv_g_fmt_vid_cap(file, fh, fmt); + ivtv_g_fmt_vid_cap(file, state, fmt); fmt->fmt.pix.width =3D w; fmt->fmt.pix.height =3D h; return 0; } =20 -static int ivtv_try_fmt_vbi_cap(struct file *file, void *fh, struct v4l2_f= ormat *fmt) +static int ivtv_try_fmt_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { - return ivtv_g_fmt_vbi_cap(file, fh, fmt); + return ivtv_g_fmt_vbi_cap(file, state, fmt); } =20 -static int ivtv_try_fmt_sliced_vbi_cap(struct file *file, void *fh, struct= v4l2_format *fmt) +static int ivtv_try_fmt_sliced_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct v4l2_sliced_vbi_format *vbifmt =3D &fmt->fmt.sliced; struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; =20 if (id->type =3D=3D IVTV_DEC_STREAM_TYPE_VBI) - return ivtv_g_fmt_sliced_vbi_cap(file, fh, fmt); + return ivtv_g_fmt_sliced_vbi_cap(file, state, fmt); =20 /* set sliced VBI capture format */ vbifmt->io_size =3D sizeof(struct v4l2_sliced_vbi_data) * 36; @@ -508,13 +528,15 @@ static int ivtv_try_fmt_sliced_vbi_cap(struct file *f= ile, void *fh, struct v4l2_ return 0; } =20 -static int ivtv_try_fmt_vid_out(struct file *file, void *fh, struct v4l2_f= ormat *fmt) +static int ivtv_try_fmt_vid_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct ivtv_open_id *id =3D file2id(file); s32 w =3D fmt->fmt.pix.width; s32 h =3D fmt->fmt.pix.height; int field =3D fmt->fmt.pix.field; - int ret =3D ivtv_g_fmt_vid_out(file, fh, fmt); + int ret =3D ivtv_g_fmt_vid_out(file, state, fmt); =20 w =3D min(w, 720); w =3D max(w, 2); @@ -542,7 +564,9 @@ static int ivtv_try_fmt_vid_out(struct file *file, void= *fh, struct v4l2_format return ret; } =20 -static int ivtv_try_fmt_vid_out_overlay(struct file *file, void *fh, struc= t v4l2_format *fmt) +static int ivtv_try_fmt_vid_out_overlay(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct ivtv *itv =3D file2id(file)->itv; struct ivtv_stream *s =3D &itv->streams[file2id(file)->type]; @@ -553,25 +577,29 @@ static int ivtv_try_fmt_vid_out_overlay(struct file *= file, void *fh, struct v4l2 return -EINVAL; if (!itv->osd_video_pbase) return -EINVAL; - ivtv_g_fmt_vid_out_overlay(file, fh, fmt); + ivtv_g_fmt_vid_out_overlay(file, state, fmt); fmt->fmt.win.chromakey =3D chromakey; fmt->fmt.win.global_alpha =3D global_alpha; return 0; } =20 -static int ivtv_s_fmt_sliced_vbi_out(struct file *file, void *fh, struct v= 4l2_format *fmt) +static int ivtv_s_fmt_sliced_vbi_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { - return ivtv_g_fmt_sliced_vbi_out(file, fh, fmt); + return ivtv_g_fmt_sliced_vbi_out(file, state, fmt); } =20 -static int ivtv_s_fmt_vid_cap(struct file *file, void *fh, struct v4l2_for= mat *fmt) +static int ivtv_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; struct v4l2_subdev_format format =3D { .which =3D V4L2_SUBDEV_FORMAT_ACTIVE, }; - int ret =3D ivtv_try_fmt_vid_cap(file, fh, fmt); + int ret =3D ivtv_try_fmt_vid_cap(file, state, fmt); int w =3D fmt->fmt.pix.width; int h =3D fmt->fmt.pix.height; =20 @@ -592,10 +620,12 @@ static int ivtv_s_fmt_vid_cap(struct file *file, void= *fh, struct v4l2_format *f format.format.height =3D h; format.format.code =3D MEDIA_BUS_FMT_FIXED; v4l2_subdev_call(itv->sd_video, pad, set_fmt, NULL, &format); - return ivtv_g_fmt_vid_cap(file, fh, fmt); + return ivtv_g_fmt_vid_cap(file, state, fmt); } =20 -static int ivtv_s_fmt_vbi_cap(struct file *file, void *fh, struct v4l2_for= mat *fmt) +static int ivtv_s_fmt_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -604,15 +634,17 @@ static int ivtv_s_fmt_vbi_cap(struct file *file, void= *fh, struct v4l2_format *f itv->vbi.sliced_in->service_set =3D 0; itv->vbi.in.type =3D V4L2_BUF_TYPE_VBI_CAPTURE; v4l2_subdev_call(itv->sd_video, vbi, s_raw_fmt, &fmt->fmt.vbi); - return ivtv_g_fmt_vbi_cap(file, fh, fmt); + return ivtv_g_fmt_vbi_cap(file, state, fmt); } =20 -static int ivtv_s_fmt_sliced_vbi_cap(struct file *file, void *fh, struct v= 4l2_format *fmt) +static int ivtv_s_fmt_sliced_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct v4l2_sliced_vbi_format *vbifmt =3D &fmt->fmt.sliced; struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; - int ret =3D ivtv_try_fmt_sliced_vbi_cap(file, fh, fmt); + int ret =3D ivtv_try_fmt_sliced_vbi_cap(file, state, fmt); =20 if (ret || id->type =3D=3D IVTV_DEC_STREAM_TYPE_VBI) return ret; @@ -626,12 +658,14 @@ static int ivtv_s_fmt_sliced_vbi_cap(struct file *fil= e, void *fh, struct v4l2_fo return 0; } =20 -static int ivtv_s_fmt_vid_out(struct file *file, void *fh, struct v4l2_for= mat *fmt) +static int ivtv_s_fmt_vid_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; struct yuv_playback_info *yi =3D &itv->yuv_info; - int ret =3D ivtv_try_fmt_vid_out(file, fh, fmt); + int ret =3D ivtv_try_fmt_vid_out(file, state, fmt); =20 if (ret) return ret; @@ -671,10 +705,12 @@ static int ivtv_s_fmt_vid_out(struct file *file, void= *fh, struct v4l2_format *f return 0; } =20 -static int ivtv_s_fmt_vid_out_overlay(struct file *file, void *fh, struct = v4l2_format *fmt) +static int ivtv_s_fmt_vid_out_overlay(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct ivtv *itv =3D file2id(file)->itv; - int ret =3D ivtv_try_fmt_vid_out_overlay(file, fh, fmt); + int ret =3D ivtv_try_fmt_vid_out_overlay(file, state, fmt); =20 if (ret =3D=3D 0) { itv->osd_chroma_key =3D fmt->fmt.win.chromakey; @@ -708,7 +744,9 @@ static int ivtv_itvc(struct ivtv *itv, bool get, u64 re= g, u64 *val) return 0; } =20 -static int ivtv_g_register(struct file *file, void *fh, struct v4l2_dbg_re= gister *reg) +static int ivtv_g_register(struct file *file, + struct video_device_state *state, + struct v4l2_dbg_register *reg) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -716,7 +754,9 @@ static int ivtv_g_register(struct file *file, void *fh,= struct v4l2_dbg_register return ivtv_itvc(itv, true, reg->reg, ®->val); } =20 -static int ivtv_s_register(struct file *file, void *fh, const struct v4l2_= dbg_register *reg) +static int ivtv_s_register(struct file *file, + struct video_device_state *state, + const struct v4l2_dbg_register *reg) { struct ivtv *itv =3D file2id(file)->itv; u64 val =3D reg->val; @@ -725,7 +765,8 @@ static int ivtv_s_register(struct file *file, void *fh,= const struct v4l2_dbg_re } #endif =20 -static int ivtv_querycap(struct file *file, void *fh, struct v4l2_capabili= ty *vcap) +static int ivtv_querycap(struct file *file, struct video_device_state *sta= te, + struct v4l2_capability *vcap) { struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; @@ -736,14 +777,16 @@ static int ivtv_querycap(struct file *file, void *fh,= struct v4l2_capability *vc return 0; } =20 -static int ivtv_enumaudio(struct file *file, void *fh, struct v4l2_audio *= vin) +static int ivtv_enumaudio(struct file *file, struct video_device_state *st= ate, + struct v4l2_audio *vin) { struct ivtv *itv =3D file2id(file)->itv; =20 return ivtv_get_audio_input(itv, vin->index, vin); } =20 -static int ivtv_g_audio(struct file *file, void *fh, struct v4l2_audio *vi= n) +static int ivtv_g_audio(struct file *file, struct video_device_state *stat= e, + struct v4l2_audio *vin) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -751,7 +794,8 @@ static int ivtv_g_audio(struct file *file, void *fh, st= ruct v4l2_audio *vin) return ivtv_get_audio_input(itv, vin->index, vin); } =20 -static int ivtv_s_audio(struct file *file, void *fh, const struct v4l2_aud= io *vout) +static int ivtv_s_audio(struct file *file, struct video_device_state *stat= e, + const struct v4l2_audio *vout) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -764,7 +808,9 @@ static int ivtv_s_audio(struct file *file, void *fh, co= nst struct v4l2_audio *vo return 0; } =20 -static int ivtv_enumaudout(struct file *file, void *fh, struct v4l2_audioo= ut *vin) +static int ivtv_enumaudout(struct file *file, + struct video_device_state *state, + struct v4l2_audioout *vin) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -772,7 +818,8 @@ static int ivtv_enumaudout(struct file *file, void *fh,= struct v4l2_audioout *vi return ivtv_get_audio_output(itv, vin->index, vin); } =20 -static int ivtv_g_audout(struct file *file, void *fh, struct v4l2_audioout= *vin) +static int ivtv_g_audout(struct file *file, struct video_device_state *sta= te, + struct v4l2_audioout *vin) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -780,7 +827,8 @@ static int ivtv_g_audout(struct file *file, void *fh, s= truct v4l2_audioout *vin) return ivtv_get_audio_output(itv, vin->index, vin); } =20 -static int ivtv_s_audout(struct file *file, void *fh, const struct v4l2_au= dioout *vout) +static int ivtv_s_audout(struct file *file, struct video_device_state *sta= te, + const struct v4l2_audioout *vout) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -789,7 +837,9 @@ static int ivtv_s_audout(struct file *file, void *fh, c= onst struct v4l2_audioout return 0; } =20 -static int ivtv_enum_input(struct file *file, void *fh, struct v4l2_input = *vin) +static int ivtv_enum_input(struct file *file, + struct video_device_state *state, + struct v4l2_input *vin) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -797,15 +847,18 @@ static int ivtv_enum_input(struct file *file, void *f= h, struct v4l2_input *vin) return ivtv_get_input(itv, vin->index, vin); } =20 -static int ivtv_enum_output(struct file *file, void *fh, struct v4l2_outpu= t *vout) +static int ivtv_enum_output(struct file *file, + struct video_device_state *state, + struct v4l2_output *vout) { struct ivtv *itv =3D file2id(file)->itv; =20 return ivtv_get_output(itv, vout->index, vout); } =20 -static int ivtv_g_pixelaspect(struct file *file, void *fh, - int type, struct v4l2_fract *f) +static int ivtv_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f) { struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; @@ -822,7 +875,8 @@ static int ivtv_g_pixelaspect(struct file *file, void *= fh, return 0; } =20 -static int ivtv_s_selection(struct file *file, void *fh, +static int ivtv_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct ivtv_open_id *id =3D file2id(file); @@ -865,7 +919,8 @@ static int ivtv_s_selection(struct file *file, void *fh, return -EINVAL; } =20 -static int ivtv_g_selection(struct file *file, void *fh, +static int ivtv_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct ivtv_open_id *id =3D file2id(file); @@ -911,7 +966,9 @@ static int ivtv_g_selection(struct file *file, void *fh, return -EINVAL; } =20 -static int ivtv_enum_fmt_vid_cap(struct file *file, void *fh, struct v4l2_= fmtdesc *fmt) +static int ivtv_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *fmt) { static const struct v4l2_fmtdesc hm12 =3D { .type =3D V4L2_BUF_TYPE_VIDEO_CAPTURE, @@ -938,7 +995,9 @@ static int ivtv_enum_fmt_vid_cap(struct file *file, voi= d *fh, struct v4l2_fmtdes return 0; } =20 -static int ivtv_enum_fmt_vid_out(struct file *file, void *fh, struct v4l2_= fmtdesc *fmt) +static int ivtv_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *fmt) { static const struct v4l2_fmtdesc hm12 =3D { .type =3D V4L2_BUF_TYPE_VIDEO_OUTPUT, @@ -965,7 +1024,8 @@ static int ivtv_enum_fmt_vid_out(struct file *file, vo= id *fh, struct v4l2_fmtdes return 0; } =20 -static int ivtv_g_input(struct file *file, void *fh, unsigned int *i) +static int ivtv_g_input(struct file *file, struct video_device_state *stat= e, + unsigned int *i) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -974,7 +1034,8 @@ static int ivtv_g_input(struct file *file, void *fh, u= nsigned int *i) return 0; } =20 -int ivtv_s_input(struct file *file, void *fh, unsigned int inp) +int ivtv_s_input(struct file *file, struct video_device_state *state, + unsigned int inp) { struct ivtv *itv =3D file2id(file)->itv; v4l2_std_id std; @@ -1017,7 +1078,8 @@ int ivtv_s_input(struct file *file, void *fh, unsigne= d int inp) return 0; } =20 -static int ivtv_g_output(struct file *file, void *fh, unsigned int *i) +static int ivtv_g_output(struct file *file, struct video_device_state *sta= te, + unsigned int *i) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -1029,7 +1091,8 @@ static int ivtv_g_output(struct file *file, void *fh,= unsigned int *i) return 0; } =20 -static int ivtv_s_output(struct file *file, void *fh, unsigned int outp) +static int ivtv_s_output(struct file *file, struct video_device_state *sta= te, + unsigned int outp) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -1051,7 +1114,9 @@ static int ivtv_s_output(struct file *file, void *fh,= unsigned int outp) return 0; } =20 -static int ivtv_g_frequency(struct file *file, void *fh, struct v4l2_frequ= ency *vf) +static int ivtv_g_frequency(struct file *file, + struct video_device_state *state, + struct v4l2_frequency *vf) { struct ivtv *itv =3D file2id(file)->itv; struct ivtv_stream *s =3D &itv->streams[file2id(file)->type]; @@ -1065,7 +1130,8 @@ static int ivtv_g_frequency(struct file *file, void *= fh, struct v4l2_frequency * return 0; } =20 -int ivtv_s_frequency(struct file *file, void *fh, const struct v4l2_freque= ncy *vf) +int ivtv_s_frequency(struct file *file, struct video_device_state *state, + const struct v4l2_frequency *vf) { struct ivtv *itv =3D file2id(file)->itv; struct ivtv_stream *s =3D &itv->streams[file2id(file)->type]; @@ -1082,7 +1148,8 @@ int ivtv_s_frequency(struct file *file, void *fh, con= st struct v4l2_frequency *v return 0; } =20 -static int ivtv_g_std(struct file *file, void *fh, v4l2_std_id *std) +static int ivtv_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *std) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -1155,7 +1222,8 @@ void ivtv_s_std_dec(struct ivtv *itv, v4l2_std_id std) } } =20 -static int ivtv_s_std(struct file *file, void *fh, v4l2_std_id std) +static int ivtv_s_std(struct file *file, struct video_device_state *state, + v4l2_std_id std) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -1183,7 +1251,8 @@ static int ivtv_s_std(struct file *file, void *fh, v4= l2_std_id std) return 0; } =20 -static int ivtv_s_tuner(struct file *file, void *fh, const struct v4l2_tun= er *vt) +static int ivtv_s_tuner(struct file *file, struct video_device_state *stat= e, + const struct v4l2_tuner *vt) { struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; @@ -1196,7 +1265,8 @@ static int ivtv_s_tuner(struct file *file, void *fh, = const struct v4l2_tuner *vt return 0; } =20 -static int ivtv_g_tuner(struct file *file, void *fh, struct v4l2_tuner *vt) +static int ivtv_g_tuner(struct file *file, struct video_device_state *stat= e, + struct v4l2_tuner *vt) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -1212,7 +1282,9 @@ static int ivtv_g_tuner(struct file *file, void *fh, = struct v4l2_tuner *vt) return 0; } =20 -static int ivtv_g_sliced_vbi_cap(struct file *file, void *fh, struct v4l2_= sliced_vbi_cap *cap) +static int ivtv_g_sliced_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_sliced_vbi_cap *cap) { struct ivtv *itv =3D file2id(file)->itv; int set =3D itv->is_50hz ? V4L2_SLICED_VBI_625 : V4L2_SLICED_VBI_525; @@ -1247,7 +1319,9 @@ static int ivtv_g_sliced_vbi_cap(struct file *file, v= oid *fh, struct v4l2_sliced return 0; } =20 -static int ivtv_g_enc_index(struct file *file, void *fh, struct v4l2_enc_i= dx *idx) +static int ivtv_g_enc_index(struct file *file, + struct video_device_state *state, + struct v4l2_enc_idx *idx) { struct ivtv *itv =3D file2id(file)->itv; struct v4l2_enc_idx_entry *e =3D idx->entry; @@ -1273,7 +1347,9 @@ static int ivtv_g_enc_index(struct file *file, void *= fh, struct v4l2_enc_idx *id return 0; } =20 -static int ivtv_encoder_cmd(struct file *file, void *fh, struct v4l2_encod= er_cmd *enc) +static int ivtv_encoder_cmd(struct file *file, + struct video_device_state *state, + struct v4l2_encoder_cmd *enc) { struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; @@ -1325,7 +1401,9 @@ static int ivtv_encoder_cmd(struct file *file, void *= fh, struct v4l2_encoder_cmd return 0; } =20 -static int ivtv_try_encoder_cmd(struct file *file, void *fh, struct v4l2_e= ncoder_cmd *enc) +static int ivtv_try_encoder_cmd(struct file *file, + struct video_device_state *state, + struct v4l2_encoder_cmd *enc) { struct ivtv *itv =3D file2id(file)->itv; =20 @@ -1355,7 +1433,8 @@ static int ivtv_try_encoder_cmd(struct file *file, vo= id *fh, struct v4l2_encoder } } =20 -static int ivtv_g_fbuf(struct file *file, void *fh, struct v4l2_framebuffe= r *fb) +static int ivtv_g_fbuf(struct file *file, struct video_device_state *state, + struct v4l2_framebuffer *fb) { struct ivtv *itv =3D file2id(file)->itv; struct ivtv_stream *s =3D &itv->streams[file2id(file)->type]; @@ -1442,7 +1521,8 @@ static int ivtv_g_fbuf(struct file *file, void *fh, s= truct v4l2_framebuffer *fb) return 0; } =20 -static int ivtv_s_fbuf(struct file *file, void *fh, const struct v4l2_fram= ebuffer *fb) +static int ivtv_s_fbuf(struct file *file, struct video_device_state *state, + const struct v4l2_framebuffer *fb) { struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; @@ -1463,7 +1543,8 @@ static int ivtv_s_fbuf(struct file *file, void *fh, c= onst struct v4l2_framebuffe return 0; } =20 -static int ivtv_overlay(struct file *file, void *fh, unsigned int on) +static int ivtv_overlay(struct file *file, struct video_device_state *stat= e, + unsigned int on) { struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; @@ -1490,7 +1571,8 @@ static int ivtv_subscribe_event(struct v4l2_fh *fh, c= onst struct v4l2_event_subs } } =20 -static int ivtv_log_status(struct file *file, void *fh) +static int ivtv_log_status(struct file *file, + struct video_device_state *state) { struct ivtv *itv =3D file2id(file)->itv; u32 data[CX2341X_MBOX_MAX_DATA]; @@ -1582,7 +1664,9 @@ static int ivtv_log_status(struct file *file, void *f= h) return 0; } =20 -static int ivtv_decoder_cmd(struct file *file, void *fh, struct v4l2_decod= er_cmd *dec) +static int ivtv_decoder_cmd(struct file *file, + struct video_device_state *state, + struct v4l2_decoder_cmd *dec) { struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; @@ -1591,7 +1675,9 @@ static int ivtv_decoder_cmd(struct file *file, void *= fh, struct v4l2_decoder_cmd return ivtv_video_command(itv, id, dec, false); } =20 -static int ivtv_try_decoder_cmd(struct file *file, void *fh, struct v4l2_d= ecoder_cmd *dec) +static int ivtv_try_decoder_cmd(struct file *file, + struct video_device_state *state, + struct v4l2_decoder_cmd *dec) { struct ivtv_open_id *id =3D file2id(file); struct ivtv *itv =3D id->itv; @@ -1642,7 +1728,8 @@ static int ivtv_decoder_ioctls(struct file *filp, uns= igned int cmd, void *arg) return 0; } =20 -static long ivtv_default(struct file *file, void *fh, bool valid_prio, +static long ivtv_default(struct file *file, struct video_device_state *sta= te, + bool valid_prio, unsigned int cmd, void *arg) { struct ivtv *itv =3D file2id(file)->itv; diff --git a/drivers/media/pci/ivtv/ivtv-ioctl.h b/drivers/media/pci/ivtv/i= vtv-ioctl.h index 7f8c6f43d397f050a8116429db7a9a7accc0336b..59adcae0c2f39020b73f1100c0a= 6ae7051b528a8 100644 --- a/drivers/media/pci/ivtv/ivtv-ioctl.h +++ b/drivers/media/pci/ivtv/ivtv-ioctl.h @@ -17,7 +17,9 @@ int ivtv_set_speed(struct ivtv *itv, int speed); void ivtv_set_funcs(struct video_device *vdev); void ivtv_s_std_enc(struct ivtv *itv, v4l2_std_id std); void ivtv_s_std_dec(struct ivtv *itv, v4l2_std_id std); -int ivtv_s_frequency(struct file *file, void *fh, const struct v4l2_freque= ncy *vf); -int ivtv_s_input(struct file *file, void *fh, unsigned int inp); +int ivtv_s_frequency(struct file *file, struct video_device_state *state, + const struct v4l2_frequency *vf); +int ivtv_s_input(struct file *file, struct video_device_state *state, + unsigned int inp); =20 #endif diff --git a/drivers/media/pci/mgb4/mgb4_vin.c b/drivers/media/pci/mgb4/mgb= 4_vin.c index 42c327bc50e10af249288d2dbd77efd311abfdbd..0dbc464e96dbbdd6aa9eaf3d4be= 1c31c396473ef 100644 --- a/drivers/media/pci/mgb4/mgb4_vin.c +++ b/drivers/media/pci/mgb4/mgb4_vin.c @@ -346,7 +346,8 @@ static const struct v4l2_file_operations video_fops =3D= { .poll =3D vb2_fop_poll, }; =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, KBUILD_MODNAME, sizeof(cap->driver)); @@ -355,7 +356,8 @@ static int vidioc_querycap(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_enum_fmt(struct file *file, void *priv, +static int vidioc_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct mgb4_vin_dev *vindev =3D video_drvdata(file); @@ -372,7 +374,8 @@ static int vidioc_enum_fmt(struct file *file, void *pri= v, } } =20 -static int vidioc_enum_frameintervals(struct file *file, void *priv, +static int vidioc_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *ival) { struct mgb4_vin_dev *vindev =3D video_drvdata(file); @@ -398,7 +401,8 @@ static int vidioc_enum_frameintervals(struct file *file= , void *priv, return 0; } =20 -static int vidioc_g_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_g_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct mgb4_vin_dev *vindev =3D video_drvdata(file); struct mgb4_regs *video =3D &vindev->mgbdev->video; @@ -429,7 +433,8 @@ static int vidioc_g_fmt(struct file *file, void *priv, = struct v4l2_format *f) return 0; } =20 -static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_forma= t *f) +static int vidioc_try_fmt(struct file *file, struct video_device_state *st= ate, + struct v4l2_format *f) { struct mgb4_vin_dev *vindev =3D video_drvdata(file); struct mgb4_regs *video =3D &vindev->mgbdev->video; @@ -461,7 +466,8 @@ static int vidioc_try_fmt(struct file *file, void *priv= , struct v4l2_format *f) return 0; } =20 -static int vidioc_s_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_s_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct mgb4_vin_dev *vindev =3D video_drvdata(file); struct mgb4_regs *video =3D &vindev->mgbdev->video; @@ -470,7 +476,7 @@ static int vidioc_s_fmt(struct file *file, void *priv, = struct v4l2_format *f) if (vb2_is_busy(&vindev->queue)) return -EBUSY; =20 - vidioc_try_fmt(file, priv, f); + vidioc_try_fmt(file, state, f); =20 config =3D mgb4_read_reg(video, vindev->config->regs.config); if (f->fmt.pix.pixelformat =3D=3D V4L2_PIX_FMT_YUYV) { @@ -499,7 +505,8 @@ static int vidioc_s_fmt(struct file *file, void *priv, = struct v4l2_format *f) return 0; } =20 -static int vidioc_enum_input(struct file *file, void *priv, +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct mgb4_vin_dev *vindev =3D video_drvdata(file); @@ -523,7 +530,8 @@ static int vidioc_enum_input(struct file *file, void *p= riv, return 0; } =20 -static int vidioc_enum_framesizes(struct file *file, void *fh, +static int vidioc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct mgb4_vin_dev *vindev =3D video_drvdata(file); @@ -539,18 +547,21 @@ static int vidioc_enum_framesizes(struct file *file, = void *fh, return 0; } =20 -static int vidioc_s_input(struct file *file, void *priv, unsigned int i) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { return (i =3D=3D 0) ? 0 : -EINVAL; } =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { *i =3D 0; return 0; } =20 -static int vidioc_g_parm(struct file *file, void *priv, +static int vidioc_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct mgb4_vin_dev *vindev =3D video_drvdata(file); @@ -576,7 +587,8 @@ static int vidioc_g_parm(struct file *file, void *priv, return 0; } =20 -static int vidioc_s_parm(struct file *file, void *priv, +static int vidioc_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct mgb4_vin_dev *vindev =3D video_drvdata(file); @@ -597,10 +609,11 @@ static int vidioc_s_parm(struct file *file, void *pri= v, mgb4_write_reg(video, vindev->config->regs.timer, timer); } =20 - return vidioc_g_parm(file, priv, parm); + return vidioc_g_parm(file, state, parm); } =20 -static int vidioc_s_dv_timings(struct file *file, void *fh, +static int vidioc_s_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct mgb4_vin_dev *vindev =3D video_drvdata(file); @@ -620,7 +633,8 @@ static int vidioc_s_dv_timings(struct file *file, void = *fh, return 0; } =20 -static int vidioc_g_dv_timings(struct file *file, void *fh, +static int vidioc_g_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct mgb4_vin_dev *vindev =3D video_drvdata(file); @@ -629,7 +643,8 @@ static int vidioc_g_dv_timings(struct file *file, void = *fh, return 0; } =20 -static int vidioc_query_dv_timings(struct file *file, void *fh, +static int vidioc_query_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct mgb4_vin_dev *vindev =3D video_drvdata(file); @@ -637,7 +652,8 @@ static int vidioc_query_dv_timings(struct file *file, v= oid *fh, return get_timings(vindev, timings); } =20 -static int vidioc_enum_dv_timings(struct file *file, void *fh, +static int vidioc_enum_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_enum_dv_timings *timings) { struct mgb4_vin_dev *vindev =3D video_drvdata(file); @@ -650,7 +666,8 @@ static int vidioc_enum_dv_timings(struct file *file, vo= id *fh, return 0; } =20 -static int vidioc_dv_timings_cap(struct file *file, void *fh, +static int vidioc_dv_timings_cap(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings_cap *cap) { *cap =3D video_timings_cap; diff --git a/drivers/media/pci/mgb4/mgb4_vout.c b/drivers/media/pci/mgb4/mg= b4_vout.c index c179c425e167cb3a2bbb0919dba3749dedeeb070..3e71f2872421780ee05d5693077= a912231f9f781 100644 --- a/drivers/media/pci/mgb4/mgb4_vout.c +++ b/drivers/media/pci/mgb4/mgb4_vout.c @@ -232,7 +232,8 @@ static const struct vb2_ops queue_ops =3D { .stop_streaming =3D stop_streaming, }; =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, KBUILD_MODNAME, sizeof(cap->driver)); @@ -241,7 +242,8 @@ static int vidioc_querycap(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_enum_fmt(struct file *file, void *priv, +static int vidioc_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct mgb4_vin_dev *voutdev =3D video_drvdata(file); @@ -258,7 +260,8 @@ static int vidioc_enum_fmt(struct file *file, void *pri= v, } } =20 -static int vidioc_g_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_g_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct mgb4_vout_dev *voutdev =3D video_drvdata(file); struct mgb4_regs *video =3D &voutdev->mgbdev->video; @@ -290,7 +293,8 @@ static int vidioc_g_fmt(struct file *file, void *priv, = struct v4l2_format *f) return 0; } =20 -static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_forma= t *f) +static int vidioc_try_fmt(struct file *file, struct video_device_state *st= ate, + struct v4l2_format *f) { struct mgb4_vout_dev *voutdev =3D video_drvdata(file); struct mgb4_regs *video =3D &voutdev->mgbdev->video; @@ -322,7 +326,8 @@ static int vidioc_try_fmt(struct file *file, void *priv= , struct v4l2_format *f) return 0; } =20 -static int vidioc_s_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_s_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct mgb4_vout_dev *voutdev =3D video_drvdata(file); struct mgb4_regs *video =3D &voutdev->mgbdev->video; @@ -332,7 +337,7 @@ static int vidioc_s_fmt(struct file *file, void *priv, = struct v4l2_format *f) if (vb2_is_busy(&voutdev->queue)) return -EBUSY; =20 - ret =3D vidioc_try_fmt(file, priv, f); + ret =3D vidioc_try_fmt(file, state, f); if (ret < 0) return ret; =20 @@ -363,18 +368,21 @@ static int vidioc_s_fmt(struct file *file, void *priv= , struct v4l2_format *f) return 0; } =20 -static int vidioc_g_output(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_output(struct file *file, + struct video_device_state *state, unsigned int *i) { *i =3D 0; return 0; } =20 -static int vidioc_s_output(struct file *file, void *priv, unsigned int i) +static int vidioc_s_output(struct file *file, + struct video_device_state *state, unsigned int i) { return i ? -EINVAL : 0; } =20 -static int vidioc_enum_output(struct file *file, void *priv, +static int vidioc_enum_output(struct file *file, + struct video_device_state *state, struct v4l2_output *out) { if (out->index !=3D 0) @@ -387,7 +395,8 @@ static int vidioc_enum_output(struct file *file, void *= priv, return 0; } =20 -static int vidioc_enum_frameintervals(struct file *file, void *priv, +static int vidioc_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *ival) { struct mgb4_vout_dev *voutdev =3D video_drvdata(file); @@ -415,7 +424,8 @@ static int vidioc_enum_frameintervals(struct file *file= , void *priv, return 0; } =20 -static int vidioc_g_parm(struct file *file, void *priv, +static int vidioc_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct mgb4_vout_dev *voutdev =3D video_drvdata(file); @@ -443,7 +453,8 @@ static int vidioc_g_parm(struct file *file, void *priv, return 0; } =20 -static int vidioc_s_parm(struct file *file, void *priv, +static int vidioc_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct mgb4_vout_dev *voutdev =3D video_drvdata(file); @@ -466,10 +477,11 @@ static int vidioc_s_parm(struct file *file, void *pri= v, mgb4_write_reg(video, voutdev->config->regs.timer, timer); } =20 - return vidioc_g_parm(file, priv, parm); + return vidioc_g_parm(file, state, parm); } =20 -static int vidioc_g_dv_timings(struct file *file, void *fh, +static int vidioc_g_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct mgb4_vout_dev *voutdev =3D video_drvdata(file); @@ -479,7 +491,8 @@ static int vidioc_g_dv_timings(struct file *file, void = *fh, return 0; } =20 -static int vidioc_s_dv_timings(struct file *file, void *fh, +static int vidioc_s_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct mgb4_vout_dev *voutdev =3D video_drvdata(file); @@ -489,7 +502,8 @@ static int vidioc_s_dv_timings(struct file *file, void = *fh, return 0; } =20 -static int vidioc_enum_dv_timings(struct file *file, void *fh, +static int vidioc_enum_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_enum_dv_timings *timings) { struct mgb4_vout_dev *voutdev =3D video_drvdata(file); @@ -502,7 +516,8 @@ static int vidioc_enum_dv_timings(struct file *file, vo= id *fh, return 0; } =20 -static int vidioc_dv_timings_cap(struct file *file, void *fh, +static int vidioc_dv_timings_cap(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings_cap *cap) { *cap =3D video_timings_cap; diff --git a/drivers/media/pci/saa7134/saa7134-empress.c b/drivers/media/pc= i/saa7134/saa7134-empress.c index 8c4f70e4177d1836ad685be851df63b234674c40..03fbced7af3e6d012c8444e4241= bd93c8c02b4ce 100644 --- a/drivers/media/pci/saa7134/saa7134-empress.c +++ b/drivers/media/pci/saa7134/saa7134-empress.c @@ -84,7 +84,8 @@ static const struct vb2_ops saa7134_empress_qops =3D { =20 /* ------------------------------------------------------------------ */ =20 -static int empress_enum_fmt_vid_cap(struct file *file, void *priv, +static int empress_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index !=3D 0) @@ -94,7 +95,8 @@ static int empress_enum_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int empress_g_fmt_vid_cap(struct file *file, void *priv, +static int empress_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct saa7134_dev *dev =3D video_drvdata(file); @@ -113,7 +115,8 @@ static int empress_g_fmt_vid_cap(struct file *file, voi= d *priv, return 0; } =20 -static int empress_s_fmt_vid_cap(struct file *file, void *priv, +static int empress_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct saa7134_dev *dev =3D video_drvdata(file); @@ -132,7 +135,8 @@ static int empress_s_fmt_vid_cap(struct file *file, voi= d *priv, return 0; } =20 -static int empress_try_fmt_vid_cap(struct file *file, void *priv, +static int empress_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct saa7134_dev *dev =3D video_drvdata(file); diff --git a/drivers/media/pci/saa7134/saa7134-video.c b/drivers/media/pci/= saa7134/saa7134-video.c index 4a51b873e47ad64b49f7c464f6e96d31ba3e313e..0486b7c18d2c676ee22972a0833= 65e6266769089 100644 --- a/drivers/media/pci/saa7134/saa7134-video.c +++ b/drivers/media/pci/saa7134/saa7134-video.c @@ -1011,8 +1011,9 @@ static __poll_t radio_poll(struct file *file, poll_ta= ble *wait) =20 /* ------------------------------------------------------------------ */ =20 -static int saa7134_try_get_set_fmt_vbi_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int saa7134_try_get_set_fmt_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct saa7134_dev *dev =3D video_drvdata(file); struct saa7134_tvnorm *norm =3D dev->tvnorm; @@ -1031,8 +1032,9 @@ static int saa7134_try_get_set_fmt_vbi_cap(struct fil= e *file, void *priv, return 0; } =20 -static int saa7134_g_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int saa7134_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct saa7134_dev *dev =3D video_drvdata(file); =20 @@ -1051,8 +1053,9 @@ static int saa7134_g_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int saa7134_try_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int saa7134_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct saa7134_dev *dev =3D video_drvdata(file); struct saa7134_format *fmt; @@ -1104,13 +1107,14 @@ static int saa7134_try_fmt_vid_cap(struct file *fil= e, void *priv, return 0; } =20 -static int saa7134_s_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int saa7134_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct saa7134_dev *dev =3D video_drvdata(file); int err; =20 - err =3D saa7134_try_fmt_vid_cap(file, priv, f); + err =3D saa7134_try_fmt_vid_cap(file, state, f); if (0 !=3D err) return err; =20 @@ -1121,7 +1125,8 @@ static int saa7134_s_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -int saa7134_enum_input(struct file *file, void *priv, struct v4l2_input *i) +int saa7134_enum_input(struct file *file, struct video_device_state *state, + struct v4l2_input *i) { struct saa7134_dev *dev =3D video_drvdata(file); unsigned int n; @@ -1159,7 +1164,8 @@ int saa7134_enum_input(struct file *file, void *priv,= struct v4l2_input *i) } EXPORT_SYMBOL_GPL(saa7134_enum_input); =20 -int saa7134_g_input(struct file *file, void *priv, unsigned int *i) +int saa7134_g_input(struct file *file, struct video_device_state *state, + unsigned int *i) { struct saa7134_dev *dev =3D video_drvdata(file); =20 @@ -1168,7 +1174,8 @@ int saa7134_g_input(struct file *file, void *priv, un= signed int *i) } EXPORT_SYMBOL_GPL(saa7134_g_input); =20 -int saa7134_s_input(struct file *file, void *priv, unsigned int i) +int saa7134_s_input(struct file *file, struct video_device_state *state, + unsigned int i) { struct saa7134_dev *dev =3D video_drvdata(file); =20 @@ -1181,7 +1188,8 @@ int saa7134_s_input(struct file *file, void *priv, un= signed int i) } EXPORT_SYMBOL_GPL(saa7134_s_input); =20 -int saa7134_querycap(struct file *file, void *priv, +int saa7134_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct saa7134_dev *dev =3D video_drvdata(file); @@ -1201,7 +1209,8 @@ int saa7134_querycap(struct file *file, void *priv, } EXPORT_SYMBOL_GPL(saa7134_querycap); =20 -int saa7134_s_std(struct file *file, void *priv, v4l2_std_id id) +int saa7134_s_std(struct file *file, struct video_device_state *state, + v4l2_std_id id) { struct saa7134_dev *dev =3D video_drvdata(file); unsigned int i; @@ -1245,7 +1254,8 @@ int saa7134_s_std(struct file *file, void *priv, v4l2= _std_id id) } EXPORT_SYMBOL_GPL(saa7134_s_std); =20 -int saa7134_g_std(struct file *file, void *priv, v4l2_std_id *id) +int saa7134_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *id) { struct saa7134_dev *dev =3D video_drvdata(file); =20 @@ -1275,7 +1285,8 @@ static v4l2_std_id saa7134_read_std(struct saa7134_de= v *dev) return result; } =20 -int saa7134_querystd(struct file *file, void *priv, v4l2_std_id *std) +int saa7134_querystd(struct file *file, struct video_device_state *state, + v4l2_std_id *std) { struct saa7134_dev *dev =3D video_drvdata(file); *std &=3D saa7134_read_std(dev); @@ -1283,8 +1294,9 @@ int saa7134_querystd(struct file *file, void *priv, v= 4l2_std_id *std) } EXPORT_SYMBOL_GPL(saa7134_querystd); =20 -static int saa7134_g_pixelaspect(struct file *file, void *priv, - int type, struct v4l2_fract *f) +static int saa7134_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f) { struct saa7134_dev *dev =3D video_drvdata(file); =20 @@ -1302,7 +1314,9 @@ static int saa7134_g_pixelaspect(struct file *file, v= oid *priv, return 0; } =20 -static int saa7134_g_selection(struct file *file, void *priv, struct v4l2_= selection *sel) +static int saa7134_g_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *sel) { struct saa7134_dev *dev =3D video_drvdata(file); =20 @@ -1325,7 +1339,9 @@ static int saa7134_g_selection(struct file *file, voi= d *priv, struct v4l2_select return 0; } =20 -static int saa7134_s_selection(struct file *file, void *priv, struct v4l2_= selection *sel) +static int saa7134_s_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *sel) { struct saa7134_dev *dev =3D video_drvdata(file); struct v4l2_rect *b =3D &dev->crop_bounds; @@ -1358,8 +1374,8 @@ static int saa7134_s_selection(struct file *file, voi= d *priv, struct v4l2_select return 0; } =20 -int saa7134_g_tuner(struct file *file, void *priv, - struct v4l2_tuner *t) +int saa7134_g_tuner(struct file *file, struct video_device_state *state, + struct v4l2_tuner *t) { struct saa7134_dev *dev =3D video_drvdata(file); int n; @@ -1391,8 +1407,8 @@ int saa7134_g_tuner(struct file *file, void *priv, } EXPORT_SYMBOL_GPL(saa7134_g_tuner); =20 -int saa7134_s_tuner(struct file *file, void *priv, - const struct v4l2_tuner *t) +int saa7134_s_tuner(struct file *file, struct video_device_state *state, + const struct v4l2_tuner *t) { struct saa7134_dev *dev =3D video_drvdata(file); int rx, mode; @@ -1412,8 +1428,8 @@ int saa7134_s_tuner(struct file *file, void *priv, } EXPORT_SYMBOL_GPL(saa7134_s_tuner); =20 -int saa7134_g_frequency(struct file *file, void *priv, - struct v4l2_frequency *f) +int saa7134_g_frequency(struct file *file, struct video_device_state *stat= e, + struct v4l2_frequency *f) { struct saa7134_dev *dev =3D video_drvdata(file); =20 @@ -1426,8 +1442,8 @@ int saa7134_g_frequency(struct file *file, void *priv, } EXPORT_SYMBOL_GPL(saa7134_g_frequency); =20 -int saa7134_s_frequency(struct file *file, void *priv, - const struct v4l2_frequency *f) +int saa7134_s_frequency(struct file *file, struct video_device_state *stat= e, + const struct v4l2_frequency *f) { struct saa7134_dev *dev =3D video_drvdata(file); =20 @@ -1441,8 +1457,9 @@ int saa7134_s_frequency(struct file *file, void *priv, } EXPORT_SYMBOL_GPL(saa7134_s_frequency); =20 -static int saa7134_enum_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_fmtdesc *f) +static int saa7134_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f) { if (f->index >=3D FORMATS) return -EINVAL; @@ -1453,8 +1470,9 @@ static int saa7134_enum_fmt_vid_cap(struct file *file= , void *priv, } =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -static int vidioc_g_register (struct file *file, void *priv, - struct v4l2_dbg_register *reg) +static int vidioc_g_register(struct file *file, + struct video_device_state *state, + struct v4l2_dbg_register *reg) { struct saa7134_dev *dev =3D video_drvdata(file); =20 @@ -1463,8 +1481,9 @@ static int vidioc_g_register (struct file *file, void= *priv, return 0; } =20 -static int vidioc_s_register (struct file *file, void *priv, - const struct v4l2_dbg_register *reg) +static int vidioc_s_register(struct file *file, + struct video_device_state *state, + const struct v4l2_dbg_register *reg) { struct saa7134_dev *dev =3D video_drvdata(file); =20 @@ -1473,8 +1492,8 @@ static int vidioc_s_register (struct file *file, void= *priv, } #endif =20 -static int radio_g_tuner(struct file *file, void *priv, - struct v4l2_tuner *t) +static int radio_g_tuner(struct file *file, struct video_device_state *sta= te, + struct v4l2_tuner *t) { struct saa7134_dev *dev =3D video_drvdata(file); =20 @@ -1492,8 +1511,9 @@ static int radio_g_tuner(struct file *file, void *pri= v, } return 0; } -static int radio_s_tuner(struct file *file, void *priv, - const struct v4l2_tuner *t) + +static int radio_s_tuner(struct file *file, struct video_device_state *sta= te, + const struct v4l2_tuner *t) { struct saa7134_dev *dev =3D video_drvdata(file); =20 diff --git a/drivers/media/pci/saa7134/saa7134.h b/drivers/media/pci/saa713= 4/saa7134.h index 9f27e3775c273e1b4738f022399d624b18f695cc..5775df2194d1d359b3496e29f23= f42154420ab6e 100644 --- a/drivers/media/pci/saa7134/saa7134.h +++ b/drivers/media/pci/saa7134/saa7134.h @@ -795,22 +795,28 @@ void saa7134_vb2_buffer_queue(struct vb2_buffer *vb); int saa7134_vb2_start_streaming(struct vb2_queue *vq, unsigned int count); void saa7134_vb2_stop_streaming(struct vb2_queue *vq); =20 -int saa7134_s_std(struct file *file, void *priv, v4l2_std_id id); -int saa7134_g_std(struct file *file, void *priv, v4l2_std_id *id); -int saa7134_querystd(struct file *file, void *priv, v4l2_std_id *std); -int saa7134_enum_input(struct file *file, void *priv, struct v4l2_input *i= ); -int saa7134_g_input(struct file *file, void *priv, unsigned int *i); -int saa7134_s_input(struct file *file, void *priv, unsigned int i); -int saa7134_querycap(struct file *file, void *priv, - struct v4l2_capability *cap); -int saa7134_g_tuner(struct file *file, void *priv, - struct v4l2_tuner *t); -int saa7134_s_tuner(struct file *file, void *priv, - const struct v4l2_tuner *t); -int saa7134_g_frequency(struct file *file, void *priv, - struct v4l2_frequency *f); -int saa7134_s_frequency(struct file *file, void *priv, - const struct v4l2_frequency *f); +int saa7134_s_std(struct file *file, struct video_device_state *state, + v4l2_std_id id); +int saa7134_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *id); +int saa7134_querystd(struct file *file, struct video_device_state *state, + v4l2_std_id *std); +int saa7134_enum_input(struct file *file, struct video_device_state *state, + struct v4l2_input *i); +int saa7134_g_input(struct file *file, struct video_device_state *state, + unsigned int *i); +int saa7134_s_input(struct file *file, struct video_device_state *state, + unsigned int i); +int saa7134_querycap(struct file *file, struct video_device_state *state, + struct v4l2_capability *cap); +int saa7134_g_tuner(struct file *file, struct video_device_state *state, + struct v4l2_tuner *t); +int saa7134_s_tuner(struct file *file, struct video_device_state *state, + const struct v4l2_tuner *t); +int saa7134_g_frequency(struct file *file, struct video_device_state *stat= e, + struct v4l2_frequency *f); +int saa7134_s_frequency(struct file *file, struct video_device_state *stat= e, + const struct v4l2_frequency *f); =20 int saa7134_videoport_init(struct saa7134_dev *dev); void saa7134_set_tvnorm_hw(struct saa7134_dev *dev); diff --git a/drivers/media/pci/saa7146/hexium_gemini.c b/drivers/media/pci/= saa7146/hexium_gemini.c index 40b35098f3ead1d63378d05beb2ccddf3977a2da..cdbdfdf627362b202528e40efbd= 38008e464f4f9 100644 --- a/drivers/media/pci/saa7146/hexium_gemini.c +++ b/drivers/media/pci/saa7146/hexium_gemini.c @@ -201,7 +201,9 @@ static int hexium_set_standard(struct hexium *hexium, s= truct hexium_data *vdec) return 0; } =20 -static int vidioc_enum_input(struct file *file, void *fh, struct v4l2_inpu= t *i) +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, + struct v4l2_input *i) { DEB_EE("VIDIOC_ENUMINPUT %d\n", i->index); =20 @@ -214,7 +216,8 @@ static int vidioc_enum_input(struct file *file, void *f= h, struct v4l2_input *i) return 0; } =20 -static int vidioc_g_input(struct file *file, void *fh, unsigned int *input) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *input) { struct saa7146_dev *dev =3D video_drvdata(file); struct hexium *hexium =3D (struct hexium *) dev->ext_priv; @@ -225,7 +228,8 @@ static int vidioc_g_input(struct file *file, void *fh, = unsigned int *input) return 0; } =20 -static int vidioc_s_input(struct file *file, void *fh, unsigned int input) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int input) { struct saa7146_dev *dev =3D video_drvdata(file); struct hexium *hexium =3D (struct hexium *) dev->ext_priv; diff --git a/drivers/media/pci/saa7146/hexium_orion.c b/drivers/media/pci/s= aa7146/hexium_orion.c index a2076728c6210e9d5442f51fbbc13a87371973e4..0075f0d2b962b46960f65025642= 5ca7620c3a8a6 100644 --- a/drivers/media/pci/saa7146/hexium_orion.c +++ b/drivers/media/pci/saa7146/hexium_orion.c @@ -312,7 +312,9 @@ static int hexium_set_input(struct hexium *hexium, int = input) return 0; } =20 -static int vidioc_enum_input(struct file *file, void *fh, struct v4l2_inpu= t *i) +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, + struct v4l2_input *i) { DEB_EE("VIDIOC_ENUMINPUT %d\n", i->index); =20 @@ -325,7 +327,8 @@ static int vidioc_enum_input(struct file *file, void *f= h, struct v4l2_input *i) return 0; } =20 -static int vidioc_g_input(struct file *file, void *fh, unsigned int *input) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *input) { struct saa7146_dev *dev =3D video_drvdata(file); struct hexium *hexium =3D (struct hexium *) dev->ext_priv; @@ -336,7 +339,8 @@ static int vidioc_g_input(struct file *file, void *fh, = unsigned int *input) return 0; } =20 -static int vidioc_s_input(struct file *file, void *fh, unsigned int input) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int input) { struct saa7146_dev *dev =3D video_drvdata(file); struct hexium *hexium =3D (struct hexium *) dev->ext_priv; diff --git a/drivers/media/pci/saa7146/mxb.c b/drivers/media/pci/saa7146/mx= b.c index a14b839098b8491b2a2ff3ce0d9d25682309607e..8ad048dfa0134f8cf9a9ba80345= d28d743201ad4 100644 --- a/drivers/media/pci/saa7146/mxb.c +++ b/drivers/media/pci/saa7146/mxb.c @@ -446,7 +446,9 @@ void mxb_irq_bh(struct saa7146_dev* dev, u32* irq_mask) } */ =20 -static int vidioc_enum_input(struct file *file, void *fh, struct v4l2_inpu= t *i) +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, + struct v4l2_input *i) { DEB_EE("VIDIOC_ENUMINPUT %d\n", i->index); if (i->index >=3D MXB_INPUTS) @@ -455,7 +457,8 @@ static int vidioc_enum_input(struct file *file, void *f= h, struct v4l2_input *i) return 0; } =20 -static int vidioc_g_input(struct file *file, void *fh, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { struct saa7146_dev *dev =3D video_drvdata(file); struct mxb *mxb =3D (struct mxb *)dev->ext_priv; @@ -465,7 +468,8 @@ static int vidioc_g_input(struct file *file, void *fh, = unsigned int *i) return 0; } =20 -static int vidioc_s_input(struct file *file, void *fh, unsigned int input) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int input) { struct saa7146_dev *dev =3D video_drvdata(file); struct mxb *mxb =3D (struct mxb *)dev->ext_priv; @@ -530,7 +534,8 @@ static int vidioc_s_input(struct file *file, void *fh, = unsigned int input) return 0; } =20 -static int vidioc_g_tuner(struct file *file, void *fh, struct v4l2_tuner *= t) +static int vidioc_g_tuner(struct file *file, struct video_device_state *st= ate, + struct v4l2_tuner *t) { struct saa7146_dev *dev =3D video_drvdata(file); struct mxb *mxb =3D (struct mxb *)dev->ext_priv; @@ -552,7 +557,8 @@ static int vidioc_g_tuner(struct file *file, void *fh, = struct v4l2_tuner *t) return call_all(dev, tuner, g_tuner, t); } =20 -static int vidioc_s_tuner(struct file *file, void *fh, const struct v4l2_t= uner *t) +static int vidioc_s_tuner(struct file *file, struct video_device_state *st= ate, + const struct v4l2_tuner *t) { struct saa7146_dev *dev =3D video_drvdata(file); struct mxb *mxb =3D (struct mxb *)dev->ext_priv; @@ -567,14 +573,18 @@ static int vidioc_s_tuner(struct file *file, void *fh= , const struct v4l2_tuner * return call_all(dev, tuner, s_tuner, t); } =20 -static int vidioc_querystd(struct file *file, void *fh, v4l2_std_id *norm) +static int vidioc_querystd(struct file *file, + struct video_device_state *state, + v4l2_std_id *norm) { struct saa7146_dev *dev =3D video_drvdata(file); =20 return call_all(dev, video, querystd, norm); } =20 -static int vidioc_g_frequency(struct file *file, void *fh, struct v4l2_fre= quency *f) +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, + struct v4l2_frequency *f) { struct saa7146_dev *dev =3D video_drvdata(file); struct mxb *mxb =3D (struct mxb *)dev->ext_priv; @@ -587,7 +597,9 @@ static int vidioc_g_frequency(struct file *file, void *= fh, struct v4l2_frequency return 0; } =20 -static int vidioc_s_frequency(struct file *file, void *fh, const struct v4= l2_frequency *f) +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, + const struct v4l2_frequency *f) { struct saa7146_dev *dev =3D video_drvdata(file); struct mxb *mxb =3D (struct mxb *)dev->ext_priv; @@ -610,7 +622,9 @@ static int vidioc_s_frequency(struct file *file, void *= fh, const struct v4l2_fre return 0; } =20 -static int vidioc_enumaudio(struct file *file, void *fh, struct v4l2_audio= *a) +static int vidioc_enumaudio(struct file *file, + struct video_device_state *state, + struct v4l2_audio *a) { if (a->index >=3D MXB_AUDIOS) return -EINVAL; @@ -618,7 +632,8 @@ static int vidioc_enumaudio(struct file *file, void *fh= , struct v4l2_audio *a) return 0; } =20 -static int vidioc_g_audio(struct file *file, void *fh, struct v4l2_audio *= a) +static int vidioc_g_audio(struct file *file, struct video_device_state *st= ate, + struct v4l2_audio *a) { struct saa7146_dev *dev =3D video_drvdata(file); struct mxb *mxb =3D (struct mxb *)dev->ext_priv; @@ -628,7 +643,8 @@ static int vidioc_g_audio(struct file *file, void *fh, = struct v4l2_audio *a) return 0; } =20 -static int vidioc_s_audio(struct file *file, void *fh, const struct v4l2_a= udio *a) +static int vidioc_s_audio(struct file *file, struct video_device_state *st= ate, + const struct v4l2_audio *a) { struct saa7146_dev *dev =3D video_drvdata(file); struct mxb *mxb =3D (struct mxb *)dev->ext_priv; @@ -648,7 +664,9 @@ static int vidioc_s_audio(struct file *file, void *fh, = const struct v4l2_audio * } =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -static int vidioc_g_register(struct file *file, void *fh, struct v4l2_dbg_= register *reg) +static int vidioc_g_register(struct file *file, + struct video_device_state *state, + struct v4l2_dbg_register *reg) { struct saa7146_dev *dev =3D video_drvdata(file); =20 @@ -659,7 +677,9 @@ static int vidioc_g_register(struct file *file, void *f= h, struct v4l2_dbg_regist return 0; } =20 -static int vidioc_s_register(struct file *file, void *fh, const struct v4l= 2_dbg_register *reg) +static int vidioc_s_register(struct file *file, + struct video_device_state *state, + const struct v4l2_dbg_register *reg) { struct saa7146_dev *dev =3D video_drvdata(file); =20 diff --git a/drivers/media/pci/saa7164/saa7164-encoder.c b/drivers/media/pc= i/saa7164/saa7164-encoder.c index 66d650b5f69af1eac9117b9c65ac7c39883f6f21..1a193a4c05a45f421f5666e47a4= 6fde0b702f47b 100644 --- a/drivers/media/pci/saa7164/saa7164-encoder.c +++ b/drivers/media/pci/saa7164/saa7164-encoder.c @@ -217,7 +217,8 @@ int saa7164_s_std(struct saa7164_port *port, v4l2_std_i= d id) return 0; } =20 -static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id id) { struct saa7164_encoder_fh *fh =3D to_saa7164_encoder_fh(file); =20 @@ -230,14 +231,16 @@ int saa7164_g_std(struct saa7164_port *port, v4l2_std= _id *id) return 0; } =20 -static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *id) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *id) { struct saa7164_encoder_fh *fh =3D to_saa7164_encoder_fh(file); =20 return saa7164_g_std(fh->port, id); } =20 -int saa7164_enum_input(struct file *file, void *priv, struct v4l2_input *i) +int saa7164_enum_input(struct file *file, struct video_device_state *state, + struct v4l2_input *i) { static const char * const inputs[] =3D { "tuner", "composite", "svideo", "aux", @@ -275,7 +278,8 @@ int saa7164_g_input(struct saa7164_port *port, unsigned= int *i) return 0; } =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { struct saa7164_encoder_fh *fh =3D to_saa7164_encoder_fh(file); =20 @@ -299,14 +303,16 @@ int saa7164_s_input(struct saa7164_port *port, unsign= ed int i) return 0; } =20 -static int vidioc_s_input(struct file *file, void *priv, unsigned int i) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { struct saa7164_encoder_fh *fh =3D to_saa7164_encoder_fh(file); =20 return saa7164_s_input(fh->port, i); } =20 -int saa7164_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t) +int saa7164_g_tuner(struct file *file, struct video_device_state *state, + struct v4l2_tuner *t) { struct saa7164_encoder_fh *fh =3D to_saa7164_encoder_fh(file); struct saa7164_port *port =3D fh->port; @@ -325,7 +331,8 @@ int saa7164_g_tuner(struct file *file, void *priv, stru= ct v4l2_tuner *t) return 0; } =20 -int saa7164_s_tuner(struct file *file, void *priv, +int saa7164_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *t) { if (0 !=3D t->index) @@ -344,8 +351,8 @@ int saa7164_g_frequency(struct saa7164_port *port, stru= ct v4l2_frequency *f) return 0; } =20 -static int vidioc_g_frequency(struct file *file, void *priv, - struct v4l2_frequency *f) +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct saa7164_encoder_fh *fh =3D to_saa7164_encoder_fh(file); =20 @@ -397,7 +404,8 @@ int saa7164_s_frequency(struct saa7164_port *port, return 0; } =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct saa7164_encoder_fh *fh =3D to_saa7164_encoder_fh(file); @@ -480,8 +488,8 @@ static int saa7164_s_ctrl(struct v4l2_ctrl *ctrl) return ret; } =20 -static int vidioc_querycap(struct file *file, void *priv, - struct v4l2_capability *cap) +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct saa7164_encoder_fh *fh =3D to_saa7164_encoder_fh(file); struct saa7164_port *port =3D fh->port; @@ -496,8 +504,8 @@ static int vidioc_querycap(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_fmtdesc *f) +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index !=3D 0) return -EINVAL; @@ -507,7 +515,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int vidioc_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct saa7164_encoder_fh *fh =3D to_saa7164_encoder_fh(file); diff --git a/drivers/media/pci/saa7164/saa7164-vbi.c b/drivers/media/pci/sa= a7164/saa7164-vbi.c index 57e4362c0d19d0d3a5f0be1ee58cd141fdf62462..74c71a61ab4db045db44a828306= 3337992bdf226 100644 --- a/drivers/media/pci/saa7164/saa7164-vbi.c +++ b/drivers/media/pci/saa7164/saa7164-vbi.c @@ -142,44 +142,48 @@ static int saa7164_vbi_initialize(struct saa7164_port= *port) } =20 /* -- V4L2 --------------------------------------------------------- */ -static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id id) { struct saa7164_vbi_fh *fh =3D to_saa7164_vbi_fh(file); =20 return saa7164_s_std(fh->port->enc_port, id); } =20 -static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *id) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *id) { struct saa7164_vbi_fh *fh =3D to_saa7164_vbi_fh(file); =20 return saa7164_g_std(fh->port->enc_port, id); } =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { struct saa7164_vbi_fh *fh =3D to_saa7164_vbi_fh(file); =20 return saa7164_g_input(fh->port->enc_port, i); } =20 -static int vidioc_s_input(struct file *file, void *priv, unsigned int i) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { struct saa7164_vbi_fh *fh =3D to_saa7164_vbi_fh(file); =20 return saa7164_s_input(fh->port->enc_port, i); } =20 -static int vidioc_g_frequency(struct file *file, void *priv, - struct v4l2_frequency *f) +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct saa7164_vbi_fh *fh =3D to_saa7164_vbi_fh(file); =20 return saa7164_g_frequency(fh->port->enc_port, f); } =20 -static int vidioc_s_frequency(struct file *file, void *priv, - const struct v4l2_frequency *f) +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct saa7164_vbi_fh *fh =3D to_saa7164_vbi_fh(file); int ret =3D saa7164_s_frequency(fh->port->enc_port, f); @@ -189,8 +193,8 @@ static int vidioc_s_frequency(struct file *file, void *= priv, return ret; } =20 -static int vidioc_querycap(struct file *file, void *priv, - struct v4l2_capability *cap) +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct saa7164_vbi_fh *fh =3D to_saa7164_vbi_fh(file); struct saa7164_port *port =3D fh->port; @@ -390,7 +394,8 @@ static int saa7164_vbi_start_streaming(struct saa7164_p= ort *port) return ret; } =20 -static int saa7164_vbi_fmt(struct file *file, void *priv, +static int saa7164_vbi_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { /* ntsc */ diff --git a/drivers/media/pci/saa7164/saa7164.h b/drivers/media/pci/saa716= 4/saa7164.h index 94e987e7b5e5d4af8f3cdc7c148eb2b33b1076b9..612890fa19c1680b5327f54a8e9= 43fd15899f7cf 100644 --- a/drivers/media/pci/saa7164/saa7164.h +++ b/drivers/media/pci/saa7164/saa7164.h @@ -590,11 +590,14 @@ extern int saa7164_buffer_zero_offsets(struct saa7164= _port *port, int i); /* saa7164-encoder.c */ int saa7164_s_std(struct saa7164_port *port, v4l2_std_id id); int saa7164_g_std(struct saa7164_port *port, v4l2_std_id *id); -int saa7164_enum_input(struct file *file, void *priv, struct v4l2_input *i= ); +int saa7164_enum_input(struct file *file, struct video_device_state *state, + struct v4l2_input *i); int saa7164_g_input(struct saa7164_port *port, unsigned int *i); int saa7164_s_input(struct saa7164_port *port, unsigned int i); -int saa7164_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t); -int saa7164_s_tuner(struct file *file, void *priv, const struct v4l2_tuner= *t); +int saa7164_g_tuner(struct file *file, struct video_device_state *state, + struct v4l2_tuner *t); +int saa7164_s_tuner(struct file *file, struct video_device_state *state, + const struct v4l2_tuner *t); int saa7164_g_frequency(struct saa7164_port *port, struct v4l2_frequency *= f); int saa7164_s_frequency(struct saa7164_port *port, const struct v4l2_frequency *f); diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c b/drivers/media= /pci/solo6x10/solo6x10-v4l2-enc.c index 5ee59b3844cc3dc4ae42c255a0ea3e624c605a1d..c8921f139885ec28ec6fcb96781= 9f5e616868e2e 100644 --- a/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c +++ b/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c @@ -758,7 +758,8 @@ static const struct vb2_ops solo_enc_video_qops =3D { .stop_streaming =3D solo_enc_stop_streaming, }; =20 -static int solo_enc_querycap(struct file *file, void *priv, +static int solo_enc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct solo_enc_dev *solo_enc =3D video_drvdata(file); @@ -769,7 +770,8 @@ static int solo_enc_querycap(struct file *file, void *= priv, return 0; } =20 -static int solo_enc_enum_input(struct file *file, void *priv, +static int solo_enc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *input) { struct solo_enc_dev *solo_enc =3D video_drvdata(file); @@ -789,7 +791,8 @@ static int solo_enc_enum_input(struct file *file, void = *priv, return 0; } =20 -static int solo_enc_set_input(struct file *file, void *priv, +static int solo_enc_set_input(struct file *file, + struct video_device_state *state, unsigned int index) { if (index) @@ -798,7 +801,8 @@ static int solo_enc_set_input(struct file *file, void *= priv, return 0; } =20 -static int solo_enc_get_input(struct file *file, void *priv, +static int solo_enc_get_input(struct file *file, + struct video_device_state *state, unsigned int *index) { *index =3D 0; @@ -806,7 +810,8 @@ static int solo_enc_get_input(struct file *file, void *= priv, return 0; } =20 -static int solo_enc_enum_fmt_cap(struct file *file, void *priv, +static int solo_enc_enum_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct solo_enc_dev *solo_enc =3D video_drvdata(file); @@ -839,7 +844,8 @@ static inline int solo_valid_pixfmt(u32 pixfmt, int dev= _type) || pixfmt =3D=3D V4L2_PIX_FMT_MJPEG ? 0 : -EINVAL; } =20 -static int solo_enc_try_fmt_cap(struct file *file, void *priv, +static int solo_enc_try_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct solo_enc_dev *solo_enc =3D video_drvdata(file); @@ -878,7 +884,8 @@ static int solo_enc_try_fmt_cap(struct file *file, void= *priv, return 0; } =20 -static int solo_enc_set_fmt_cap(struct file *file, void *priv, +static int solo_enc_set_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct solo_enc_dev *solo_enc =3D video_drvdata(file); @@ -889,7 +896,7 @@ static int solo_enc_set_fmt_cap(struct file *file, void= *priv, if (vb2_is_busy(&solo_enc->vidq)) return -EBUSY; =20 - ret =3D solo_enc_try_fmt_cap(file, priv, f); + ret =3D solo_enc_try_fmt_cap(file, state, f); if (ret) return ret; =20 @@ -915,7 +922,8 @@ static int solo_enc_set_fmt_cap(struct file *file, void= *priv, return 0; } =20 -static int solo_enc_get_fmt_cap(struct file *file, void *priv, +static int solo_enc_get_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct solo_enc_dev *solo_enc =3D video_drvdata(file); @@ -932,7 +940,8 @@ static int solo_enc_get_fmt_cap(struct file *file, void= *priv, return 0; } =20 -static int solo_enc_g_std(struct file *file, void *priv, v4l2_std_id *i) +static int solo_enc_g_std(struct file *file, struct video_device_state *st= ate, + v4l2_std_id *i) { struct solo_enc_dev *solo_enc =3D video_drvdata(file); struct solo_dev *solo_dev =3D solo_enc->solo_dev; @@ -944,14 +953,16 @@ static int solo_enc_g_std(struct file *file, void *pr= iv, v4l2_std_id *i) return 0; } =20 -static int solo_enc_s_std(struct file *file, void *priv, v4l2_std_id std) +static int solo_enc_s_std(struct file *file, struct video_device_state *st= ate, + v4l2_std_id std) { struct solo_enc_dev *solo_enc =3D video_drvdata(file); =20 return solo_set_video_type(solo_enc->solo_dev, std & V4L2_STD_625_50); } =20 -static int solo_enum_framesizes(struct file *file, void *priv, +static int solo_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct solo_enc_dev *solo_enc =3D video_drvdata(file); @@ -978,7 +989,8 @@ static int solo_enum_framesizes(struct file *file, void= *priv, return 0; } =20 -static int solo_enum_frameintervals(struct file *file, void *priv, +static int solo_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fintv) { struct solo_enc_dev *solo_enc =3D video_drvdata(file); @@ -1008,7 +1020,8 @@ static int solo_enum_frameintervals(struct file *file= , void *priv, return 0; } =20 -static int solo_g_parm(struct file *file, void *priv, +static int solo_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *sp) { struct solo_enc_dev *solo_enc =3D video_drvdata(file); @@ -1034,7 +1047,8 @@ static inline int calc_interval(u8 fps, u32 n, u32 d) return min(15U, n / d + (n % d >=3D (fps >> 1))); } =20 -static int solo_s_parm(struct file *file, void *priv, +static int solo_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *sp) { struct solo_enc_dev *solo_enc =3D video_drvdata(file); @@ -1046,7 +1060,7 @@ static int solo_s_parm(struct file *file, void *priv, =20 solo_enc->interval =3D calc_interval(fps, t->numerator, t->denominator); solo_update_mode(solo_enc); - return solo_g_parm(file, priv, sp); + return solo_g_parm(file, state, sp); } =20 static int solo_s_ctrl(struct v4l2_ctrl *ctrl) diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2.c b/drivers/media/pci= /solo6x10/solo6x10-v4l2.c index 35715b21dbdffc80de68990b88836700816e7cb6..7c0489c7b0d9f0c97e3386ccc2d= cd96dcd3cad71 100644 --- a/drivers/media/pci/solo6x10/solo6x10-v4l2.c +++ b/drivers/media/pci/solo6x10/solo6x10-v4l2.c @@ -367,7 +367,8 @@ static const struct vb2_ops solo_video_qops =3D { .stop_streaming =3D solo_stop_streaming, }; =20 -static int solo_querycap(struct file *file, void *priv, +static int solo_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, SOLO6X10_NAME, sizeof(cap->driver)); @@ -399,7 +400,8 @@ static int solo_enum_ext_input(struct solo_dev *solo_de= v, return 0; } =20 -static int solo_enum_input(struct file *file, void *priv, +static int solo_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *input) { struct solo_dev *solo_dev =3D video_drvdata(file); @@ -423,7 +425,8 @@ static int solo_enum_input(struct file *file, void *pri= v, return 0; } =20 -static int solo_set_input(struct file *file, void *priv, unsigned int inde= x) +static int solo_set_input(struct file *file, struct video_device_state *st= ate, + unsigned int index) { struct solo_dev *solo_dev =3D video_drvdata(file); int ret =3D solo_v4l2_set_ch(solo_dev, index); @@ -436,7 +439,8 @@ static int solo_set_input(struct file *file, void *priv= , unsigned int index) return ret; } =20 -static int solo_get_input(struct file *file, void *priv, unsigned int *ind= ex) +static int solo_get_input(struct file *file, struct video_device_state *st= ate, + unsigned int *index) { struct solo_dev *solo_dev =3D video_drvdata(file); =20 @@ -445,7 +449,8 @@ static int solo_get_input(struct file *file, void *priv= , unsigned int *index) return 0; } =20 -static int solo_enum_fmt_cap(struct file *file, void *priv, +static int solo_enum_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index) @@ -455,7 +460,8 @@ static int solo_enum_fmt_cap(struct file *file, void *p= riv, return 0; } =20 -static int solo_try_fmt_cap(struct file *file, void *priv, +static int solo_try_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct solo_dev *solo_dev =3D video_drvdata(file); @@ -474,7 +480,8 @@ static int solo_try_fmt_cap(struct file *file, void *pr= iv, return 0; } =20 -static int solo_set_fmt_cap(struct file *file, void *priv, +static int solo_set_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct solo_dev *solo_dev =3D video_drvdata(file); @@ -484,10 +491,11 @@ static int solo_set_fmt_cap(struct file *file, void *= priv, =20 /* For right now, if it doesn't match our running config, * then fail */ - return solo_try_fmt_cap(file, priv, f); + return solo_try_fmt_cap(file, state, f); } =20 -static int solo_get_fmt_cap(struct file *file, void *priv, +static int solo_get_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct solo_dev *solo_dev =3D video_drvdata(file); @@ -504,7 +512,8 @@ static int solo_get_fmt_cap(struct file *file, void *pr= iv, return 0; } =20 -static int solo_g_std(struct file *file, void *priv, v4l2_std_id *i) +static int solo_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *i) { struct solo_dev *solo_dev =3D video_drvdata(file); =20 @@ -536,7 +545,8 @@ int solo_set_video_type(struct solo_dev *solo_dev, bool= is_50hz) return solo_v4l2_set_ch(solo_dev, solo_dev->cur_disp_ch); } =20 -static int solo_s_std(struct file *file, void *priv, v4l2_std_id std) +static int solo_s_std(struct file *file, struct video_device_state *state, + v4l2_std_id std) { struct solo_dev *solo_dev =3D video_drvdata(file); =20 diff --git a/drivers/media/pci/ttpci/budget-av.c b/drivers/media/pci/ttpci/= budget-av.c index 69f5e810f9b54df5e3d69a5d06a5cefc12cef6a9..63505f445b67833015aa9aad831= 4e256d386ff30 100644 --- a/drivers/media/pci/ttpci/budget-av.c +++ b/drivers/media/pci/ttpci/budget-av.c @@ -1398,7 +1398,9 @@ static struct v4l2_input knc1_inputs[KNC1_INPUTS] =3D= { V4L2_STD_PAL_BG | V4L2_STD_NTSC_M, 0, V4L2_IN_CAP_STD }, }; =20 -static int vidioc_enum_input(struct file *file, void *fh, struct v4l2_inpu= t *i) +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, + struct v4l2_input *i) { dprintk(1, "VIDIOC_ENUMINPUT %d\n", i->index); if (i->index >=3D KNC1_INPUTS) @@ -1407,7 +1409,8 @@ static int vidioc_enum_input(struct file *file, void = *fh, struct v4l2_input *i) return 0; } =20 -static int vidioc_g_input(struct file *file, void *fh, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { struct saa7146_dev *dev =3D video_drvdata(file); struct budget_av *budget_av =3D dev->ext_priv; @@ -1418,7 +1421,8 @@ static int vidioc_g_input(struct file *file, void *fh= , unsigned int *i) return 0; } =20 -static int vidioc_s_input(struct file *file, void *fh, unsigned int input) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int input) { struct saa7146_dev *dev =3D video_drvdata(file); struct budget_av *budget_av =3D dev->ext_priv; diff --git a/drivers/media/pci/tw5864/tw5864-video.c b/drivers/media/pci/tw= 5864/tw5864-video.c index 0a08708e52b08283074db66611969312762182a8..46b5e773aa3343d1df4a4b7e9f9= ed8ff3baa6372 100644 --- a/drivers/media/pci/tw5864/tw5864-video.c +++ b/drivers/media/pci/tw5864/tw5864-video.c @@ -526,7 +526,8 @@ static int tw5864_s_ctrl(struct v4l2_ctrl *ctrl) return 0; } =20 -static int tw5864_fmt_vid_cap(struct file *file, void *priv, +static int tw5864_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct tw5864_input *input =3D video_drvdata(file); @@ -551,7 +552,8 @@ static int tw5864_fmt_vid_cap(struct file *file, void *= priv, return 0; } =20 -static int tw5864_enum_input(struct file *file, void *priv, +static int tw5864_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct tw5864_input *input =3D video_drvdata(file); @@ -582,20 +584,23 @@ static int tw5864_enum_input(struct file *file, void = *priv, return 0; } =20 -static int tw5864_g_input(struct file *file, void *priv, unsigned int *i) +static int tw5864_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { *i =3D 0; return 0; } =20 -static int tw5864_s_input(struct file *file, void *priv, unsigned int i) +static int tw5864_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { if (i) return -EINVAL; return 0; } =20 -static int tw5864_querycap(struct file *file, void *priv, +static int tw5864_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct tw5864_input *input =3D video_drvdata(file); @@ -606,7 +611,8 @@ static int tw5864_querycap(struct file *file, void *pri= v, return 0; } =20 -static int tw5864_querystd(struct file *file, void *priv, v4l2_std_id *std) +static int tw5864_querystd(struct file *file, + struct video_device_state *state, v4l2_std_id *std) { struct tw5864_input *input =3D video_drvdata(file); enum tw5864_vid_std tw_std; @@ -620,7 +626,8 @@ static int tw5864_querystd(struct file *file, void *pri= v, v4l2_std_id *std) return 0; } =20 -static int tw5864_g_std(struct file *file, void *priv, v4l2_std_id *std) +static int tw5864_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *std) { struct tw5864_input *input =3D video_drvdata(file); =20 @@ -628,7 +635,8 @@ static int tw5864_g_std(struct file *file, void *priv, = v4l2_std_id *std) return 0; } =20 -static int tw5864_s_std(struct file *file, void *priv, v4l2_std_id std) +static int tw5864_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id std) { struct tw5864_input *input =3D video_drvdata(file); struct tw5864_dev *dev =3D input->root; @@ -639,7 +647,8 @@ static int tw5864_s_std(struct file *file, void *priv, = v4l2_std_id std) return 0; } =20 -static int tw5864_enum_fmt_vid_cap(struct file *file, void *priv, +static int tw5864_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index) @@ -727,7 +736,8 @@ static int tw5864_frameinterval_get(struct tw5864_input= *input, return 0; } =20 -static int tw5864_enum_framesizes(struct file *file, void *priv, +static int tw5864_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct tw5864_input *input =3D video_drvdata(file); @@ -744,7 +754,8 @@ static int tw5864_enum_framesizes(struct file *file, vo= id *priv, return 0; } =20 -static int tw5864_enum_frameintervals(struct file *file, void *priv, +static int tw5864_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fintv) { struct tw5864_input *input =3D video_drvdata(file); @@ -754,7 +765,7 @@ static int tw5864_enum_frameintervals(struct file *file= , void *priv, .pixel_format =3D fintv->pixel_format }; int ret; =20 - ret =3D tw5864_enum_framesizes(file, priv, &fsize); + ret =3D tw5864_enum_framesizes(file, state, &fsize); if (ret) return ret; =20 @@ -776,7 +787,8 @@ static int tw5864_enum_frameintervals(struct file *file= , void *priv, return ret; } =20 -static int tw5864_g_parm(struct file *file, void *priv, +static int tw5864_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *sp) { struct tw5864_input *input =3D video_drvdata(file); @@ -796,7 +808,8 @@ static int tw5864_g_parm(struct file *file, void *priv, return ret; } =20 -static int tw5864_s_parm(struct file *file, void *priv, +static int tw5864_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *sp) { struct tw5864_input *input =3D video_drvdata(file); @@ -821,7 +834,7 @@ static int tw5864_s_parm(struct file *file, void *priv, if (input->frame_interval < 1) input->frame_interval =3D 1; tw5864_frame_interval_set(input); - return tw5864_g_parm(file, priv, sp); + return tw5864_g_parm(file, state, sp); } =20 static const struct v4l2_ctrl_ops tw5864_ctrl_ops =3D { @@ -842,7 +855,8 @@ static const struct v4l2_file_operations video_fops =3D= { =20 #define INDIR_SPACE_MAP_SHIFT 0x100000 =20 -static int tw5864_g_reg(struct file *file, void *fh, +static int tw5864_g_reg(struct file *file, + struct video_device_state *state, struct v4l2_dbg_register *reg) { struct tw5864_input *input =3D video_drvdata(file); @@ -864,7 +878,8 @@ static int tw5864_g_reg(struct file *file, void *fh, return 0; } =20 -static int tw5864_s_reg(struct file *file, void *fh, +static int tw5864_s_reg(struct file *file, + struct video_device_state *state, const struct v4l2_dbg_register *reg) { struct tw5864_input *input =3D video_drvdata(file); diff --git a/drivers/media/pci/tw68/tw68-video.c b/drivers/media/pci/tw68/t= w68-video.c index 6232bac170d00f4132111575bc600e41897e9c8c..4d0e62006c9347948bc09de87a4= 89e706a249aeb 100644 --- a/drivers/media/pci/tw68/tw68-video.c +++ b/drivers/media/pci/tw68/tw68-video.c @@ -569,7 +569,8 @@ static int tw68_s_ctrl(struct v4l2_ctrl *ctrl) * Note that this routine returns what is stored in the fh structure, and * does not interrogate any of the device registers. */ -static int tw68_g_fmt_vid_cap(struct file *file, void *priv, +static int tw68_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct tw68_dev *dev =3D video_drvdata(file); @@ -586,7 +587,8 @@ static int tw68_g_fmt_vid_cap(struct file *file, void *= priv, return 0; } =20 -static int tw68_try_fmt_vid_cap(struct file *file, void *priv, +static int tw68_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct tw68_dev *dev =3D video_drvdata(file); @@ -641,13 +643,14 @@ static int tw68_try_fmt_vid_cap(struct file *file, vo= id *priv, * some number of buffers on the "active" chain which will be filled before * the change takes place. */ -static int tw68_s_fmt_vid_cap(struct file *file, void *priv, +static int tw68_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct tw68_dev *dev =3D video_drvdata(file); int err; =20 - err =3D tw68_try_fmt_vid_cap(file, priv, f); + err =3D tw68_try_fmt_vid_cap(file, state, f); if (0 !=3D err) return err; =20 @@ -658,7 +661,8 @@ static int tw68_s_fmt_vid_cap(struct file *file, void *= priv, return 0; } =20 -static int tw68_enum_input(struct file *file, void *priv, +static int tw68_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct tw68_dev *dev =3D video_drvdata(file); @@ -691,7 +695,8 @@ static int tw68_enum_input(struct file *file, void *pri= v, return 0; } =20 -static int tw68_g_input(struct file *file, void *priv, unsigned int *i) +static int tw68_g_input(struct file *file, struct video_device_state *stat= e, + unsigned int *i) { struct tw68_dev *dev =3D video_drvdata(file); =20 @@ -699,7 +704,8 @@ static int tw68_g_input(struct file *file, void *priv, = unsigned int *i) return 0; } =20 -static int tw68_s_input(struct file *file, void *priv, unsigned int i) +static int tw68_s_input(struct file *file, struct video_device_state *stat= e, + unsigned int i) { struct tw68_dev *dev =3D video_drvdata(file); =20 @@ -710,7 +716,8 @@ static int tw68_s_input(struct file *file, void *priv, = unsigned int i) return 0; } =20 -static int tw68_querycap(struct file *file, void *priv, +static int tw68_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, "tw68", sizeof(cap->driver)); @@ -719,7 +726,8 @@ static int tw68_querycap(struct file *file, void *priv, return 0; } =20 -static int tw68_s_std(struct file *file, void *priv, v4l2_std_id id) +static int tw68_s_std(struct file *file, struct video_device_state *state, + v4l2_std_id id) { struct tw68_dev *dev =3D video_drvdata(file); unsigned int i; @@ -747,7 +755,8 @@ static int tw68_s_std(struct file *file, void *priv, v4= l2_std_id id) return 0; } =20 -static int tw68_g_std(struct file *file, void *priv, v4l2_std_id *id) +static int tw68_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *id) { struct tw68_dev *dev =3D video_drvdata(file); =20 @@ -755,7 +764,8 @@ static int tw68_g_std(struct file *file, void *priv, v4= l2_std_id *id) return 0; } =20 -static int tw68_enum_fmt_vid_cap(struct file *file, void *priv, +static int tw68_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index >=3D FORMATS) @@ -810,16 +820,18 @@ static void tw68_dump_regs(struct tw68_dev *dev) } } =20 -static int vidioc_log_status(struct file *file, void *priv) +static int vidioc_log_status(struct file *file, + struct video_device_state *state) { struct tw68_dev *dev =3D video_drvdata(file); =20 tw68_dump_regs(dev); - return v4l2_ctrl_log_status(file, priv); + return v4l2_ctrl_log_status(file, state); } =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -static int vidioc_g_register(struct file *file, void *priv, +static int vidioc_g_register(struct file *file, + struct video_device_state *state, struct v4l2_dbg_register *reg) { struct tw68_dev *dev =3D video_drvdata(file); @@ -831,7 +843,8 @@ static int vidioc_g_register(struct file *file, void *p= riv, return 0; } =20 -static int vidioc_s_register(struct file *file, void *priv, +static int vidioc_s_register(struct file *file, + struct video_device_state *state, const struct v4l2_dbg_register *reg) { struct tw68_dev *dev =3D video_drvdata(file); diff --git a/drivers/media/pci/tw686x/tw686x-video.c b/drivers/media/pci/tw= 686x/tw686x-video.c index 785dd797d921b515ead7b500edd01a4ac0618e6d..bee07ce0dfd207aeda5094e0939= 4d2f3d92ae3c6 100644 --- a/drivers/media/pci/tw686x/tw686x-video.c +++ b/drivers/media/pci/tw686x/tw686x-video.c @@ -618,7 +618,8 @@ static const struct v4l2_ctrl_ops ctrl_ops =3D { .s_ctrl =3D tw686x_s_ctrl, }; =20 -static int tw686x_g_fmt_vid_cap(struct file *file, void *priv, +static int tw686x_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct tw686x_video_channel *vc =3D video_drvdata(file); @@ -634,7 +635,8 @@ static int tw686x_g_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int tw686x_try_fmt_vid_cap(struct file *file, void *priv, +static int tw686x_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct tw686x_video_channel *vc =3D video_drvdata(file); @@ -731,7 +733,8 @@ static int tw686x_set_format(struct tw686x_video_channe= l *vc, return 0; } =20 -static int tw686x_s_fmt_vid_cap(struct file *file, void *priv, +static int tw686x_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct tw686x_video_channel *vc =3D video_drvdata(file); @@ -743,7 +746,7 @@ static int tw686x_s_fmt_vid_cap(struct file *file, void= *priv, return -EBUSY; =20 area =3D vc->width * vc->height; - err =3D tw686x_try_fmt_vid_cap(file, priv, f); + err =3D tw686x_try_fmt_vid_cap(file, state, f); if (err) return err; =20 @@ -753,7 +756,8 @@ static int tw686x_s_fmt_vid_cap(struct file *file, void= *priv, realloc); } =20 -static int tw686x_querycap(struct file *file, void *priv, +static int tw686x_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct tw686x_video_channel *vc =3D video_drvdata(file); @@ -798,7 +802,8 @@ static int tw686x_set_standard(struct tw686x_video_chan= nel *vc, v4l2_std_id id) return 0; } =20 -static int tw686x_s_std(struct file *file, void *priv, v4l2_std_id id) +static int tw686x_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id id) { struct tw686x_video_channel *vc =3D video_drvdata(file); struct v4l2_format f; @@ -818,8 +823,8 @@ static int tw686x_s_std(struct file *file, void *priv, = v4l2_std_id id) * calling g_fmt and s_fmt will sanitize the height * according to the standard. */ - tw686x_g_fmt_vid_cap(file, priv, &f); - tw686x_s_fmt_vid_cap(file, priv, &f); + tw686x_g_fmt_vid_cap(file, state, &f); + tw686x_s_fmt_vid_cap(file, state, &f); =20 /* * Frame decimation depends on the chosen standard, @@ -829,7 +834,8 @@ static int tw686x_s_std(struct file *file, void *priv, = v4l2_std_id id) return 0; } =20 -static int tw686x_querystd(struct file *file, void *priv, v4l2_std_id *std) +static int tw686x_querystd(struct file *file, + struct video_device_state *state, v4l2_std_id *std) { struct tw686x_video_channel *vc =3D video_drvdata(file); struct tw686x_dev *dev =3D vc->dev; @@ -887,7 +893,8 @@ static int tw686x_querystd(struct file *file, void *pri= v, v4l2_std_id *std) return 0; } =20 -static int tw686x_g_std(struct file *file, void *priv, v4l2_std_id *id) +static int tw686x_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *id) { struct tw686x_video_channel *vc =3D video_drvdata(file); =20 @@ -895,7 +902,8 @@ static int tw686x_g_std(struct file *file, void *priv, = v4l2_std_id *id) return 0; } =20 -static int tw686x_enum_framesizes(struct file *file, void *priv, +static int tw686x_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct tw686x_video_channel *vc =3D video_drvdata(file); @@ -912,7 +920,8 @@ static int tw686x_enum_framesizes(struct file *file, vo= id *priv, return 0; } =20 -static int tw686x_enum_frameintervals(struct file *file, void *priv, +static int tw686x_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *ival) { struct tw686x_video_channel *vc =3D video_drvdata(file); @@ -931,7 +940,8 @@ static int tw686x_enum_frameintervals(struct file *file= , void *priv, return 0; } =20 -static int tw686x_g_parm(struct file *file, void *priv, +static int tw686x_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *sp) { struct tw686x_video_channel *vc =3D video_drvdata(file); @@ -947,7 +957,8 @@ static int tw686x_g_parm(struct file *file, void *priv, return 0; } =20 -static int tw686x_s_parm(struct file *file, void *priv, +static int tw686x_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *sp) { struct tw686x_video_channel *vc =3D video_drvdata(file); @@ -962,10 +973,11 @@ static int tw686x_s_parm(struct file *file, void *pri= v, fps =3D (!numerator || !denominator) ? 0 : denominator / numerator; if (vc->fps !=3D fps) tw686x_set_framerate(vc, fps); - return tw686x_g_parm(file, priv, sp); + return tw686x_g_parm(file, state, sp); } =20 -static int tw686x_enum_fmt_vid_cap(struct file *file, void *priv, +static int tw686x_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index >=3D ARRAY_SIZE(formats)) @@ -986,7 +998,8 @@ static void tw686x_set_input(struct tw686x_video_channe= l *vc, unsigned int i) reg_write(vc->dev, VDMA_CHANNEL_CONFIG[vc->ch], val); } =20 -static int tw686x_s_input(struct file *file, void *priv, unsigned int i) +static int tw686x_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { struct tw686x_video_channel *vc =3D video_drvdata(file); =20 @@ -1004,7 +1017,8 @@ static int tw686x_s_input(struct file *file, void *pr= iv, unsigned int i) return 0; } =20 -static int tw686x_g_input(struct file *file, void *priv, unsigned int *i) +static int tw686x_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { struct tw686x_video_channel *vc =3D video_drvdata(file); =20 @@ -1012,7 +1026,8 @@ static int tw686x_g_input(struct file *file, void *pr= iv, unsigned int *i) return 0; } =20 -static int tw686x_enum_input(struct file *file, void *priv, +static int tw686x_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct tw686x_video_channel *vc =3D video_drvdata(file); diff --git a/drivers/media/pci/zoran/zoran_driver.c b/drivers/media/pci/zor= an/zoran_driver.c index 5b4d5dd06edbc07977bc779df6aead637eead898..488f4b4e92e90ccaf27da34ceeb= 7c2b0d0c93894 100644 --- a/drivers/media/pci/zoran/zoran_driver.c +++ b/drivers/media/pci/zoran/zoran_driver.c @@ -245,7 +245,8 @@ static int zoran_set_input(struct zoran *zr, int input) * ioctl routine */ =20 -static int zoran_querycap(struct file *file, void *fh, struct v4l2_capabil= ity *cap) +static int zoran_querycap(struct file *file, struct video_device_state *st= ate, + struct v4l2_capability *cap) { struct zoran *zr =3D video_drvdata(file); =20 @@ -278,7 +279,8 @@ static int zoran_enum_fmt(struct zoran *zr, struct v4l2= _fmtdesc *fmt, int flag) return -EINVAL; } =20 -static int zoran_enum_fmt_vid_cap(struct file *file, void *fh, +static int zoran_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct zoran *zr =3D video_drvdata(file); @@ -308,13 +310,14 @@ static int zoran_g_fmt_vid_out(struct file *file, voi= d *fh, return 0; } =20 -static int zoran_g_fmt_vid_cap(struct file *file, void *fh, +static int zoran_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct zoran *zr =3D video_drvdata(file); =20 if (zr->map_mode !=3D ZORAN_MAP_MODE_RAW) - return zoran_g_fmt_vid_out(file, fh, fmt); + return zoran_g_fmt_vid_out(file, state, fmt); fmt->fmt.pix.width =3D zr->v4l_settings.width; fmt->fmt.pix.height =3D zr->v4l_settings.height; fmt->fmt.pix.sizeimage =3D zr->buffer_size; @@ -391,7 +394,8 @@ static int zoran_try_fmt_vid_out(struct file *file, voi= d *fh, return res; } =20 -static int zoran_try_fmt_vid_cap(struct file *file, void *fh, +static int zoran_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct zoran *zr =3D video_drvdata(file); @@ -399,7 +403,7 @@ static int zoran_try_fmt_vid_cap(struct file *file, voi= d *fh, int i; =20 if (fmt->fmt.pix.pixelformat =3D=3D V4L2_PIX_FMT_MJPEG) - return zoran_try_fmt_vid_out(file, fh, fmt); + return zoran_try_fmt_vid_out(file, state, fmt); =20 for (i =3D 0; i < NUM_FORMATS; i++) if (zoran_formats[i].fourcc =3D=3D fmt->fmt.pix.pixelformat) @@ -507,7 +511,8 @@ static int zoran_s_fmt_vid_out(struct file *file, void = *fh, return res; } =20 -static int zoran_s_fmt_vid_cap(struct file *file, void *fh, +static int zoran_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct zoran *zr =3D video_drvdata(file); @@ -515,7 +520,7 @@ static int zoran_s_fmt_vid_cap(struct file *file, void = *fh, int res =3D 0; =20 if (fmt->fmt.pix.pixelformat =3D=3D V4L2_PIX_FMT_MJPEG) - return zoran_s_fmt_vid_out(file, fh, fmt); + return zoran_s_fmt_vid_out(file, state, fmt); =20 for (i =3D 0; i < NUM_FORMATS; i++) if (fmt->fmt.pix.pixelformat =3D=3D zoran_formats[i].fourcc) @@ -555,7 +560,8 @@ static int zoran_s_fmt_vid_cap(struct file *file, void = *fh, return res; } =20 -static int zoran_g_std(struct file *file, void *fh, v4l2_std_id *std) +static int zoran_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *std) { struct zoran *zr =3D video_drvdata(file); =20 @@ -563,7 +569,8 @@ static int zoran_g_std(struct file *file, void *fh, v4l= 2_std_id *std) return 0; } =20 -static int zoran_s_std(struct file *file, void *fh, v4l2_std_id std) +static int zoran_s_std(struct file *file, struct video_device_state *state, + v4l2_std_id std) { struct zoran *zr =3D video_drvdata(file); int res =3D 0; @@ -578,7 +585,8 @@ static int zoran_s_std(struct file *file, void *fh, v4l= 2_std_id std) return res; } =20 -static int zoran_enum_input(struct file *file, void *fh, +static int zoran_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { struct zoran *zr =3D video_drvdata(file); @@ -595,7 +603,8 @@ static int zoran_enum_input(struct file *file, void *fh, return 0; } =20 -static int zoran_g_input(struct file *file, void *fh, unsigned int *input) +static int zoran_g_input(struct file *file, struct video_device_state *sta= te, + unsigned int *input) { struct zoran *zr =3D video_drvdata(file); =20 @@ -604,7 +613,8 @@ static int zoran_g_input(struct file *file, void *fh, u= nsigned int *input) return 0; } =20 -static int zoran_s_input(struct file *file, void *fh, unsigned int input) +static int zoran_s_input(struct file *file, struct video_device_state *sta= te, + unsigned int input) { struct zoran *zr =3D video_drvdata(file); int res; @@ -617,7 +627,9 @@ static int zoran_s_input(struct file *file, void *fh, u= nsigned int input) } =20 /* cropping (sub-frame capture) */ -static int zoran_g_selection(struct file *file, void *fh, struct v4l2_sele= ction *sel) +static int zoran_g_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *sel) { struct zoran *zr =3D video_drvdata(file); =20 @@ -652,7 +664,9 @@ static int zoran_g_selection(struct file *file, void *f= h, struct v4l2_selection return 0; } =20 -static int zoran_s_selection(struct file *file, void *fh, struct v4l2_sele= ction *sel) +static int zoran_s_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *sel) { struct zoran *zr =3D video_drvdata(file); struct zoran_jpg_settings settings; diff --git a/drivers/media/platform/allegro-dvt/allegro-core.c b/drivers/me= dia/platform/allegro-dvt/allegro-core.c index 510c3c9661d990c8ae97d4b4d174639b5aa0b13d..a15773c0bfd737c90111e1cee63= 2f63cde551954 100644 --- a/drivers/media/platform/allegro-dvt/allegro-core.c +++ b/drivers/media/platform/allegro-dvt/allegro-core.c @@ -3247,7 +3247,8 @@ static int allegro_release(struct file *file) return 0; } =20 -static int allegro_querycap(struct file *file, void *fh, +static int allegro_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, KBUILD_MODNAME, sizeof(cap->driver)); @@ -3256,7 +3257,8 @@ static int allegro_querycap(struct file *file, void *= fh, return 0; } =20 -static int allegro_enum_fmt_vid(struct file *file, void *fh, +static int allegro_enum_fmt_vid(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { switch (f->type) { @@ -3279,7 +3281,8 @@ static int allegro_enum_fmt_vid(struct file *file, vo= id *fh, return 0; } =20 -static int allegro_g_fmt_vid_cap(struct file *file, void *fh, +static int allegro_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct allegro_channel *channel =3D file_to_channel(file); @@ -3300,7 +3303,8 @@ static int allegro_g_fmt_vid_cap(struct file *file, v= oid *fh, return 0; } =20 -static int allegro_try_fmt_vid_cap(struct file *file, void *fh, +static int allegro_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { f->fmt.pix.field =3D V4L2_FIELD_NONE; @@ -3321,14 +3325,15 @@ static int allegro_try_fmt_vid_cap(struct file *fil= e, void *fh, return 0; } =20 -static int allegro_s_fmt_vid_cap(struct file *file, void *fh, +static int allegro_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct allegro_channel *channel =3D file_to_channel(file); struct vb2_queue *vq; int err; =20 - err =3D allegro_try_fmt_vid_cap(file, fh, f); + err =3D allegro_try_fmt_vid_cap(file, state, f); if (err) return err; =20 @@ -3345,7 +3350,8 @@ static int allegro_s_fmt_vid_cap(struct file *file, v= oid *fh, return 0; } =20 -static int allegro_g_fmt_vid_out(struct file *file, void *fh, +static int allegro_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct allegro_channel *channel =3D file_to_channel(file); @@ -3367,7 +3373,8 @@ static int allegro_g_fmt_vid_out(struct file *file, v= oid *fh, return 0; } =20 -static int allegro_try_fmt_vid_out(struct file *file, void *fh, +static int allegro_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { f->fmt.pix.field =3D V4L2_FIELD_NONE; @@ -3392,13 +3399,14 @@ static int allegro_try_fmt_vid_out(struct file *fil= e, void *fh, return 0; } =20 -static int allegro_s_fmt_vid_out(struct file *file, void *fh, +static int allegro_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct allegro_channel *channel =3D file_to_channel(file); int err; =20 - err =3D allegro_try_fmt_vid_out(file, fh, f); + err =3D allegro_try_fmt_vid_out(file, state, f); if (err) return err; =20 @@ -3433,17 +3441,18 @@ static int allegro_channel_cmd_start(struct allegro= _channel *channel) return 0; } =20 -static int allegro_encoder_cmd(struct file *file, void *fh, +static int allegro_encoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_encoder_cmd *cmd) { struct allegro_channel *channel =3D file_to_channel(file); int err; =20 - err =3D v4l2_m2m_ioctl_try_encoder_cmd(file, fh, cmd); + err =3D v4l2_m2m_ioctl_try_encoder_cmd(file, state, cmd); if (err) return err; =20 - err =3D v4l2_m2m_ioctl_encoder_cmd(file, fh, cmd); + err =3D v4l2_m2m_ioctl_encoder_cmd(file, state, cmd); if (err) return err; =20 @@ -3456,7 +3465,8 @@ static int allegro_encoder_cmd(struct file *file, voi= d *fh, return err; } =20 -static int allegro_enum_framesizes(struct file *file, void *fh, +static int allegro_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { switch (fsize->pixel_format) { @@ -3482,7 +3492,8 @@ static int allegro_enum_framesizes(struct file *file,= void *fh, return 0; } =20 -static int allegro_ioctl_streamon(struct file *file, void *priv, +static int allegro_ioctl_streamon(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct allegro_channel *channel =3D file_to_channel(file); @@ -3497,7 +3508,8 @@ static int allegro_ioctl_streamon(struct file *file, = void *priv, return v4l2_m2m_streamon(file, channel->fh.m2m_ctx, type); } =20 -static int allegro_g_parm(struct file *file, void *fh, +static int allegro_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *a) { struct allegro_channel *channel =3D file_to_channel(file); @@ -3514,7 +3526,8 @@ static int allegro_g_parm(struct file *file, void *fh, return 0; } =20 -static int allegro_s_parm(struct file *file, void *fh, +static int allegro_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *a) { struct allegro_channel *channel =3D file_to_channel(file); @@ -3528,7 +3541,7 @@ static int allegro_s_parm(struct file *file, void *fh, timeperframe =3D &a->parm.output.timeperframe; =20 if (timeperframe->numerator =3D=3D 0 || timeperframe->denominator =3D=3D = 0) - return allegro_g_parm(file, fh, a); + return allegro_g_parm(file, state, a); =20 div =3D gcd(timeperframe->denominator, timeperframe->numerator); channel->framerate.numerator =3D timeperframe->denominator / div; diff --git a/drivers/media/platform/amlogic/c3/isp/c3-isp-capture.c b/drive= rs/media/platform/amlogic/c3/isp/c3-isp-capture.c index 11d85f5342f0f41f9f6f70c18344344e3f26dade..ca940876f11dd3e8c4160aacffd= a6c8fa3e81f98 100644 --- a/drivers/media/platform/amlogic/c3/isp/c3-isp-capture.c +++ b/drivers/media/platform/amlogic/c3/isp/c3-isp-capture.c @@ -383,7 +383,8 @@ static void c3_isp_cap_return_buffers(struct c3_isp_cap= ture *cap, } } =20 -static int c3_isp_cap_querycap(struct file *file, void *fh, +static int c3_isp_cap_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, C3_ISP_DRIVER_NAME, sizeof(cap->driver)); @@ -392,7 +393,8 @@ static int c3_isp_cap_querycap(struct file *file, void = *fh, return 0; } =20 -static int c3_isp_cap_enum_fmt(struct file *file, void *fh, +static int c3_isp_cap_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { const struct c3_isp_cap_format_info *fmt; @@ -422,7 +424,8 @@ static int c3_isp_cap_enum_fmt(struct file *file, void = *fh, return -EINVAL; } =20 -static int c3_isp_cap_g_fmt_mplane(struct file *file, void *fh, +static int c3_isp_cap_g_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct c3_isp_capture *cap =3D video_drvdata(file); @@ -432,7 +435,8 @@ static int c3_isp_cap_g_fmt_mplane(struct file *file, v= oid *fh, return 0; } =20 -static int c3_isp_cap_s_fmt_mplane(struct file *file, void *fh, +static int c3_isp_cap_s_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct c3_isp_capture *cap =3D video_drvdata(file); @@ -445,7 +449,8 @@ static int c3_isp_cap_s_fmt_mplane(struct file *file, v= oid *fh, return 0; } =20 -static int c3_isp_cap_try_fmt_mplane(struct file *file, void *fh, +static int c3_isp_cap_try_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { c3_cap_try_fmt(&f->fmt.pix_mp); @@ -453,7 +458,8 @@ static int c3_isp_cap_try_fmt_mplane(struct file *file,= void *fh, return 0; } =20 -static int c3_isp_cap_enum_frmsize(struct file *file, void *fh, +static int c3_isp_cap_enum_frmsize(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { const struct c3_isp_cap_format_info *fmt; diff --git a/drivers/media/platform/amlogic/c3/isp/c3-isp-params.c b/driver= s/media/platform/amlogic/c3/isp/c3-isp-params.c index c80667dd766210d2b2e1ee60c8254a5814b9d81b..b67409f8a6f1d7dc2f500e36161= 8725f8fb144be 100644 --- a/drivers/media/platform/amlogic/c3/isp/c3-isp-params.c +++ b/drivers/media/platform/amlogic/c3/isp/c3-isp-params.c @@ -678,7 +678,8 @@ void c3_isp_params_pre_cfg(struct c3_isp_device *isp) =20 /* V4L2 video operations */ =20 -static int c3_isp_params_querycap(struct file *file, void *fh, +static int c3_isp_params_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, C3_ISP_DRIVER_NAME, sizeof(cap->driver)); @@ -687,7 +688,8 @@ static int c3_isp_params_querycap(struct file *file, vo= id *fh, return 0; } =20 -static int c3_isp_params_enum_fmt(struct file *file, void *fh, +static int c3_isp_params_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index) @@ -698,7 +700,8 @@ static int c3_isp_params_enum_fmt(struct file *file, vo= id *fh, return 0; } =20 -static int c3_isp_params_g_fmt(struct file *file, void *fh, +static int c3_isp_params_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct c3_isp_params *params =3D video_drvdata(file); diff --git a/drivers/media/platform/amlogic/c3/isp/c3-isp-stats.c b/drivers= /media/platform/amlogic/c3/isp/c3-isp-stats.c index 8a5d7e1a30c952add138ffb4eb5c7ad36d54d233..1e5e5ae48445c7a7f6f668dc346= a91eaa0553383 100644 --- a/drivers/media/platform/amlogic/c3/isp/c3-isp-stats.c +++ b/drivers/media/platform/amlogic/c3/isp/c3-isp-stats.c @@ -85,7 +85,8 @@ void c3_isp_stats_pre_cfg(struct c3_isp_device *isp) c3_isp_stats_cfg_buff(stats); } =20 -static int c3_isp_stats_querycap(struct file *file, void *fh, +static int c3_isp_stats_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, C3_ISP_DRIVER_NAME, sizeof(cap->driver)); @@ -94,7 +95,8 @@ static int c3_isp_stats_querycap(struct file *file, void = *fh, return 0; } =20 -static int c3_isp_stats_enum_fmt(struct file *file, void *fh, +static int c3_isp_stats_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct c3_isp_stats *stats =3D video_drvdata(file); @@ -107,7 +109,8 @@ static int c3_isp_stats_enum_fmt(struct file *file, voi= d *fh, return 0; } =20 -static int c3_isp_stats_g_fmt(struct file *file, void *fh, +static int c3_isp_stats_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct c3_isp_stats *stats =3D video_drvdata(file); diff --git a/drivers/media/platform/amlogic/meson-ge2d/ge2d.c b/drivers/med= ia/platform/amlogic/meson-ge2d/ge2d.c index 5744853a40035e9973e605dd3ffec508641470f2..68d0cdd6bee0893c19087dc67ae= c972ccf88ddeb 100644 --- a/drivers/media/platform/amlogic/meson-ge2d/ge2d.c +++ b/drivers/media/platform/amlogic/meson-ge2d/ge2d.c @@ -432,7 +432,8 @@ queue_init(void *priv, struct vb2_queue *src_vq, struct= vb2_queue *dst_vq) } =20 static int -vidioc_querycap(struct file *file, void *priv, struct v4l2_capability *cap) +vidioc_querycap(struct file *file, struct video_device_state *state, + struct v4l2_capability *cap) { strscpy(cap->driver, GE2D_NAME, sizeof(cap->driver)); strscpy(cap->card, GE2D_NAME, sizeof(cap->card)); @@ -441,7 +442,9 @@ vidioc_querycap(struct file *file, void *priv, struct v= 4l2_capability *cap) return 0; } =20 -static int vidioc_enum_fmt(struct file *file, void *priv, struct v4l2_fmtd= esc *f) +static int vidioc_enum_fmt(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f) { const struct ge2d_fmt *fmt; =20 @@ -454,7 +457,8 @@ static int vidioc_enum_fmt(struct file *file, void *pri= v, struct v4l2_fmtdesc *f return 0; } =20 -static int vidioc_g_selection(struct file *file, void *priv, +static int vidioc_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct ge2d_ctx *ctx =3D file_to_ge2d_ctx(file); @@ -504,7 +508,8 @@ static int vidioc_g_selection(struct file *file, void *= priv, return 0; } =20 -static int vidioc_s_selection(struct file *file, void *priv, +static int vidioc_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct ge2d_ctx *ctx =3D file_to_ge2d_ctx(file); @@ -572,7 +577,9 @@ static void vidioc_setup_cap_fmt(struct ge2d_ctx *ctx, = struct v4l2_pix_format *f } } =20 -static int vidioc_try_fmt_cap(struct file *file, void *priv, struct v4l2_f= ormat *f) +static int vidioc_try_fmt_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct ge2d_ctx *ctx =3D file_to_ge2d_ctx(file); const struct ge2d_fmt *fmt =3D find_fmt(f); @@ -593,7 +600,9 @@ static int vidioc_try_fmt_cap(struct file *file, void *= priv, struct v4l2_format return 0; } =20 -static int vidioc_s_fmt_cap(struct file *file, void *priv, struct v4l2_for= mat *f) +static int vidioc_s_fmt_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct ge2d_ctx *ctx =3D file_to_ge2d_ctx(file); struct meson_ge2d *ge2d =3D ctx->ge2d; @@ -604,7 +613,7 @@ static int vidioc_s_fmt_cap(struct file *file, void *pr= iv, struct v4l2_format *f /* Adjust all values accordingly to the hardware capabilities * and chosen format. */ - ret =3D vidioc_try_fmt_cap(file, priv, f); + ret =3D vidioc_try_fmt_cap(file, state, f); if (ret) return ret; =20 @@ -629,7 +638,8 @@ static int vidioc_s_fmt_cap(struct file *file, void *pr= iv, struct v4l2_format *f return 0; } =20 -static int vidioc_g_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_g_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct ge2d_ctx *ctx =3D file_to_ge2d_ctx(file); struct vb2_queue *vq; @@ -647,7 +657,9 @@ static int vidioc_g_fmt(struct file *file, void *priv, = struct v4l2_format *f) return 0; } =20 -static int vidioc_try_fmt_out(struct file *file, void *priv, struct v4l2_f= ormat *f) +static int vidioc_try_fmt_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { const struct ge2d_fmt *fmt =3D find_fmt(f); =20 @@ -668,7 +680,9 @@ static int vidioc_try_fmt_out(struct file *file, void *= priv, struct v4l2_format return 0; } =20 -static int vidioc_s_fmt_out(struct file *file, void *priv, struct v4l2_for= mat *f) +static int vidioc_s_fmt_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct ge2d_ctx *ctx =3D file_to_ge2d_ctx(file); struct meson_ge2d *ge2d =3D ctx->ge2d; @@ -679,7 +693,7 @@ static int vidioc_s_fmt_out(struct file *file, void *pr= iv, struct v4l2_format *f /* Adjust all values accordingly to the hardware capabilities * and chosen format. */ - ret =3D vidioc_try_fmt_out(file, priv, f); + ret =3D vidioc_try_fmt_out(file, state, f); if (ret) return ret; =20 diff --git a/drivers/media/platform/amphion/vdec.c b/drivers/media/platform= /amphion/vdec.c index 32eef2fd1f2a90243256709d2a6a1f7d62a6816a..3b41bbad02139cb376def8f8a65= 0416ef98ffd79 100644 --- a/drivers/media/platform/amphion/vdec.c +++ b/drivers/media/platform/amphion/vdec.c @@ -417,7 +417,8 @@ static void vdec_set_last_buffer_dequeued(struct vpu_in= st *inst) } } =20 -static int vdec_querycap(struct file *file, void *fh, struct v4l2_capabili= ty *cap) +static int vdec_querycap(struct file *file, struct video_device_state *sta= te, + struct v4l2_capability *cap) { strscpy(cap->driver, "amphion-vpu", sizeof(cap->driver)); strscpy(cap->card, "amphion vpu decoder", sizeof(cap->card)); @@ -426,7 +427,8 @@ static int vdec_querycap(struct file *file, void *fh, s= truct v4l2_capability *ca return 0; } =20 -static int vdec_enum_fmt(struct file *file, void *fh, struct v4l2_fmtdesc = *f) +static int vdec_enum_fmt(struct file *file, struct video_device_state *sta= te, + struct v4l2_fmtdesc *f) { struct vpu_inst *inst =3D to_inst(file); struct vdec_t *vdec =3D inst->priv; @@ -455,7 +457,8 @@ static int vdec_enum_fmt(struct file *file, void *fh, s= truct v4l2_fmtdesc *f) return ret; } =20 -static int vdec_g_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int vdec_g_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct vpu_inst *inst =3D to_inst(file); struct vdec_t *vdec =3D inst->priv; @@ -486,7 +489,8 @@ static int vdec_g_fmt(struct file *file, void *fh, stru= ct v4l2_format *f) return 0; } =20 -static int vdec_try_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int vdec_try_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct vpu_inst *inst =3D to_inst(file); struct vdec_t *vdec =3D inst->priv; @@ -592,7 +596,8 @@ static int vdec_s_fmt_common(struct vpu_inst *inst, str= uct v4l2_format *f) return 0; } =20 -static int vdec_s_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int vdec_s_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct vpu_inst *inst =3D to_inst(file); struct v4l2_pix_format_mplane *pixmp =3D &f->fmt.pix_mp; @@ -625,7 +630,9 @@ static int vdec_s_fmt(struct file *file, void *fh, stru= ct v4l2_format *f) return ret; } =20 -static int vdec_g_selection(struct file *file, void *fh, struct v4l2_selec= tion *s) +static int vdec_g_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s) { struct vpu_inst *inst =3D to_inst(file); =20 @@ -713,12 +720,14 @@ static int vdec_cmd_stop(struct vpu_inst *inst) return 0; } =20 -static int vdec_decoder_cmd(struct file *file, void *fh, struct v4l2_decod= er_cmd *cmd) +static int vdec_decoder_cmd(struct file *file, + struct video_device_state *state, + struct v4l2_decoder_cmd *cmd) { struct vpu_inst *inst =3D to_inst(file); int ret; =20 - ret =3D v4l2_m2m_ioctl_try_decoder_cmd(file, fh, cmd); + ret =3D v4l2_m2m_ioctl_try_decoder_cmd(file, state, cmd); if (ret) return ret; =20 @@ -1885,7 +1894,6 @@ static struct vpu_inst_ops vdec_inst_ops =3D { =20 static void vdec_init(struct file *file) { - struct vpu_inst *inst =3D to_inst(file); struct v4l2_format f; =20 memset(&f, 0, sizeof(f)); @@ -1894,7 +1902,7 @@ static void vdec_init(struct file *file) f.fmt.pix_mp.width =3D 1280; f.fmt.pix_mp.height =3D 720; f.fmt.pix_mp.field =3D V4L2_FIELD_NONE; - vdec_s_fmt(file, &inst->fh, &f); + vdec_s_fmt(file, NULL, &f); =20 memset(&f, 0, sizeof(f)); f.type =3D V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; @@ -1902,7 +1910,7 @@ static void vdec_init(struct file *file) f.fmt.pix_mp.width =3D 1280; f.fmt.pix_mp.height =3D 720; f.fmt.pix_mp.field =3D V4L2_FIELD_NONE; - vdec_s_fmt(file, &inst->fh, &f); + vdec_s_fmt(file, NULL, &f); } =20 static int vdec_open(struct file *file) diff --git a/drivers/media/platform/amphion/venc.c b/drivers/media/platform= /amphion/venc.c index c5c1f1fbaa80366d5b18b8f24699eb9c3a18ef92..77befc256879d9a0190a4300cdd= b6f72a11cf7cb 100644 --- a/drivers/media/platform/amphion/venc.c +++ b/drivers/media/platform/amphion/venc.c @@ -92,7 +92,8 @@ static const struct vpu_format venc_formats[] =3D { {0, 0, 0, 0}, }; =20 -static int venc_querycap(struct file *file, void *fh, struct v4l2_capabili= ty *cap) +static int venc_querycap(struct file *file, struct video_device_state *sta= te, + struct v4l2_capability *cap) { strscpy(cap->driver, "amphion-vpu", sizeof(cap->driver)); strscpy(cap->card, "amphion vpu encoder", sizeof(cap->card)); @@ -101,7 +102,8 @@ static int venc_querycap(struct file *file, void *fh, s= truct v4l2_capability *ca return 0; } =20 -static int venc_enum_fmt(struct file *file, void *fh, struct v4l2_fmtdesc = *f) +static int venc_enum_fmt(struct file *file, struct video_device_state *sta= te, + struct v4l2_fmtdesc *f) { struct vpu_inst *inst =3D to_inst(file); const struct vpu_format *fmt; @@ -117,7 +119,9 @@ static int venc_enum_fmt(struct file *file, void *fh, s= truct v4l2_fmtdesc *f) return 0; } =20 -static int venc_enum_framesizes(struct file *file, void *fh, struct v4l2_f= rmsizeenum *fsize) +static int venc_enum_framesizes(struct file *file, + struct video_device_state *state, + struct v4l2_frmsizeenum *fsize) { struct vpu_inst *inst =3D to_inst(file); const struct vpu_core_resources *res; @@ -142,7 +146,9 @@ static int venc_enum_framesizes(struct file *file, void= *fh, struct v4l2_frmsize return 0; } =20 -static int venc_enum_frameintervals(struct file *file, void *fh, struct v4= l2_frmivalenum *fival) +static int venc_enum_frameintervals(struct file *file, + struct video_device_state *state, + struct v4l2_frmivalenum *fival) { struct vpu_inst *inst =3D to_inst(file); const struct vpu_core_resources *res; @@ -174,7 +180,8 @@ static int venc_enum_frameintervals(struct file *file, = void *fh, struct v4l2_frm return 0; } =20 -static int venc_g_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int venc_g_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct vpu_inst *inst =3D to_inst(file); struct venc_t *venc =3D inst->priv; @@ -203,7 +210,8 @@ static int venc_g_fmt(struct file *file, void *fh, stru= ct v4l2_format *f) return 0; } =20 -static int venc_try_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int venc_try_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct vpu_inst *inst =3D to_inst(file); struct vpu_format fmt; @@ -213,7 +221,8 @@ static int venc_try_fmt(struct file *file, void *fh, st= ruct v4l2_format *f) return 0; } =20 -static int venc_s_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int venc_s_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct vpu_inst *inst =3D to_inst(file); struct vpu_format fmt; @@ -265,7 +274,8 @@ static int venc_s_fmt(struct file *file, void *fh, stru= ct v4l2_format *f) return 0; } =20 -static int venc_g_parm(struct file *file, void *fh, struct v4l2_streamparm= *parm) +static int venc_g_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *parm) { struct vpu_inst *inst =3D to_inst(file); struct venc_t *venc =3D inst->priv; @@ -289,7 +299,8 @@ static int venc_g_parm(struct file *file, void *fh, str= uct v4l2_streamparm *parm return 0; } =20 -static int venc_s_parm(struct file *file, void *fh, struct v4l2_streamparm= *parm) +static int venc_s_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *parm) { struct vpu_inst *inst =3D to_inst(file); struct venc_t *venc =3D inst->priv; @@ -328,7 +339,9 @@ static int venc_s_parm(struct file *file, void *fh, str= uct v4l2_streamparm *parm return 0; } =20 -static int venc_g_selection(struct file *file, void *fh, struct v4l2_selec= tion *s) +static int venc_g_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s) { struct vpu_inst *inst =3D to_inst(file); struct venc_t *venc =3D inst->priv; @@ -382,7 +395,9 @@ static int venc_valid_crop(struct venc_t *venc, const s= truct vpu_core_resources return 0; } =20 -static int venc_s_selection(struct file *file, void *fh, struct v4l2_selec= tion *s) +static int venc_s_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s) { struct vpu_inst *inst =3D to_inst(file); const struct vpu_core_resources *res; @@ -449,12 +464,14 @@ static int venc_request_eos(struct vpu_inst *inst) return 0; } =20 -static int venc_encoder_cmd(struct file *file, void *fh, struct v4l2_encod= er_cmd *cmd) +static int venc_encoder_cmd(struct file *file, + struct video_device_state *state, + struct v4l2_encoder_cmd *cmd) { struct vpu_inst *inst =3D to_inst(file); int ret; =20 - ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, fh, cmd); + ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, state, cmd); if (ret) return ret; =20 @@ -1288,7 +1305,7 @@ static void venc_init(struct file *file) f.fmt.pix_mp.width =3D 1280; f.fmt.pix_mp.height =3D 720; f.fmt.pix_mp.field =3D V4L2_FIELD_NONE; - venc_s_fmt(file, &inst->fh, &f); + venc_s_fmt(file, NULL, &f); =20 memset(&f, 0, sizeof(f)); f.type =3D V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; @@ -1296,13 +1313,13 @@ static void venc_init(struct file *file) f.fmt.pix_mp.width =3D 1280; f.fmt.pix_mp.height =3D 720; f.fmt.pix_mp.field =3D V4L2_FIELD_NONE; - venc_s_fmt(file, &inst->fh, &f); + venc_s_fmt(file, NULL, &f); =20 memset(&parm, 0, sizeof(parm)); parm.type =3D V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE; parm.parm.capture.timeperframe.numerator =3D 1; parm.parm.capture.timeperframe.denominator =3D 30; - venc_s_parm(file, &inst->fh, &parm); + venc_s_parm(file, NULL, &parm); } =20 static int venc_open(struct file *file) diff --git a/drivers/media/platform/aspeed/aspeed-video.c b/drivers/media/p= latform/aspeed/aspeed-video.c index b83e43245277b4730603280e4f00b2b75b25f06b..b79d8c4aaf15ba06d1f4d5d2b0a= eeb0df45c308f 100644 --- a/drivers/media/platform/aspeed/aspeed-video.c +++ b/drivers/media/platform/aspeed/aspeed-video.c @@ -1428,7 +1428,8 @@ static void aspeed_video_stop(struct aspeed_video *vi= deo) video->flags =3D 0; } =20 -static int aspeed_video_querycap(struct file *file, void *fh, +static int aspeed_video_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, DEVICE_NAME, sizeof(cap->driver)); @@ -1439,7 +1440,8 @@ static int aspeed_video_querycap(struct file *file, v= oid *fh, return 0; } =20 -static int aspeed_video_enum_format(struct file *file, void *fh, +static int aspeed_video_enum_format(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct aspeed_video *video =3D video_drvdata(file); @@ -1452,7 +1454,8 @@ static int aspeed_video_enum_format(struct file *file= , void *fh, return 0; } =20 -static int aspeed_video_get_format(struct file *file, void *fh, +static int aspeed_video_get_format(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct aspeed_video *video =3D video_drvdata(file); @@ -1462,7 +1465,8 @@ static int aspeed_video_get_format(struct file *file,= void *fh, return 0; } =20 -static int aspeed_video_set_format(struct file *file, void *fh, +static int aspeed_video_set_format(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct aspeed_video *video =3D video_drvdata(file); @@ -1485,7 +1489,8 @@ static int aspeed_video_set_format(struct file *file,= void *fh, return 0; } =20 -static int aspeed_video_enum_input(struct file *file, void *fh, +static int aspeed_video_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { struct aspeed_video *video =3D video_drvdata(file); @@ -1501,7 +1506,9 @@ static int aspeed_video_enum_input(struct file *file,= void *fh, return 0; } =20 -static int aspeed_video_get_input(struct file *file, void *fh, unsigned in= t *i) +static int aspeed_video_get_input(struct file *file, + struct video_device_state *state, + unsigned int *i) { struct aspeed_video *video =3D video_drvdata(file); =20 @@ -1510,7 +1517,9 @@ static int aspeed_video_get_input(struct file *file, = void *fh, unsigned int *i) return 0; } =20 -static int aspeed_video_set_input(struct file *file, void *fh, unsigned in= t i) +static int aspeed_video_set_input(struct file *file, + struct video_device_state *state, + unsigned int i) { struct aspeed_video *video =3D video_drvdata(file); =20 @@ -1557,7 +1566,8 @@ static int aspeed_video_set_input(struct file *file, = void *fh, unsigned int i) return 0; } =20 -static int aspeed_video_get_parm(struct file *file, void *fh, +static int aspeed_video_get_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *a) { struct aspeed_video *video =3D video_drvdata(file); @@ -1573,7 +1583,8 @@ static int aspeed_video_get_parm(struct file *file, v= oid *fh, return 0; } =20 -static int aspeed_video_set_parm(struct file *file, void *fh, +static int aspeed_video_set_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *a) { unsigned int frame_rate =3D 0; @@ -1601,7 +1612,8 @@ static int aspeed_video_set_parm(struct file *file, v= oid *fh, return 0; } =20 -static int aspeed_video_enum_framesizes(struct file *file, void *fh, +static int aspeed_video_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct aspeed_video *video =3D video_drvdata(file); @@ -1619,7 +1631,8 @@ static int aspeed_video_enum_framesizes(struct file *= file, void *fh, return 0; } =20 -static int aspeed_video_enum_frameintervals(struct file *file, void *fh, +static int aspeed_video_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fival) { struct aspeed_video *video =3D video_drvdata(file); @@ -1645,7 +1658,8 @@ static int aspeed_video_enum_frameintervals(struct fi= le *file, void *fh, return 0; } =20 -static int aspeed_video_set_dv_timings(struct file *file, void *fh, +static int aspeed_video_set_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct aspeed_video *video =3D video_drvdata(file); @@ -1667,7 +1681,8 @@ static int aspeed_video_set_dv_timings(struct file *f= ile, void *fh, return 0; } =20 -static int aspeed_video_get_dv_timings(struct file *file, void *fh, +static int aspeed_video_get_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct aspeed_video *video =3D video_drvdata(file); @@ -1678,7 +1693,8 @@ static int aspeed_video_get_dv_timings(struct file *f= ile, void *fh, return 0; } =20 -static int aspeed_video_query_dv_timings(struct file *file, void *fh, +static int aspeed_video_query_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { int rc; @@ -1706,14 +1722,16 @@ static int aspeed_video_query_dv_timings(struct fil= e *file, void *fh, return video->v4l2_input_status ? -ENOLINK : 0; } =20 -static int aspeed_video_enum_dv_timings(struct file *file, void *fh, +static int aspeed_video_enum_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_enum_dv_timings *timings) { return v4l2_enum_dv_timings_cap(timings, &aspeed_video_timings_cap, NULL, NULL); } =20 -static int aspeed_video_dv_timings_cap(struct file *file, void *fh, +static int aspeed_video_dv_timings_cap(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings_cap *cap) { *cap =3D aspeed_video_timings_cap; diff --git a/drivers/media/platform/atmel/atmel-isi.c b/drivers/media/platf= orm/atmel/atmel-isi.c index a05a744cbb7569abff60ccf1a0825a9c3c52ed8a..7154cef73da0c23fdf393193864= 5cbcd135dc631 100644 --- a/drivers/media/platform/atmel/atmel-isi.c +++ b/drivers/media/platform/atmel/atmel-isi.c @@ -528,7 +528,8 @@ static const struct vb2_ops isi_video_qops =3D { .stop_streaming =3D stop_streaming, }; =20 -static int isi_g_fmt_vid_cap(struct file *file, void *priv, +static int isi_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct atmel_isi *isi =3D video_drvdata(file); @@ -651,7 +652,8 @@ static int isi_set_fmt(struct atmel_isi *isi, struct v4= l2_format *f) return 0; } =20 -static int isi_s_fmt_vid_cap(struct file *file, void *priv, +static int isi_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct atmel_isi *isi =3D video_drvdata(file); @@ -662,7 +664,8 @@ static int isi_s_fmt_vid_cap(struct file *file, void *p= riv, return isi_set_fmt(isi, f); } =20 -static int isi_try_fmt_vid_cap(struct file *file, void *priv, +static int isi_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct atmel_isi *isi =3D video_drvdata(file); @@ -670,7 +673,8 @@ static int isi_try_fmt_vid_cap(struct file *file, void = *priv, return isi_try_fmt(isi, f, NULL); } =20 -static int isi_enum_fmt_vid_cap(struct file *file, void *priv, +static int isi_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct atmel_isi *isi =3D video_drvdata(file); @@ -682,7 +686,8 @@ static int isi_enum_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int isi_querycap(struct file *file, void *priv, +static int isi_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, "atmel-isi", sizeof(cap->driver)); @@ -691,7 +696,8 @@ static int isi_querycap(struct file *file, void *priv, return 0; } =20 -static int isi_enum_input(struct file *file, void *priv, +static int isi_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { if (i->index !=3D 0) @@ -702,34 +708,39 @@ static int isi_enum_input(struct file *file, void *pr= iv, return 0; } =20 -static int isi_g_input(struct file *file, void *priv, unsigned int *i) +static int isi_g_input(struct file *file, struct video_device_state *state, + unsigned int *i) { *i =3D 0; return 0; } =20 -static int isi_s_input(struct file *file, void *priv, unsigned int i) +static int isi_s_input(struct file *file, struct video_device_state *state, + unsigned int i) { if (i > 0) return -EINVAL; return 0; } =20 -static int isi_g_parm(struct file *file, void *fh, struct v4l2_streamparm = *a) +static int isi_g_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct atmel_isi *isi =3D video_drvdata(file); =20 return v4l2_g_parm_cap(video_devdata(file), isi->entity.subdev, a); } =20 -static int isi_s_parm(struct file *file, void *fh, struct v4l2_streamparm = *a) +static int isi_s_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct atmel_isi *isi =3D video_drvdata(file); =20 return v4l2_s_parm_cap(video_devdata(file), isi->entity.subdev, a); } =20 -static int isi_enum_framesizes(struct file *file, void *fh, +static int isi_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct atmel_isi *isi =3D video_drvdata(file); @@ -758,7 +769,8 @@ static int isi_enum_framesizes(struct file *file, void = *fh, return 0; } =20 -static int isi_enum_frameintervals(struct file *file, void *fh, +static int isi_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fival) { struct atmel_isi *isi =3D video_drvdata(file); diff --git a/drivers/media/platform/broadcom/bcm2835-unicam.c b/drivers/med= ia/platform/broadcom/bcm2835-unicam.c index f10064107d543caf867249d0566a0f42d6d8c4c6..e5cccad04b010bf9533035fb787= 824f4f606beed 100644 --- a/drivers/media/platform/broadcom/bcm2835-unicam.c +++ b/drivers/media/platform/broadcom/bcm2835-unicam.c @@ -1831,7 +1831,8 @@ static const struct vb2_ops unicam_video_qops =3D { * V4L2 video device operations */ =20 -static int unicam_querycap(struct file *file, void *priv, +static int unicam_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, UNICAM_MODULE_NAME, sizeof(cap->driver)); @@ -1842,7 +1843,8 @@ static int unicam_querycap(struct file *file, void *p= riv, return 0; } =20 -static int unicam_enum_fmt_vid(struct file *file, void *priv, +static int unicam_enum_fmt_vid(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { unsigned int index; @@ -1873,7 +1875,8 @@ static int unicam_enum_fmt_vid(struct file *file, voi= d *priv, return -EINVAL; } =20 -static int unicam_g_fmt_vid(struct file *file, void *priv, +static int unicam_g_fmt_vid(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct unicam_node *node =3D video_drvdata(file); @@ -1905,7 +1908,8 @@ static void __unicam_try_fmt_vid(struct unicam_node *= node, pix->field =3D V4L2_FIELD_NONE; } =20 -static int unicam_try_fmt_vid(struct file *file, void *priv, +static int unicam_try_fmt_vid(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct unicam_node *node =3D video_drvdata(file); @@ -1914,7 +1918,8 @@ static int unicam_try_fmt_vid(struct file *file, void= *priv, return 0; } =20 -static int unicam_s_fmt_vid(struct file *file, void *priv, +static int unicam_s_fmt_vid(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct unicam_node *node =3D video_drvdata(file); @@ -1928,7 +1933,8 @@ static int unicam_s_fmt_vid(struct file *file, void *= priv, return 0; } =20 -static int unicam_enum_fmt_meta(struct file *file, void *priv, +static int unicam_enum_fmt_meta(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { unsigned int i, index; @@ -1950,7 +1956,8 @@ static int unicam_enum_fmt_meta(struct file *file, vo= id *priv, return -EINVAL; } =20 -static int unicam_g_fmt_meta(struct file *file, void *priv, +static int unicam_g_fmt_meta(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct unicam_node *node =3D video_drvdata(file); @@ -1981,7 +1988,8 @@ __unicam_try_fmt_meta(struct unicam_node *node, struc= t v4l2_meta_format *meta) return fmtinfo; } =20 -static int unicam_try_fmt_meta(struct file *file, void *priv, +static int unicam_try_fmt_meta(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct unicam_node *node =3D video_drvdata(file); @@ -1990,7 +1998,8 @@ static int unicam_try_fmt_meta(struct file *file, voi= d *priv, return 0; } =20 -static int unicam_s_fmt_meta(struct file *file, void *priv, +static int unicam_s_fmt_meta(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct unicam_node *node =3D video_drvdata(file); @@ -2004,7 +2013,8 @@ static int unicam_s_fmt_meta(struct file *file, void = *priv, return 0; } =20 -static int unicam_enum_framesizes(struct file *file, void *fh, +static int unicam_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct unicam_node *node =3D video_drvdata(file); @@ -2042,7 +2052,8 @@ static int unicam_enum_framesizes(struct file *file, = void *fh, return 0; } =20 -static int unicam_log_status(struct file *file, void *fh) +static int unicam_log_status(struct file *file, + struct video_device_state *state) { struct unicam_node *node =3D video_drvdata(file); struct unicam_device *unicam =3D node->dev; diff --git a/drivers/media/platform/chips-media/coda/coda-common.c b/driver= s/media/platform/chips-media/coda/coda-common.c index 9a57b042d9fd01abd066ca780f772796030ec473..3088efbf4fde60c4ef03e91e21c= e856536fd2535 100644 --- a/drivers/media/platform/chips-media/coda/coda-common.c +++ b/drivers/media/platform/chips-media/coda/coda-common.c @@ -424,7 +424,8 @@ static struct vdoa_data *coda_get_vdoa_data(void) /* * V4L2 ioctl() operations. */ -static int coda_querycap(struct file *file, void *priv, +static int coda_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct coda_ctx *ctx =3D file_to_ctx(file); @@ -442,7 +443,8 @@ static const u32 coda_formats_420[CODA_MAX_FORMATS] =3D= { V4L2_PIX_FMT_YVU420, }; =20 -static int coda_enum_fmt(struct file *file, void *priv, +static int coda_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct video_device *vdev =3D video_devdata(file); @@ -493,8 +495,8 @@ static int coda_enum_fmt(struct file *file, void *priv, return 0; } =20 -static int coda_g_fmt(struct file *file, void *priv, - struct v4l2_format *f) +static int coda_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct coda_q_data *q_data; struct coda_ctx *ctx =3D file_to_ctx(file); @@ -655,7 +657,8 @@ static int coda_try_fmt(struct coda_ctx *ctx, const str= uct coda_codec *codec, return 0; } =20 -static int coda_try_fmt_vid_cap(struct file *file, void *priv, +static int coda_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct coda_ctx *ctx =3D file_to_ctx(file); @@ -761,7 +764,8 @@ static void coda_set_default_colorspace(struct v4l2_pix= _format *fmt) fmt->quantization =3D V4L2_QUANTIZATION_DEFAULT; } =20 -static int coda_try_fmt_vid_out(struct file *file, void *priv, +static int coda_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct coda_ctx *ctx =3D file_to_ctx(file); @@ -855,7 +859,8 @@ static int coda_s_fmt(struct coda_ctx *ctx, struct v4l2= _format *f, return 0; } =20 -static int coda_s_fmt_vid_cap(struct file *file, void *priv, +static int coda_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct coda_ctx *ctx =3D file_to_ctx(file); @@ -874,7 +879,7 @@ static int coda_s_fmt_vid_cap(struct file *file, void *= priv, vscale =3D coda_jpeg_scale(q_data_src->height, f->fmt.pix.height); } =20 - ret =3D coda_try_fmt_vid_cap(file, priv, f); + ret =3D coda_try_fmt_vid_cap(file, state, f); if (ret) return ret; =20 @@ -907,7 +912,8 @@ static int coda_s_fmt_vid_cap(struct file *file, void *= priv, return 0; } =20 -static int coda_s_fmt_vid_out(struct file *file, void *priv, +static int coda_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct coda_ctx *ctx =3D file_to_ctx(file); @@ -916,7 +922,7 @@ static int coda_s_fmt_vid_out(struct file *file, void *= priv, struct vb2_queue *dst_vq; int ret; =20 - ret =3D coda_try_fmt_vid_out(file, priv, f); + ret =3D coda_try_fmt_vid_out(file, state, f); if (ret) return ret; =20 @@ -956,14 +962,15 @@ static int coda_s_fmt_vid_out(struct file *file, void= *priv, =20 memset(&f_cap, 0, sizeof(f_cap)); f_cap.type =3D V4L2_BUF_TYPE_VIDEO_CAPTURE; - coda_g_fmt(file, priv, &f_cap); + coda_g_fmt(file, state, &f_cap); f_cap.fmt.pix.width =3D f->fmt.pix.width; f_cap.fmt.pix.height =3D f->fmt.pix.height; =20 - return coda_s_fmt_vid_cap(file, priv, &f_cap); + return coda_s_fmt_vid_cap(file, state, &f_cap); } =20 -static int coda_reqbufs(struct file *file, void *priv, +static int coda_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *rb) { struct coda_ctx *ctx =3D file_to_ctx(file); @@ -983,7 +990,8 @@ static int coda_reqbufs(struct file *file, void *priv, return 0; } =20 -static int coda_qbuf(struct file *file, void *priv, +static int coda_qbuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf) { struct coda_ctx *ctx =3D file_to_ctx(file); @@ -995,7 +1003,8 @@ static int coda_qbuf(struct file *file, void *priv, return v4l2_m2m_qbuf(file, ctx->fh.m2m_ctx, buf); } =20 -static int coda_dqbuf(struct file *file, void *priv, struct v4l2_buffer *b= uf) +static int coda_dqbuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *buf) { struct coda_ctx *ctx =3D file_to_ctx(file); int ret; @@ -1022,7 +1031,8 @@ void coda_m2m_buf_done(struct coda_ctx *ctx, struct v= b2_v4l2_buffer *buf, v4l2_m2m_buf_done(buf, state); } =20 -static int coda_g_selection(struct file *file, void *fh, +static int coda_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct coda_ctx *ctx =3D file_to_ctx(file); @@ -1068,7 +1078,8 @@ static int coda_g_selection(struct file *file, void *= fh, return 0; } =20 -static int coda_s_selection(struct file *file, void *fh, +static int coda_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct coda_ctx *ctx =3D file_to_ctx(file); @@ -1105,7 +1116,7 @@ static int coda_s_selection(struct file *file, void *= fh, fallthrough; case V4L2_SEL_TGT_NATIVE_SIZE: case V4L2_SEL_TGT_COMPOSE: - return coda_g_selection(file, fh, s); + return coda_g_selection(file, state, s); default: /* v4l2-compliance expects this to fail for read-only targets */ return -EINVAL; @@ -1123,14 +1134,15 @@ static void coda_wake_up_capture_queue(struct coda_= ctx *ctx) wake_up(&dst_vq->done_wq); } =20 -static int coda_encoder_cmd(struct file *file, void *fh, +static int coda_encoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_encoder_cmd *ec) { struct coda_ctx *ctx =3D file_to_ctx(file); struct vb2_v4l2_buffer *buf; int ret; =20 - ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, fh, ec); + ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, state, ec); if (ret < 0) return ret; =20 @@ -1204,7 +1216,8 @@ static bool coda_mark_last_dst_buf(struct coda_ctx *c= tx) return true; } =20 -static int coda_decoder_cmd(struct file *file, void *fh, +static int coda_decoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_decoder_cmd *dc) { struct coda_ctx *ctx =3D file_to_ctx(file); @@ -1215,7 +1228,7 @@ static int coda_decoder_cmd(struct file *file, void *= fh, bool wakeup; int ret; =20 - ret =3D v4l2_m2m_ioctl_try_decoder_cmd(file, fh, dc); + ret =3D v4l2_m2m_ioctl_try_decoder_cmd(file, state, dc); if (ret < 0) return ret; =20 @@ -1283,7 +1296,8 @@ static int coda_decoder_cmd(struct file *file, void *= fh, return 0; } =20 -static int coda_enum_framesizes(struct file *file, void *fh, +static int coda_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct coda_ctx *ctx =3D file_to_ctx(file); @@ -1316,7 +1330,8 @@ static int coda_enum_framesizes(struct file *file, vo= id *fh, return 0; } =20 -static int coda_enum_frameintervals(struct file *file, void *fh, +static int coda_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *f) { struct coda_ctx *ctx =3D file_to_ctx(file); @@ -1356,7 +1371,8 @@ static int coda_enum_frameintervals(struct file *file= , void *fh, return 0; } =20 -static int coda_g_parm(struct file *file, void *fh, struct v4l2_streamparm= *a) +static int coda_g_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct coda_ctx *ctx =3D file_to_ctx(file); struct v4l2_fract *tpf; @@ -1439,7 +1455,8 @@ static uint32_t coda_timeperframe_to_frate(struct v4l= 2_fract *timeperframe) timeperframe->denominator; } =20 -static int coda_s_parm(struct file *file, void *fh, struct v4l2_streamparm= *a) +static int coda_s_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct coda_ctx *ctx =3D file_to_ctx(file); struct v4l2_fract *tpf; diff --git a/drivers/media/platform/chips-media/wave5/wave5-helper.c b/driv= ers/media/platform/chips-media/wave5/wave5-helper.c index f03ad9c0de2215794b2456c39652785fff236966..9916b2277926a1a815d5dbf7d64= 59e98212904c2 100644 --- a/drivers/media/platform/chips-media/wave5/wave5-helper.c +++ b/drivers/media/platform/chips-media/wave5/wave5-helper.c @@ -140,7 +140,7 @@ int wave5_vpu_subscribe_event(struct v4l2_fh *fh, const= struct v4l2_event_subscr } } =20 -int wave5_vpu_g_fmt_out(struct file *file, void *fh, struct v4l2_format *f) +int wave5_vpu_g_fmt_out(struct file *file, struct video_device_state *stat= e, struct v4l2_format *f) { struct vpu_instance *inst =3D file_to_vpu_inst(file); int i; diff --git a/drivers/media/platform/chips-media/wave5/wave5-helper.h b/driv= ers/media/platform/chips-media/wave5/wave5-helper.h index 976a402e426ff329490717925a08a76d777cbe3e..0bb27137781adcc8987c54196d1= 6883b812cdf5e 100644 --- a/drivers/media/platform/chips-media/wave5/wave5-helper.h +++ b/drivers/media/platform/chips-media/wave5/wave5-helper.h @@ -21,7 +21,8 @@ int wave5_vpu_release_device(struct file *filp, int wave5_vpu_queue_init(void *priv, struct vb2_queue *src_vq, struct vb2_= queue *dst_vq, const struct vb2_ops *ops); int wave5_vpu_subscribe_event(struct v4l2_fh *fh, const struct v4l2_event_= subscription *sub); -int wave5_vpu_g_fmt_out(struct file *file, void *fh, struct v4l2_format *f= ); +int wave5_vpu_g_fmt_out(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f); const struct vpu_format *wave5_find_vpu_fmt(unsigned int v4l2_pix_fmt, const struct vpu_format fmt_list[MAX_FMTS]); const struct vpu_format *wave5_find_vpu_fmt_by_idx(unsigned int idx, diff --git a/drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c b/dri= vers/media/platform/chips-media/wave5/wave5-vpu-dec.c index 72af0faa3ef2e6fb83749044eb91a58f39a3a986..7f0a8c0e13701b89963b856e6d3= e33442e0e7938 100644 --- a/drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c +++ b/drivers/media/platform/chips-media/wave5/wave5-vpu-dec.c @@ -457,7 +457,9 @@ static void wave5_vpu_dec_finish_decode(struct vpu_inst= ance *inst) } } =20 -static int wave5_vpu_dec_querycap(struct file *file, void *fh, struct v4l2= _capability *cap) +static int wave5_vpu_dec_querycap(struct file *file, + struct video_device_state *state, + struct v4l2_capability *cap) { strscpy(cap->driver, VPU_DEC_DRV_NAME, sizeof(cap->driver)); strscpy(cap->card, VPU_DEC_DRV_NAME, sizeof(cap->card)); @@ -465,7 +467,9 @@ static int wave5_vpu_dec_querycap(struct file *file, vo= id *fh, struct v4l2_capab return 0; } =20 -static int wave5_vpu_dec_enum_framesizes(struct file *f, void *fh, struct = v4l2_frmsizeenum *fsize) +static int wave5_vpu_dec_enum_framesizes(struct file *f, + struct video_device_state *state, + struct v4l2_frmsizeenum *fsize) { const struct vpu_format *vpu_fmt; =20 @@ -490,7 +494,9 @@ static int wave5_vpu_dec_enum_framesizes(struct file *f= , void *fh, struct v4l2_f return 0; } =20 -static int wave5_vpu_dec_enum_fmt_cap(struct file *file, void *fh, struct = v4l2_fmtdesc *f) +static int wave5_vpu_dec_enum_fmt_cap(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f) { const struct vpu_format *vpu_fmt; =20 @@ -504,7 +510,9 @@ static int wave5_vpu_dec_enum_fmt_cap(struct file *file= , void *fh, struct v4l2_f return 0; } =20 -static int wave5_vpu_dec_try_fmt_cap(struct file *file, void *fh, struct v= 4l2_format *f) +static int wave5_vpu_dec_try_fmt_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vpu_instance *inst =3D file_to_vpu_inst(file); struct dec_info *p_dec_info =3D &inst->codec_info->dec_info; @@ -545,7 +553,9 @@ static int wave5_vpu_dec_try_fmt_cap(struct file *file,= void *fh, struct v4l2_fo return 0; } =20 -static int wave5_vpu_dec_s_fmt_cap(struct file *file, void *fh, struct v4l= 2_format *f) +static int wave5_vpu_dec_s_fmt_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vpu_instance *inst =3D file_to_vpu_inst(file); int i, ret; @@ -555,7 +565,7 @@ static int wave5_vpu_dec_s_fmt_cap(struct file *file, v= oid *fh, struct v4l2_form __func__, f->fmt.pix_mp.pixelformat, f->fmt.pix_mp.width, f->fmt.pix_mp.= height, f->fmt.pix_mp.num_planes, f->fmt.pix_mp.colorspace, f->fmt.pix_mp.field); =20 - ret =3D wave5_vpu_dec_try_fmt_cap(file, fh, f); + ret =3D wave5_vpu_dec_try_fmt_cap(file, state, f); if (ret) return ret; =20 @@ -604,7 +614,9 @@ static int wave5_vpu_dec_s_fmt_cap(struct file *file, v= oid *fh, struct v4l2_form return 0; } =20 -static int wave5_vpu_dec_g_fmt_cap(struct file *file, void *fh, struct v4l= 2_format *f) +static int wave5_vpu_dec_g_fmt_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vpu_instance *inst =3D file_to_vpu_inst(file); int i; @@ -628,7 +640,9 @@ static int wave5_vpu_dec_g_fmt_cap(struct file *file, v= oid *fh, struct v4l2_form return 0; } =20 -static int wave5_vpu_dec_enum_fmt_out(struct file *file, void *fh, struct = v4l2_fmtdesc *f) +static int wave5_vpu_dec_enum_fmt_out(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f) { struct vpu_instance *inst =3D file_to_vpu_inst(file); const struct vpu_format *vpu_fmt; @@ -645,7 +659,9 @@ static int wave5_vpu_dec_enum_fmt_out(struct file *file= , void *fh, struct v4l2_f return 0; } =20 -static int wave5_vpu_dec_try_fmt_out(struct file *file, void *fh, struct v= 4l2_format *f) +static int wave5_vpu_dec_try_fmt_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vpu_instance *inst =3D file_to_vpu_inst(file); const struct v4l2_frmsize_stepwise *frmsize; @@ -676,7 +692,9 @@ static int wave5_vpu_dec_try_fmt_out(struct file *file,= void *fh, struct v4l2_fo return 0; } =20 -static int wave5_vpu_dec_s_fmt_out(struct file *file, void *fh, struct v4l= 2_format *f) +static int wave5_vpu_dec_s_fmt_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vpu_instance *inst =3D file_to_vpu_inst(file); const struct vpu_format *vpu_fmt; @@ -687,7 +705,7 @@ static int wave5_vpu_dec_s_fmt_out(struct file *file, v= oid *fh, struct v4l2_form __func__, f->fmt.pix_mp.pixelformat, f->fmt.pix_mp.width, f->fmt.pix_mp.= height, f->fmt.pix_mp.num_planes, f->fmt.pix_mp.field); =20 - ret =3D wave5_vpu_dec_try_fmt_out(file, fh, f); + ret =3D wave5_vpu_dec_try_fmt_out(file, state, f); if (ret) return ret; =20 @@ -725,7 +743,9 @@ static int wave5_vpu_dec_s_fmt_out(struct file *file, v= oid *fh, struct v4l2_form return 0; } =20 -static int wave5_vpu_dec_g_selection(struct file *file, void *fh, struct v= 4l2_selection *s) +static int wave5_vpu_dec_g_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s) { struct vpu_instance *inst =3D file_to_vpu_inst(file); =20 @@ -759,7 +779,9 @@ static int wave5_vpu_dec_g_selection(struct file *file,= void *fh, struct v4l2_se return 0; } =20 -static int wave5_vpu_dec_s_selection(struct file *file, void *fh, struct v= 4l2_selection *s) +static int wave5_vpu_dec_s_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s) { struct vpu_instance *inst =3D file_to_vpu_inst(file); =20 @@ -870,7 +892,9 @@ static int wave5_vpu_dec_start(struct vpu_instance *ins= t) return ret; } =20 -static int wave5_vpu_dec_decoder_cmd(struct file *file, void *fh, struct v= 4l2_decoder_cmd *dc) +static int wave5_vpu_dec_decoder_cmd(struct file *file, + struct video_device_state *state, + struct v4l2_decoder_cmd *dc) { struct vpu_instance *inst =3D file_to_vpu_inst(file); struct v4l2_m2m_ctx *m2m_ctx =3D inst->v4l2_fh.m2m_ctx; @@ -878,7 +902,7 @@ static int wave5_vpu_dec_decoder_cmd(struct file *file,= void *fh, struct v4l2_de =20 dev_dbg(inst->dev->dev, "decoder command: %u\n", dc->cmd); =20 - ret =3D v4l2_m2m_ioctl_try_decoder_cmd(file, fh, dc); + ret =3D v4l2_m2m_ioctl_try_decoder_cmd(file, state, dc); if (ret) return ret; =20 diff --git a/drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c b/dri= vers/media/platform/chips-media/wave5/wave5-vpu-enc.c index 506d6c6166a6b0fd9151218cf2c308acef436304..3d7c0dd1b1c34c94ff2263ae0e4= 115d2eeb82b48 100644 --- a/drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c +++ b/drivers/media/platform/chips-media/wave5/wave5-vpu-enc.c @@ -330,7 +330,9 @@ static void wave5_vpu_enc_finish_encode(struct vpu_inst= ance *inst) } } =20 -static int wave5_vpu_enc_querycap(struct file *file, void *fh, struct v4l2= _capability *cap) +static int wave5_vpu_enc_querycap(struct file *file, + struct video_device_state *state, + struct v4l2_capability *cap) { strscpy(cap->driver, VPU_ENC_DRV_NAME, sizeof(cap->driver)); strscpy(cap->card, VPU_ENC_DRV_NAME, sizeof(cap->card)); @@ -338,7 +340,9 @@ static int wave5_vpu_enc_querycap(struct file *file, vo= id *fh, struct v4l2_capab return 0; } =20 -static int wave5_vpu_enc_enum_framesizes(struct file *f, void *fh, struct = v4l2_frmsizeenum *fsize) +static int wave5_vpu_enc_enum_framesizes(struct file *f, + struct video_device_state *state, + struct v4l2_frmsizeenum *fsize) { const struct vpu_format *vpu_fmt; =20 @@ -358,7 +362,9 @@ static int wave5_vpu_enc_enum_framesizes(struct file *f= , void *fh, struct v4l2_f return 0; } =20 -static int wave5_vpu_enc_enum_fmt_cap(struct file *file, void *fh, struct = v4l2_fmtdesc *f) +static int wave5_vpu_enc_enum_fmt_cap(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f) { struct vpu_instance *inst =3D file_to_vpu_inst(file); const struct vpu_format *vpu_fmt; @@ -375,7 +381,9 @@ static int wave5_vpu_enc_enum_fmt_cap(struct file *file= , void *fh, struct v4l2_f return 0; } =20 -static int wave5_vpu_enc_try_fmt_cap(struct file *file, void *fh, struct v= 4l2_format *f) +static int wave5_vpu_enc_try_fmt_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vpu_instance *inst =3D file_to_vpu_inst(file); const struct v4l2_frmsize_stepwise *frmsize; @@ -409,7 +417,9 @@ static int wave5_vpu_enc_try_fmt_cap(struct file *file,= void *fh, struct v4l2_fo return 0; } =20 -static int wave5_vpu_enc_s_fmt_cap(struct file *file, void *fh, struct v4l= 2_format *f) +static int wave5_vpu_enc_s_fmt_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vpu_instance *inst =3D file_to_vpu_inst(file); int i, ret; @@ -418,7 +428,7 @@ static int wave5_vpu_enc_s_fmt_cap(struct file *file, v= oid *fh, struct v4l2_form __func__, f->fmt.pix_mp.pixelformat, f->fmt.pix_mp.width, f->fmt.pix_mp.= height, f->fmt.pix_mp.num_planes, f->fmt.pix_mp.field); =20 - ret =3D wave5_vpu_enc_try_fmt_cap(file, fh, f); + ret =3D wave5_vpu_enc_try_fmt_cap(file, state, f); if (ret) return ret; =20 @@ -443,7 +453,9 @@ static int wave5_vpu_enc_s_fmt_cap(struct file *file, v= oid *fh, struct v4l2_form return 0; } =20 -static int wave5_vpu_enc_g_fmt_cap(struct file *file, void *fh, struct v4l= 2_format *f) +static int wave5_vpu_enc_g_fmt_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vpu_instance *inst =3D file_to_vpu_inst(file); int i; @@ -467,7 +479,9 @@ static int wave5_vpu_enc_g_fmt_cap(struct file *file, v= oid *fh, struct v4l2_form return 0; } =20 -static int wave5_vpu_enc_enum_fmt_out(struct file *file, void *fh, struct = v4l2_fmtdesc *f) +static int wave5_vpu_enc_enum_fmt_out(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f) { struct vpu_instance *inst =3D file_to_vpu_inst(file); const struct vpu_format *vpu_fmt; @@ -484,7 +498,9 @@ static int wave5_vpu_enc_enum_fmt_out(struct file *file= , void *fh, struct v4l2_f return 0; } =20 -static int wave5_vpu_enc_try_fmt_out(struct file *file, void *fh, struct v= 4l2_format *f) +static int wave5_vpu_enc_try_fmt_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vpu_instance *inst =3D file_to_vpu_inst(file); const struct v4l2_frmsize_stepwise *frmsize; @@ -513,7 +529,9 @@ static int wave5_vpu_enc_try_fmt_out(struct file *file,= void *fh, struct v4l2_fo return 0; } =20 -static int wave5_vpu_enc_s_fmt_out(struct file *file, void *fh, struct v4l= 2_format *f) +static int wave5_vpu_enc_s_fmt_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vpu_instance *inst =3D file_to_vpu_inst(file); const struct vpu_format *vpu_fmt; @@ -524,7 +542,7 @@ static int wave5_vpu_enc_s_fmt_out(struct file *file, v= oid *fh, struct v4l2_form __func__, f->fmt.pix_mp.pixelformat, f->fmt.pix_mp.width, f->fmt.pix_mp.= height, f->fmt.pix_mp.num_planes, f->fmt.pix_mp.field); =20 - ret =3D wave5_vpu_enc_try_fmt_out(file, fh, f); + ret =3D wave5_vpu_enc_try_fmt_out(file, state, f); if (ret) return ret; =20 @@ -574,7 +592,9 @@ static int wave5_vpu_enc_s_fmt_out(struct file *file, v= oid *fh, struct v4l2_form return 0; } =20 -static int wave5_vpu_enc_g_selection(struct file *file, void *fh, struct v= 4l2_selection *s) +static int wave5_vpu_enc_g_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s) { struct vpu_instance *inst =3D file_to_vpu_inst(file); =20 @@ -603,7 +623,9 @@ static int wave5_vpu_enc_g_selection(struct file *file,= void *fh, struct v4l2_se return 0; } =20 -static int wave5_vpu_enc_s_selection(struct file *file, void *fh, struct v= 4l2_selection *s) +static int wave5_vpu_enc_s_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s) { struct vpu_instance *inst =3D file_to_vpu_inst(file); =20 @@ -626,13 +648,15 @@ static int wave5_vpu_enc_s_selection(struct file *fil= e, void *fh, struct v4l2_se return 0; } =20 -static int wave5_vpu_enc_encoder_cmd(struct file *file, void *fh, struct v= 4l2_encoder_cmd *ec) +static int wave5_vpu_enc_encoder_cmd(struct file *file, + struct video_device_state *state, + struct v4l2_encoder_cmd *ec) { struct vpu_instance *inst =3D file_to_vpu_inst(file); struct v4l2_m2m_ctx *m2m_ctx =3D inst->v4l2_fh.m2m_ctx; int ret; =20 - ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, fh, ec); + ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, state, ec); if (ret) return ret; =20 @@ -659,7 +683,9 @@ static int wave5_vpu_enc_encoder_cmd(struct file *file,= void *fh, struct v4l2_en return 0; } =20 -static int wave5_vpu_enc_g_parm(struct file *file, void *fh, struct v4l2_s= treamparm *a) +static int wave5_vpu_enc_g_parm(struct file *file, + struct video_device_state *state, + struct v4l2_streamparm *a) { struct vpu_instance *inst =3D file_to_vpu_inst(file); =20 @@ -679,7 +705,9 @@ static int wave5_vpu_enc_g_parm(struct file *file, void= *fh, struct v4l2_streamp return 0; } =20 -static int wave5_vpu_enc_s_parm(struct file *file, void *fh, struct v4l2_s= treamparm *a) +static int wave5_vpu_enc_s_parm(struct file *file, + struct video_device_state *state, + struct v4l2_streamparm *a) { struct vpu_instance *inst =3D file_to_vpu_inst(file); =20 diff --git a/drivers/media/platform/imagination/e5010-jpeg-enc.c b/drivers/= media/platform/imagination/e5010-jpeg-enc.c index c4e0097cb8b7fa310c2c5519d7af4e6e3b378915..840debba40334e7946a171568f6= f2bbfcf448b80 100644 --- a/drivers/media/platform/imagination/e5010-jpeg-enc.c +++ b/drivers/media/platform/imagination/e5010-jpeg-enc.c @@ -228,7 +228,8 @@ static int e5010_set_input_subsampling(void __iomem *co= re_base, int subsampling) }; } =20 -static int e5010_querycap(struct file *file, void *priv, struct v4l2_capab= ility *cap) +static int e5010_querycap(struct file *file, struct video_device_state *st= ate, + struct v4l2_capability *cap) { strscpy(cap->driver, E5010_MODULE_NAME, sizeof(cap->driver)); strscpy(cap->card, E5010_MODULE_NAME, sizeof(cap->card)); @@ -249,7 +250,8 @@ static struct e5010_fmt *find_format(struct v4l2_format= *f) return NULL; } =20 -static int e5010_enum_fmt(struct file *file, void *priv, struct v4l2_fmtde= sc *f) +static int e5010_enum_fmt(struct file *file, struct video_device_state *st= ate, + struct v4l2_fmtdesc *f) { int i, index =3D 0; struct e5010_fmt *fmt =3D NULL; @@ -277,7 +279,8 @@ static int e5010_enum_fmt(struct file *file, void *priv= , struct v4l2_fmtdesc *f) return 0; } =20 -static int e5010_g_fmt(struct file *file, void *priv, struct v4l2_format *= f) +static int e5010_g_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct e5010_context *ctx =3D to_e5010_context(file); struct e5010_q_data *queue; @@ -378,14 +381,16 @@ static int e5010_jpeg_try_fmt(struct v4l2_format *f, = struct e5010_context *ctx) return 0; } =20 -static int e5010_try_fmt(struct file *file, void *priv, struct v4l2_format= *f) +static int e5010_try_fmt(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f) { struct e5010_context *ctx =3D to_e5010_context(file); =20 return e5010_jpeg_try_fmt(f, ctx); } =20 -static int e5010_s_fmt(struct file *file, void *priv, struct v4l2_format *= f) +static int e5010_s_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct e5010_context *ctx =3D to_e5010_context(file); struct vb2_queue *vq; @@ -434,7 +439,9 @@ static int e5010_s_fmt(struct file *file, void *priv, s= truct v4l2_format *f) return 0; } =20 -static int e5010_enum_framesizes(struct file *file, void *priv, struct v4l= 2_frmsizeenum *fsize) +static int e5010_enum_framesizes(struct file *file, + struct video_device_state *state, + struct v4l2_frmsizeenum *fsize) { struct v4l2_format f; struct e5010_fmt *fmt; @@ -460,7 +467,9 @@ static int e5010_enum_framesizes(struct file *file, voi= d *priv, struct v4l2_frms return 0; } =20 -static int e5010_g_selection(struct file *file, void *fh, struct v4l2_sele= ction *s) +static int e5010_g_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s) { struct e5010_context *ctx =3D to_e5010_context(file); struct e5010_q_data *queue; @@ -488,7 +497,9 @@ static int e5010_g_selection(struct file *file, void *f= h, struct v4l2_selection return 0; } =20 -static int e5010_s_selection(struct file *file, void *fh, struct v4l2_sele= ction *s) +static int e5010_s_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s) { struct e5010_context *ctx =3D to_e5010_context(file); struct e5010_q_data *queue; @@ -1258,7 +1269,8 @@ static void e5010_buf_queue(struct vb2_buffer *vb) v4l2_m2m_buf_queue(ctx->fh.m2m_ctx, vbuf); } =20 -static int e5010_encoder_cmd(struct file *file, void *priv, +static int e5010_encoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_encoder_cmd *cmd) { struct e5010_context *ctx =3D to_e5010_context(file); @@ -1267,7 +1279,7 @@ static int e5010_encoder_cmd(struct file *file, void = *priv, =20 cap_vq =3D v4l2_m2m_get_vq(ctx->fh.m2m_ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE_M= PLANE); =20 - ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, &ctx->fh, cmd); + ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, state, cmd); if (ret < 0) return ret; =20 @@ -1275,7 +1287,7 @@ static int e5010_encoder_cmd(struct file *file, void = *priv, !vb2_is_streaming(v4l2_m2m_get_dst_vq(ctx->fh.m2m_ctx))) return 0; =20 - ret =3D v4l2_m2m_ioctl_encoder_cmd(file, &ctx->fh, cmd); + ret =3D v4l2_m2m_ioctl_encoder_cmd(file, state, cmd); if (ret < 0) return ret; =20 diff --git a/drivers/media/platform/intel/pxa_camera.c b/drivers/media/plat= form/intel/pxa_camera.c index bef1e7137f23f02ef0005058c59fb712ba467cea..aa397eccd31a732da54330bb761= f1af219f75ed1 100644 --- a/drivers/media/platform/intel/pxa_camera.c +++ b/drivers/media/platform/intel/pxa_camera.c @@ -1724,7 +1724,8 @@ static int pxa_camera_check_frame(u32 width, u32 heig= ht) } =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -static int pxac_vidioc_g_register(struct file *file, void *priv, +static int pxac_vidioc_g_register(struct file *file, + struct video_device_state *state, struct v4l2_dbg_register *reg) { struct pxa_camera_dev *pcdev =3D video_drvdata(file); @@ -1737,7 +1738,8 @@ static int pxac_vidioc_g_register(struct file *file, = void *priv, return 0; } =20 -static int pxac_vidioc_s_register(struct file *file, void *priv, +static int pxac_vidioc_s_register(struct file *file, + struct video_device_state *state, const struct v4l2_dbg_register *reg) { struct pxa_camera_dev *pcdev =3D video_drvdata(file); @@ -1751,7 +1753,8 @@ static int pxac_vidioc_s_register(struct file *file, = void *priv, } #endif =20 -static int pxac_vidioc_enum_fmt_vid_cap(struct file *filp, void *priv, +static int pxac_vidioc_enum_fmt_vid_cap(struct file *filp, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct pxa_camera_dev *pcdev =3D video_drvdata(filp); @@ -1767,7 +1770,8 @@ static int pxac_vidioc_enum_fmt_vid_cap(struct file *= filp, void *priv, return 0; } =20 -static int pxac_vidioc_g_fmt_vid_cap(struct file *filp, void *priv, +static int pxac_vidioc_g_fmt_vid_cap(struct file *filp, + struct video_device_state *state, struct v4l2_format *f) { struct pxa_camera_dev *pcdev =3D video_drvdata(filp); @@ -1785,7 +1789,8 @@ static int pxac_vidioc_g_fmt_vid_cap(struct file *fil= p, void *priv, return 0; } =20 -static int pxac_vidioc_try_fmt_vid_cap(struct file *filp, void *priv, +static int pxac_vidioc_try_fmt_vid_cap(struct file *filp, + struct video_device_state *state, struct v4l2_format *f) { struct pxa_camera_dev *pcdev =3D video_drvdata(filp); @@ -1852,7 +1857,8 @@ static int pxac_vidioc_try_fmt_vid_cap(struct file *f= ilp, void *priv, return 0; } =20 -static int pxac_vidioc_s_fmt_vid_cap(struct file *filp, void *priv, +static int pxac_vidioc_s_fmt_vid_cap(struct file *filp, + struct video_device_state *state, struct v4l2_format *f) { struct pxa_camera_dev *pcdev =3D video_drvdata(filp); @@ -1875,7 +1881,7 @@ static int pxac_vidioc_s_fmt_vid_cap(struct file *fil= p, void *priv, if (is_busy) return -EBUSY; =20 - ret =3D pxac_vidioc_try_fmt_vid_cap(filp, priv, f); + ret =3D pxac_vidioc_try_fmt_vid_cap(filp, state, f); if (ret) return ret; =20 @@ -1901,7 +1907,8 @@ static int pxac_vidioc_s_fmt_vid_cap(struct file *fil= p, void *priv, return ret; } =20 -static int pxac_vidioc_querycap(struct file *file, void *priv, +static int pxac_vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->bus_info, "platform:pxa-camera", sizeof(cap->bus_info)); @@ -1910,7 +1917,8 @@ static int pxac_vidioc_querycap(struct file *file, vo= id *priv, return 0; } =20 -static int pxac_vidioc_enum_input(struct file *file, void *priv, +static int pxac_vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { if (i->index > 0) @@ -1922,14 +1930,18 @@ static int pxac_vidioc_enum_input(struct file *file= , void *priv, return 0; } =20 -static int pxac_vidioc_g_input(struct file *file, void *priv, unsigned int= *i) +static int pxac_vidioc_g_input(struct file *file, + struct video_device_state *state, + unsigned int *i) { *i =3D 0; =20 return 0; } =20 -static int pxac_vidioc_s_input(struct file *file, void *priv, unsigned int= i) +static int pxac_vidioc_s_input(struct file *file, + struct video_device_state *state, + unsigned int i) { if (i > 0) return -EINVAL; diff --git a/drivers/media/platform/m2m-deinterlace.c b/drivers/media/platf= orm/m2m-deinterlace.c index e07e57d4206baa5e7a467298cb240c3a2cd57cd8..b17d153e0440af996d490bd5468= e68a019df9e30 100644 --- a/drivers/media/platform/m2m-deinterlace.c +++ b/drivers/media/platform/m2m-deinterlace.c @@ -433,7 +433,8 @@ static void deinterlace_device_run(void *priv) /* * video ioctls */ -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, MEM2MEM_NAME, sizeof(cap->driver)); @@ -471,13 +472,15 @@ static int enum_fmt(struct v4l2_fmtdesc *f, u32 type) return -EINVAL; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return enum_fmt(f, MEM2MEM_CAPTURE); } =20 -static int vidioc_enum_fmt_vid_out(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return enum_fmt(f, MEM2MEM_OUTPUT); @@ -514,13 +517,15 @@ static int vidioc_g_fmt(struct deinterlace_ctx *ctx, = struct v4l2_format *f) return 0; } =20 -static int vidioc_g_fmt_vid_out(struct file *file, void *priv, +static int vidioc_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return vidioc_g_fmt(file_to_ctx(file), f); } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return vidioc_g_fmt(file_to_ctx(file), f); @@ -541,7 +546,8 @@ static int vidioc_try_fmt(struct v4l2_format *f, struct= deinterlace_fmt *fmt) return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct deinterlace_ctx *ctx =3D file_to_ctx(file); @@ -561,7 +567,8 @@ static int vidioc_try_fmt_vid_cap(struct file *file, vo= id *priv, return vidioc_try_fmt(f, fmt); } =20 -static int vidioc_try_fmt_vid_out(struct file *file, void *priv, +static int vidioc_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct deinterlace_fmt *fmt; @@ -630,24 +637,26 @@ static int vidioc_s_fmt(struct deinterlace_ctx *ctx, = struct v4l2_format *f) return 0; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret; =20 - ret =3D vidioc_try_fmt_vid_cap(file, priv, f); + ret =3D vidioc_try_fmt_vid_cap(file, state, f); if (ret) return ret; return vidioc_s_fmt(file_to_ctx(file), f); } =20 -static int vidioc_s_fmt_vid_out(struct file *file, void *priv, +static int vidioc_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct deinterlace_ctx *ctx =3D file_to_ctx(file); int ret; =20 - ret =3D vidioc_try_fmt_vid_out(file, priv, f); + ret =3D vidioc_try_fmt_vid_out(file, state, f); if (ret) return ret; =20 @@ -658,7 +667,8 @@ static int vidioc_s_fmt_vid_out(struct file *file, void= *priv, return ret; } =20 -static int vidioc_streamon(struct file *file, void *priv, +static int vidioc_streamon(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct deinterlace_ctx *ctx =3D file_to_ctx(file); diff --git a/drivers/media/platform/marvell/mcam-core.c b/drivers/media/pla= tform/marvell/mcam-core.c index b8360d37000a7d0714d28dc8c3cff0de67503fd3..927187c616364b34dc30455af1f= cbe3f19f9965e 100644 --- a/drivers/media/platform/marvell/mcam-core.c +++ b/drivers/media/platform/marvell/mcam-core.c @@ -1323,8 +1323,8 @@ static int mcam_setup_vb2(struct mcam_camera *cam) * The long list of V4L2 ioctl() operations. */ =20 -static int mcam_vidioc_querycap(struct file *file, void *priv, - struct v4l2_capability *cap) +static int mcam_vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct mcam_camera *cam =3D video_drvdata(file); =20 @@ -1336,7 +1336,7 @@ static int mcam_vidioc_querycap(struct file *file, vo= id *priv, =20 =20 static int mcam_vidioc_enum_fmt_vid_cap(struct file *filp, - void *priv, struct v4l2_fmtdesc *fmt) + struct video_device_state *state, struct v4l2_fmtdesc *fmt) { if (fmt->index >=3D N_MCAM_FMTS) return -EINVAL; @@ -1344,8 +1344,8 @@ static int mcam_vidioc_enum_fmt_vid_cap(struct file *= filp, return 0; } =20 -static int mcam_vidioc_try_fmt_vid_cap(struct file *filp, void *priv, - struct v4l2_format *fmt) +static int mcam_vidioc_try_fmt_vid_cap(struct file *filp, + struct video_device_state *state, struct v4l2_format *fmt) { struct mcam_camera *cam =3D video_drvdata(filp); struct mcam_format_struct *f; @@ -1378,8 +1378,8 @@ static int mcam_vidioc_try_fmt_vid_cap(struct file *f= ilp, void *priv, return ret; } =20 -static int mcam_vidioc_s_fmt_vid_cap(struct file *filp, void *priv, - struct v4l2_format *fmt) +static int mcam_vidioc_s_fmt_vid_cap(struct file *filp, + struct video_device_state *state, struct v4l2_format *fmt) { struct mcam_camera *cam =3D video_drvdata(filp); struct mcam_format_struct *f; @@ -1397,7 +1397,7 @@ static int mcam_vidioc_s_fmt_vid_cap(struct file *fil= p, void *priv, /* * See if the formatting works in principle. */ - ret =3D mcam_vidioc_try_fmt_vid_cap(filp, priv, fmt); + ret =3D mcam_vidioc_try_fmt_vid_cap(filp, state, fmt); if (ret) return ret; /* @@ -1425,8 +1425,8 @@ static int mcam_vidioc_s_fmt_vid_cap(struct file *fil= p, void *priv, * The V4l2 spec wants us to be smarter, and actually get this from * the camera (and not mess with it at open time). Someday. */ -static int mcam_vidioc_g_fmt_vid_cap(struct file *filp, void *priv, - struct v4l2_format *f) +static int mcam_vidioc_g_fmt_vid_cap(struct file *filp, + struct video_device_state *state, struct v4l2_format *f) { struct mcam_camera *cam =3D video_drvdata(filp); =20 @@ -1437,8 +1437,8 @@ static int mcam_vidioc_g_fmt_vid_cap(struct file *fil= p, void *priv, /* * We only have one input - the sensor - so minimize the nonsense here. */ -static int mcam_vidioc_enum_input(struct file *filp, void *priv, - struct v4l2_input *input) +static int mcam_vidioc_enum_input(struct file *filp, + struct video_device_state *state, struct v4l2_input *input) { if (input->index !=3D 0) return -EINVAL; @@ -1448,13 +1448,17 @@ static int mcam_vidioc_enum_input(struct file *filp= , void *priv, return 0; } =20 -static int mcam_vidioc_g_input(struct file *filp, void *priv, unsigned int= *i) +static int mcam_vidioc_g_input(struct file *filp, + struct video_device_state *state, + unsigned int *i) { *i =3D 0; return 0; } =20 -static int mcam_vidioc_s_input(struct file *filp, void *priv, unsigned int= i) +static int mcam_vidioc_s_input(struct file *filp, + struct video_device_state *state, + unsigned int i) { if (i !=3D 0) return -EINVAL; @@ -1465,8 +1469,8 @@ static int mcam_vidioc_s_input(struct file *filp, voi= d *priv, unsigned int i) * G/S_PARM. Most of this is done by the sensor, but we are * the level which controls the number of read buffers. */ -static int mcam_vidioc_g_parm(struct file *filp, void *priv, - struct v4l2_streamparm *a) +static int mcam_vidioc_g_parm(struct file *filp, + struct video_device_state *state, struct v4l2_streamparm *a) { struct mcam_camera *cam =3D video_drvdata(filp); int ret; @@ -1476,8 +1480,8 @@ static int mcam_vidioc_g_parm(struct file *filp, void= *priv, return ret; } =20 -static int mcam_vidioc_s_parm(struct file *filp, void *priv, - struct v4l2_streamparm *a) +static int mcam_vidioc_s_parm(struct file *filp, + struct video_device_state *state, struct v4l2_streamparm *a) { struct mcam_camera *cam =3D video_drvdata(filp); int ret; @@ -1487,7 +1491,8 @@ static int mcam_vidioc_s_parm(struct file *filp, void= *priv, return ret; } =20 -static int mcam_vidioc_enum_framesizes(struct file *filp, void *priv, +static int mcam_vidioc_enum_framesizes(struct file *filp, + struct video_device_state *state, struct v4l2_frmsizeenum *sizes) { struct mcam_camera *cam =3D video_drvdata(filp); @@ -1522,7 +1527,8 @@ static int mcam_vidioc_enum_framesizes(struct file *f= ilp, void *priv, return 0; } =20 -static int mcam_vidioc_enum_frameintervals(struct file *filp, void *priv, +static int mcam_vidioc_enum_frameintervals(struct file *filp, + struct video_device_state *state, struct v4l2_frmivalenum *interval) { struct mcam_camera *cam =3D video_drvdata(filp); @@ -1548,7 +1554,8 @@ static int mcam_vidioc_enum_frameintervals(struct fil= e *filp, void *priv, } =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -static int mcam_vidioc_g_register(struct file *file, void *priv, +static int mcam_vidioc_g_register(struct file *file, + struct video_device_state *state, struct v4l2_dbg_register *reg) { struct mcam_camera *cam =3D video_drvdata(file); @@ -1560,7 +1567,8 @@ static int mcam_vidioc_g_register(struct file *file, = void *priv, return 0; } =20 -static int mcam_vidioc_s_register(struct file *file, void *priv, +static int mcam_vidioc_s_register(struct file *file, + struct video_device_state *state, const struct v4l2_dbg_register *reg) { struct mcam_camera *cam =3D video_drvdata(file); diff --git a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c b/drivers= /media/platform/mediatek/jpeg/mtk_jpeg_core.c index 6268d651bdcfd212b58bf686c55660d64b659dfe..a1c10b334535ebb02f20e4709c9= 6dd4a22fc2eaa 100644 --- a/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c +++ b/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c @@ -130,7 +130,8 @@ static inline struct mtk_jpeg_src_buf *mtk_jpeg_vb2_to_= srcbuf( return container_of(to_vb2_v4l2_buffer(vb), struct mtk_jpeg_src_buf, b); } =20 -static int mtk_jpeg_querycap(struct file *file, void *priv, +static int mtk_jpeg_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct mtk_jpeg_dev *jpeg =3D video_drvdata(file); @@ -209,7 +210,8 @@ static int mtk_jpeg_enum_fmt(struct mtk_jpeg_fmt *mtk_j= peg_formats, int n, return 0; } =20 -static int mtk_jpeg_enum_fmt_vid_cap(struct file *file, void *priv, +static int mtk_jpeg_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct mtk_jpeg_ctx *ctx =3D mtk_jpeg_file_to_ctx(file); @@ -220,7 +222,8 @@ static int mtk_jpeg_enum_fmt_vid_cap(struct file *file,= void *priv, MTK_JPEG_FMT_FLAG_CAPTURE); } =20 -static int mtk_jpeg_enum_fmt_vid_out(struct file *file, void *priv, +static int mtk_jpeg_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct mtk_jpeg_ctx *ctx =3D mtk_jpeg_file_to_ctx(file); @@ -299,7 +302,8 @@ static int mtk_jpeg_try_fmt_mplane(struct v4l2_pix_form= at_mplane *pix_mp, return 0; } =20 -static int mtk_jpeg_g_fmt_vid_mplane(struct file *file, void *priv, +static int mtk_jpeg_g_fmt_vid_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vb2_queue *vq; @@ -348,7 +352,8 @@ static int mtk_jpeg_g_fmt_vid_mplane(struct file *file,= void *priv, return 0; } =20 -static int mtk_jpeg_try_fmt_vid_cap_mplane(struct file *file, void *priv, +static int mtk_jpeg_try_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mtk_jpeg_ctx *ctx =3D mtk_jpeg_file_to_ctx(file); @@ -370,14 +375,15 @@ static int mtk_jpeg_try_fmt_vid_cap_mplane(struct fil= e *file, void *priv, (fmt->fourcc >> 24 & 0xff)); =20 if (ctx->state !=3D MTK_JPEG_INIT) { - mtk_jpeg_g_fmt_vid_mplane(file, priv, f); + mtk_jpeg_g_fmt_vid_mplane(file, state, f); return 0; } =20 return mtk_jpeg_try_fmt_mplane(&f->fmt.pix_mp, fmt); } =20 -static int mtk_jpeg_try_fmt_vid_out_mplane(struct file *file, void *priv, +static int mtk_jpeg_try_fmt_vid_out_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mtk_jpeg_ctx *ctx =3D mtk_jpeg_file_to_ctx(file); @@ -399,7 +405,7 @@ static int mtk_jpeg_try_fmt_vid_out_mplane(struct file = *file, void *priv, (fmt->fourcc >> 24 & 0xff)); =20 if (ctx->state !=3D MTK_JPEG_INIT) { - mtk_jpeg_g_fmt_vid_mplane(file, priv, f); + mtk_jpeg_g_fmt_vid_mplane(file, state, f); return 0; } =20 @@ -461,12 +467,13 @@ static int mtk_jpeg_s_fmt_mplane(struct mtk_jpeg_ctx = *ctx, return 0; } =20 -static int mtk_jpeg_s_fmt_vid_out_mplane(struct file *file, void *priv, +static int mtk_jpeg_s_fmt_vid_out_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret; =20 - ret =3D mtk_jpeg_try_fmt_vid_out_mplane(file, priv, f); + ret =3D mtk_jpeg_try_fmt_vid_out_mplane(file, state, f); if (ret) return ret; =20 @@ -474,12 +481,13 @@ static int mtk_jpeg_s_fmt_vid_out_mplane(struct file = *file, void *priv, MTK_JPEG_FMT_FLAG_OUTPUT); } =20 -static int mtk_jpeg_s_fmt_vid_cap_mplane(struct file *file, void *priv, +static int mtk_jpeg_s_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret; =20 - ret =3D mtk_jpeg_try_fmt_vid_cap_mplane(file, priv, f); + ret =3D mtk_jpeg_try_fmt_vid_cap_mplane(file, state, f); if (ret) return ret; =20 @@ -509,7 +517,8 @@ static int mtk_jpeg_subscribe_event(struct v4l2_fh *fh, return v4l2_ctrl_subscribe_event(fh, sub); } =20 -static int mtk_jpeg_enc_g_selection(struct file *file, void *priv, +static int mtk_jpeg_enc_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct mtk_jpeg_ctx *ctx =3D mtk_jpeg_file_to_ctx(file); @@ -534,7 +543,8 @@ static int mtk_jpeg_enc_g_selection(struct file *file, = void *priv, return 0; } =20 -static int mtk_jpeg_dec_g_selection(struct file *file, void *priv, +static int mtk_jpeg_dec_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct mtk_jpeg_ctx *ctx =3D mtk_jpeg_file_to_ctx(file); @@ -563,7 +573,8 @@ static int mtk_jpeg_dec_g_selection(struct file *file, = void *priv, return 0; } =20 -static int mtk_jpeg_enc_s_selection(struct file *file, void *priv, +static int mtk_jpeg_enc_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct mtk_jpeg_ctx *ctx =3D mtk_jpeg_file_to_ctx(file); @@ -586,7 +597,8 @@ static int mtk_jpeg_enc_s_selection(struct file *file, = void *priv, return 0; } =20 -static int mtk_jpeg_qbuf(struct file *file, void *priv, struct v4l2_buffer= *buf) +static int mtk_jpeg_qbuf(struct file *file, struct video_device_state *sta= te, + struct v4l2_buffer *buf) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); struct mtk_jpeg_ctx *ctx =3D mtk_jpeg_file_to_ctx(file); diff --git a/drivers/media/platform/mediatek/mdp/mtk_mdp_m2m.c b/drivers/me= dia/platform/mediatek/mdp/mtk_mdp_m2m.c index 03c07948dfdd07c6395c391ccad1788b08b1a867..3ca20364730e131fad4f4db54ce= a70a2ee2006c5 100644 --- a/drivers/media/platform/mediatek/mdp/mtk_mdp_m2m.c +++ b/drivers/media/platform/mediatek/mdp/mtk_mdp_m2m.c @@ -586,7 +586,8 @@ static const struct vb2_ops mtk_mdp_m2m_qops =3D { .start_streaming =3D mtk_mdp_m2m_start_streaming, }; =20 -static int mtk_mdp_m2m_querycap(struct file *file, void *fh, +static int mtk_mdp_m2m_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct mtk_mdp_ctx *ctx =3D file_to_ctx(file); @@ -612,19 +613,22 @@ static int mtk_mdp_enum_fmt(struct v4l2_fmtdesc *f, u= 32 type) return 0; } =20 -static int mtk_mdp_m2m_enum_fmt_vid_cap(struct file *file, void *priv, +static int mtk_mdp_m2m_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return mtk_mdp_enum_fmt(f, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE); } =20 -static int mtk_mdp_m2m_enum_fmt_vid_out(struct file *file, void *priv, +static int mtk_mdp_m2m_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return mtk_mdp_enum_fmt(f, V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE); } =20 -static int mtk_mdp_m2m_g_fmt_mplane(struct file *file, void *fh, +static int mtk_mdp_m2m_g_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mtk_mdp_ctx *ctx =3D file_to_ctx(file); @@ -663,7 +667,8 @@ static int mtk_mdp_m2m_g_fmt_mplane(struct file *file, = void *fh, return 0; } =20 -static int mtk_mdp_m2m_try_fmt_mplane(struct file *file, void *fh, +static int mtk_mdp_m2m_try_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mtk_mdp_ctx *ctx =3D file_to_ctx(file); @@ -673,7 +678,8 @@ static int mtk_mdp_m2m_try_fmt_mplane(struct file *file= , void *fh, return 0; } =20 -static int mtk_mdp_m2m_s_fmt_mplane(struct file *file, void *fh, +static int mtk_mdp_m2m_s_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mtk_mdp_ctx *ctx =3D file_to_ctx(file); @@ -719,7 +725,8 @@ static int mtk_mdp_m2m_s_fmt_mplane(struct file *file, = void *fh, return 0; } =20 -static int mtk_mdp_m2m_reqbufs(struct file *file, void *fh, +static int mtk_mdp_m2m_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *reqbufs) { struct mtk_mdp_ctx *ctx =3D file_to_ctx(file); @@ -727,7 +734,8 @@ static int mtk_mdp_m2m_reqbufs(struct file *file, void = *fh, return v4l2_m2m_reqbufs(file, ctx->m2m_ctx, reqbufs); } =20 -static int mtk_mdp_m2m_streamon(struct file *file, void *fh, +static int mtk_mdp_m2m_streamon(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct mtk_mdp_ctx *ctx =3D file_to_ctx(file); @@ -765,7 +773,8 @@ static inline bool mtk_mdp_is_target_crop(u32 target) return false; } =20 -static int mtk_mdp_m2m_g_selection(struct file *file, void *fh, +static int mtk_mdp_m2m_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct mtk_mdp_ctx *ctx =3D file_to_ctx(file); @@ -832,7 +841,8 @@ static int mtk_mdp_check_scaler_ratio(struct mtk_mdp_va= riant *var, int src_w, return 0; } =20 -static int mtk_mdp_m2m_s_selection(struct file *file, void *fh, +static int mtk_mdp_m2m_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct mtk_mdp_ctx *ctx =3D file_to_ctx(file); @@ -1111,9 +1121,9 @@ static int mtk_mdp_m2m_open(struct file *file) default_format.fmt.pix_mp.width =3D 32; default_format.fmt.pix_mp.height =3D 32; default_format.fmt.pix_mp.pixelformat =3D V4L2_PIX_FMT_YUV420M; - mtk_mdp_m2m_s_fmt_mplane(file, &ctx->fh, &default_format); + mtk_mdp_m2m_s_fmt_mplane(file, ctx->fh.state, &default_format); default_format.type =3D V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; - mtk_mdp_m2m_s_fmt_mplane(file, &ctx->fh, &default_format); + mtk_mdp_m2m_s_fmt_mplane(file, ctx->fh.state, &default_format); =20 mtk_mdp_dbg(0, "%s [%d]", dev_name(&mdp->pdev->dev), ctx->id); =20 diff --git a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-m2m.c b/drivers/= media/platform/mediatek/mdp3/mtk-mdp3-m2m.c index 9ef956b565a791429a477dc96567453cb189d817..ce3806b382e34ac370099a35b30= ace72f435866b 100644 --- a/drivers/media/platform/mediatek/mdp3/mtk-mdp3-m2m.c +++ b/drivers/media/platform/mediatek/mdp3/mtk-mdp3-m2m.c @@ -273,7 +273,8 @@ static const struct vb2_ops mdp_m2m_qops =3D { .buf_out_validate =3D mdp_m2m_buf_out_validate, }; =20 -static int mdp_m2m_querycap(struct file *file, void *fh, +static int mdp_m2m_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, MDP_MODULE_NAME, sizeof(cap->driver)); @@ -282,7 +283,8 @@ static int mdp_m2m_querycap(struct file *file, void *fh, return 0; } =20 -static int mdp_m2m_enum_fmt_mplane(struct file *file, void *fh, +static int mdp_m2m_enum_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct mdp_m2m_ctx *ctx =3D file_to_ctx(file); @@ -290,7 +292,8 @@ static int mdp_m2m_enum_fmt_mplane(struct file *file, v= oid *fh, return mdp_enum_fmt_mplane(ctx->mdp_dev, f); } =20 -static int mdp_m2m_g_fmt_mplane(struct file *file, void *fh, +static int mdp_m2m_g_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mdp_m2m_ctx *ctx =3D file_to_ctx(file); @@ -308,7 +311,8 @@ static int mdp_m2m_g_fmt_mplane(struct file *file, void= *fh, return 0; } =20 -static int mdp_m2m_s_fmt_mplane(struct file *file, void *fh, +static int mdp_m2m_s_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mdp_m2m_ctx *ctx =3D file_to_ctx(file); @@ -351,7 +355,8 @@ static int mdp_m2m_s_fmt_mplane(struct file *file, void= *fh, return 0; } =20 -static int mdp_m2m_try_fmt_mplane(struct file *file, void *fh, +static int mdp_m2m_try_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mdp_m2m_ctx *ctx =3D file_to_ctx(file); @@ -362,7 +367,8 @@ static int mdp_m2m_try_fmt_mplane(struct file *file, vo= id *fh, return 0; } =20 -static int mdp_m2m_g_selection(struct file *file, void *fh, +static int mdp_m2m_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct mdp_m2m_ctx *ctx =3D file_to_ctx(file); @@ -414,7 +420,8 @@ static int mdp_m2m_g_selection(struct file *file, void = *fh, return -EINVAL; } =20 -static int mdp_m2m_s_selection(struct file *file, void *fh, +static int mdp_m2m_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct mdp_m2m_ctx *ctx =3D file_to_ctx(file); @@ -616,9 +623,9 @@ static int mdp_m2m_open(struct file *file) default_format.fmt.pix_mp.width =3D limit->out_limit.wmin; default_format.fmt.pix_mp.height =3D limit->out_limit.hmin; default_format.fmt.pix_mp.pixelformat =3D V4L2_PIX_FMT_YUV420M; - mdp_m2m_s_fmt_mplane(file, &ctx->fh, &default_format); + mdp_m2m_s_fmt_mplane(file, NULL, &default_format); default_format.type =3D V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; - mdp_m2m_s_fmt_mplane(file, &ctx->fh, &default_format); + mdp_m2m_s_fmt_mplane(file, NULL, &default_format); =20 dev_dbg(dev, "%s:[%d]", __func__, ctx->id); =20 diff --git a/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec.= c b/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec.c index d691bd533103b100e7d1817e834696cc5b3990ce..a69d4f4620f6d7b3a13eeaaeeda= 2bee1b9313498 100644 --- a/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec.c +++ b/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec.c @@ -156,24 +156,28 @@ static int stateless_decoder_cmd(struct file *file, v= oid *priv, struct v4l2_deco return 0; } =20 -static int vidioc_try_decoder_cmd(struct file *file, void *priv, struct v4= l2_decoder_cmd *cmd) +static int vidioc_try_decoder_cmd(struct file *file, + struct video_device_state *state, + struct v4l2_decoder_cmd *cmd) { struct mtk_vcodec_dec_ctx *ctx =3D file_to_dec_ctx(file); =20 if (ctx->dev->vdec_pdata->uses_stateless_api) - return stateless_try_decoder_cmd(file, priv, cmd); + return stateless_try_decoder_cmd(file, state, cmd); =20 - return stateful_try_decoder_cmd(file, priv, cmd); + return stateful_try_decoder_cmd(file, state, cmd); } =20 -static int vidioc_decoder_cmd(struct file *file, void *priv, struct v4l2_d= ecoder_cmd *cmd) +static int vidioc_decoder_cmd(struct file *file, + struct video_device_state *state, + struct v4l2_decoder_cmd *cmd) { struct mtk_vcodec_dec_ctx *ctx =3D file_to_dec_ctx(file); =20 if (ctx->dev->vdec_pdata->uses_stateless_api) - return stateless_decoder_cmd(file, priv, cmd); + return stateless_decoder_cmd(file, state, cmd); =20 - return stateful_decoder_cmd(file, priv, cmd); + return stateful_decoder_cmd(file, state, cmd); } =20 void mtk_vdec_unlock(struct mtk_vcodec_dec_ctx *ctx) @@ -230,7 +234,8 @@ void mtk_vcodec_dec_set_default_params(struct mtk_vcode= c_dec_ctx *ctx) q_data->bytesperline[1] =3D q_data->coded_width; } =20 -static int vidioc_vdec_qbuf(struct file *file, void *priv, +static int vidioc_vdec_qbuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf) { struct mtk_vcodec_dec_ctx *ctx =3D file_to_dec_ctx(file); @@ -243,7 +248,8 @@ static int vidioc_vdec_qbuf(struct file *file, void *pr= iv, return v4l2_m2m_qbuf(file, ctx->m2m_ctx, buf); } =20 -static int vidioc_vdec_dqbuf(struct file *file, void *priv, +static int vidioc_vdec_dqbuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf) { struct mtk_vcodec_dec_ctx *ctx =3D file_to_dec_ctx(file); @@ -256,7 +262,8 @@ static int vidioc_vdec_dqbuf(struct file *file, void *p= riv, return v4l2_m2m_dqbuf(file, ctx->m2m_ctx, buf); } =20 -static int vidioc_vdec_querycap(struct file *file, void *priv, +static int vidioc_vdec_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct mtk_vcodec_dec_ctx *ctx =3D file_to_dec_ctx(file); @@ -350,7 +357,8 @@ static int vidioc_try_fmt(struct mtk_vcodec_dec_ctx *ct= x, struct v4l2_format *f, return 0; } =20 -static int vidioc_try_fmt_vid_cap_mplane(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { const struct mtk_video_fmt *fmt; @@ -367,7 +375,8 @@ static int vidioc_try_fmt_vid_cap_mplane(struct file *f= ile, void *priv, return vidioc_try_fmt(ctx, f, fmt); } =20 -static int vidioc_try_fmt_vid_out_mplane(struct file *file, void *priv, +static int vidioc_try_fmt_vid_out_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct v4l2_pix_format_mplane *pix_fmt_mp =3D &f->fmt.pix_mp; @@ -390,7 +399,8 @@ static int vidioc_try_fmt_vid_out_mplane(struct file *f= ile, void *priv, return vidioc_try_fmt(ctx, f, fmt); } =20 -static int vidioc_vdec_g_selection(struct file *file, void *priv, +static int vidioc_vdec_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct mtk_vcodec_dec_ctx *ctx =3D file_to_dec_ctx(file); @@ -439,7 +449,8 @@ static int vidioc_vdec_g_selection(struct file *file, v= oid *priv, return 0; } =20 -static int vidioc_vdec_s_selection(struct file *file, void *priv, +static int vidioc_vdec_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct mtk_vcodec_dec_ctx *ctx =3D file_to_dec_ctx(file); @@ -461,7 +472,8 @@ static int vidioc_vdec_s_selection(struct file *file, v= oid *priv, return 0; } =20 -static int vidioc_vdec_s_fmt(struct file *file, void *priv, +static int vidioc_vdec_s_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mtk_vcodec_dec_ctx *ctx =3D file_to_dec_ctx(file); @@ -590,7 +602,8 @@ static int vidioc_vdec_s_fmt(struct file *file, void *p= riv, return 0; } =20 -static int vidioc_enum_framesizes(struct file *file, void *priv, +static int vidioc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { int i =3D 0; @@ -657,19 +670,22 @@ static int vidioc_enum_fmt(struct file *file, struct = v4l2_fmtdesc *f, return 0; } =20 -static int vidioc_vdec_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_vdec_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return vidioc_enum_fmt(file, f, false); } =20 -static int vidioc_vdec_enum_fmt_vid_out(struct file *file, void *priv, +static int vidioc_vdec_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return vidioc_enum_fmt(file, f, true); } =20 -static int vidioc_vdec_g_fmt(struct file *file, void *priv, +static int vidioc_vdec_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mtk_vcodec_dec_ctx *ctx =3D file_to_dec_ctx(file); diff --git a/drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.= c b/drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c index d815e962ab8981c53000851e8f2bc61faf28056d..ce4636f03e4b1963a49a03743da= e3ac55a014412 100644 --- a/drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c +++ b/drivers/media/platform/mediatek/vcodec/encoder/mtk_vcodec_enc.c @@ -155,7 +155,8 @@ mtk_venc_find_format(u32 fourcc, const struct mtk_vcode= c_enc_pdata *pdata) return NULL; } =20 -static int vidioc_enum_framesizes(struct file *file, void *fh, +static int vidioc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { const struct mtk_video_fmt *fmt; @@ -179,7 +180,8 @@ static int vidioc_enum_framesizes(struct file *file, vo= id *fh, return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { const struct mtk_vcodec_enc_pdata *pdata =3D @@ -189,7 +191,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, v= oid *priv, pdata->num_capture_formats); } =20 -static int vidioc_enum_fmt_vid_out(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { const struct mtk_vcodec_enc_pdata *pdata =3D @@ -217,7 +220,8 @@ static int mtk_vcodec_enc_get_chip_name(struct mtk_vcod= ec_enc_ctx *ctx) return 8173; } =20 -static int vidioc_venc_querycap(struct file *file, void *priv, +static int vidioc_venc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct mtk_vcodec_enc_ctx *ctx =3D file_to_enc_ctx(file); @@ -230,7 +234,8 @@ static int vidioc_venc_querycap(struct file *file, void= *priv, return 0; } =20 -static int vidioc_venc_s_parm(struct file *file, void *priv, +static int vidioc_venc_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *a) { struct mtk_vcodec_enc_ctx *ctx =3D file_to_enc_ctx(file); @@ -253,7 +258,8 @@ static int vidioc_venc_s_parm(struct file *file, void *= priv, return 0; } =20 -static int vidioc_venc_g_parm(struct file *file, void *priv, +static int vidioc_venc_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *a) { struct mtk_vcodec_enc_ctx *ctx =3D file_to_enc_ctx(file); @@ -410,7 +416,8 @@ static void mtk_venc_set_param(struct mtk_vcodec_enc_ct= x *ctx, param->gop_size, param->intra_period); } =20 -static int vidioc_venc_s_fmt_cap(struct file *file, void *priv, +static int vidioc_venc_s_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mtk_vcodec_enc_ctx *ctx =3D file_to_enc_ctx(file); @@ -465,7 +472,8 @@ static int vidioc_venc_s_fmt_cap(struct file *file, voi= d *priv, return 0; } =20 -static int vidioc_venc_s_fmt_out(struct file *file, void *priv, +static int vidioc_venc_s_fmt_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mtk_vcodec_enc_ctx *ctx =3D file_to_enc_ctx(file); @@ -519,7 +527,8 @@ static int vidioc_venc_s_fmt_out(struct file *file, voi= d *priv, return 0; } =20 -static int vidioc_venc_g_fmt(struct file *file, void *priv, +static int vidioc_venc_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct v4l2_pix_format_mplane *pix =3D &f->fmt.pix_mp; @@ -552,7 +561,8 @@ static int vidioc_venc_g_fmt(struct file *file, void *p= riv, return 0; } =20 -static int vidioc_try_fmt_vid_cap_mplane(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { const struct mtk_video_fmt *fmt; @@ -574,7 +584,8 @@ static int vidioc_try_fmt_vid_cap_mplane(struct file *f= ile, void *priv, return 0; } =20 -static int vidioc_try_fmt_vid_out_mplane(struct file *file, void *priv, +static int vidioc_try_fmt_vid_out_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { const struct mtk_video_fmt *fmt; @@ -596,7 +607,8 @@ static int vidioc_try_fmt_vid_out_mplane(struct file *f= ile, void *priv, return vidioc_try_fmt_out(ctx, f, fmt); } =20 -static int vidioc_venc_g_selection(struct file *file, void *priv, +static int vidioc_venc_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct mtk_vcodec_enc_ctx *ctx =3D file_to_enc_ctx(file); @@ -626,7 +638,8 @@ static int vidioc_venc_g_selection(struct file *file, v= oid *priv, return 0; } =20 -static int vidioc_venc_s_selection(struct file *file, void *priv, +static int vidioc_venc_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct mtk_vcodec_enc_ctx *ctx =3D file_to_enc_ctx(file); @@ -651,7 +664,8 @@ static int vidioc_venc_s_selection(struct file *file, v= oid *priv, return 0; } =20 -static int vidioc_venc_qbuf(struct file *file, void *priv, +static int vidioc_venc_qbuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf) { struct mtk_vcodec_enc_ctx *ctx =3D file_to_enc_ctx(file); @@ -665,7 +679,8 @@ static int vidioc_venc_qbuf(struct file *file, void *pr= iv, return v4l2_m2m_qbuf(file, ctx->m2m_ctx, buf); } =20 -static int vidioc_venc_dqbuf(struct file *file, void *priv, +static int vidioc_venc_dqbuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf) { struct mtk_vcodec_enc_ctx *ctx =3D file_to_enc_ctx(file); @@ -703,7 +718,8 @@ static int vidioc_venc_dqbuf(struct file *file, void *p= riv, return 0; } =20 -static int vidioc_encoder_cmd(struct file *file, void *priv, +static int vidioc_encoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_encoder_cmd *cmd) { struct mtk_vcodec_enc_ctx *ctx =3D file_to_enc_ctx(file); @@ -716,7 +732,7 @@ static int vidioc_encoder_cmd(struct file *file, void *= priv, return -EIO; } =20 - ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, priv, cmd); + ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, state, cmd); if (ret) return ret; =20 diff --git a/drivers/media/platform/microchip/microchip-isc-base.c b/driver= s/media/platform/microchip/microchip-isc-base.c index a7cdc743fda71db0ffbf499cb4b9ca18c9e7abf2..9a1a01d231d561bd2f360f320b1= b0438a46d36f9 100644 --- a/drivers/media/platform/microchip/microchip-isc-base.c +++ b/drivers/media/platform/microchip/microchip-isc-base.c @@ -473,7 +473,8 @@ static const struct vb2_ops isc_vb2_ops =3D { .unprepare_streaming =3D isc_unprepare_streaming, }; =20 -static int isc_querycap(struct file *file, void *priv, +static int isc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, "microchip-isc", sizeof(cap->driver)); @@ -482,7 +483,8 @@ static int isc_querycap(struct file *file, void *priv, return 0; } =20 -static int isc_enum_fmt_vid_cap(struct file *file, void *priv, +static int isc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct isc_device *isc =3D video_drvdata(file); @@ -546,7 +548,8 @@ static int isc_enum_fmt_vid_cap(struct file *file, void= *priv, return -EINVAL; } =20 -static int isc_g_fmt_vid_cap(struct file *file, void *priv, +static int isc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct isc_device *isc =3D video_drvdata(file); @@ -985,7 +988,8 @@ static int isc_link_validate(struct media_link *link) return 0; } =20 -static int isc_s_fmt_vid_cap(struct file *file, void *priv, +static int isc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct isc_device *isc =3D video_drvdata(file); @@ -996,7 +1000,8 @@ static int isc_s_fmt_vid_cap(struct file *file, void *= priv, return isc_set_fmt(isc, f); } =20 -static int isc_try_fmt_vid_cap(struct file *file, void *priv, +static int isc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct isc_device *isc =3D video_drvdata(file); @@ -1004,7 +1009,8 @@ static int isc_try_fmt_vid_cap(struct file *file, voi= d *priv, return isc_try_fmt(isc, f); } =20 -static int isc_enum_input(struct file *file, void *priv, +static int isc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { if (inp->index !=3D 0) @@ -1017,14 +1023,16 @@ static int isc_enum_input(struct file *file, void *= priv, return 0; } =20 -static int isc_g_input(struct file *file, void *priv, unsigned int *i) +static int isc_g_input(struct file *file, struct video_device_state *state, + unsigned int *i) { *i =3D 0; =20 return 0; } =20 -static int isc_s_input(struct file *file, void *priv, unsigned int i) +static int isc_s_input(struct file *file, struct video_device_state *state, + unsigned int i) { if (i > 0) return -EINVAL; @@ -1032,21 +1040,24 @@ static int isc_s_input(struct file *file, void *pri= v, unsigned int i) return 0; } =20 -static int isc_g_parm(struct file *file, void *fh, struct v4l2_streamparm = *a) +static int isc_g_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct isc_device *isc =3D video_drvdata(file); =20 return v4l2_g_parm_cap(video_devdata(file), isc->current_subdev->sd, a); } =20 -static int isc_s_parm(struct file *file, void *fh, struct v4l2_streamparm = *a) +static int isc_s_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct isc_device *isc =3D video_drvdata(file); =20 return v4l2_s_parm_cap(video_devdata(file), isc->current_subdev->sd, a); } =20 -static int isc_enum_framesizes(struct file *file, void *fh, +static int isc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct isc_device *isc =3D video_drvdata(file); diff --git a/drivers/media/platform/nuvoton/npcm-video.c b/drivers/media/pl= atform/nuvoton/npcm-video.c index 44e904e61801e8c3b0d3bb8ca83aef0a50fc5992..9d680a60b4e08a4a7ca6cba5451= 1cbf7d3998c78 100644 --- a/drivers/media/platform/nuvoton/npcm-video.c +++ b/drivers/media/platform/nuvoton/npcm-video.c @@ -1129,7 +1129,8 @@ static irqreturn_t npcm_video_irq(int irq, void *arg) return IRQ_HANDLED; } =20 -static int npcm_video_querycap(struct file *file, void *fh, +static int npcm_video_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, DEVICE_NAME, sizeof(cap->driver)); @@ -1138,7 +1139,8 @@ static int npcm_video_querycap(struct file *file, voi= d *fh, return 0; } =20 -static int npcm_video_enum_format(struct file *file, void *fh, +static int npcm_video_enum_format(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct npcm_video *video =3D video_drvdata(file); @@ -1155,7 +1157,8 @@ static int npcm_video_enum_format(struct file *file, = void *fh, return 0; } =20 -static int npcm_video_try_format(struct file *file, void *fh, +static int npcm_video_try_format(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct npcm_video *video =3D video_drvdata(file); @@ -1178,7 +1181,8 @@ static int npcm_video_try_format(struct file *file, v= oid *fh, return 0; } =20 -static int npcm_video_get_format(struct file *file, void *fh, +static int npcm_video_get_format(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct npcm_video *video =3D video_drvdata(file); @@ -1187,13 +1191,14 @@ static int npcm_video_get_format(struct file *file,= void *fh, return 0; } =20 -static int npcm_video_set_format(struct file *file, void *fh, +static int npcm_video_set_format(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct npcm_video *video =3D video_drvdata(file); int ret; =20 - ret =3D npcm_video_try_format(file, fh, f); + ret =3D npcm_video_try_format(file, state, f); if (ret) return ret; =20 @@ -1206,7 +1211,8 @@ static int npcm_video_set_format(struct file *file, v= oid *fh, return 0; } =20 -static int npcm_video_enum_input(struct file *file, void *fh, +static int npcm_video_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { struct npcm_video *video =3D video_drvdata(file); @@ -1222,14 +1228,18 @@ static int npcm_video_enum_input(struct file *file,= void *fh, return 0; } =20 -static int npcm_video_get_input(struct file *file, void *fh, unsigned int = *i) +static int npcm_video_get_input(struct file *file, + struct video_device_state *state, + unsigned int *i) { *i =3D 0; =20 return 0; } =20 -static int npcm_video_set_input(struct file *file, void *fh, unsigned int = i) +static int npcm_video_set_input(struct file *file, + struct video_device_state *state, + unsigned int i) { if (i) return -EINVAL; @@ -1237,7 +1247,8 @@ static int npcm_video_set_input(struct file *file, vo= id *fh, unsigned int i) return 0; } =20 -static int npcm_video_set_dv_timings(struct file *file, void *fh, +static int npcm_video_set_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct npcm_video *video =3D video_drvdata(file); @@ -1261,7 +1272,8 @@ static int npcm_video_set_dv_timings(struct file *fil= e, void *fh, return 0; } =20 -static int npcm_video_get_dv_timings(struct file *file, void *fh, +static int npcm_video_get_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct npcm_video *video =3D video_drvdata(file); @@ -1272,7 +1284,8 @@ static int npcm_video_get_dv_timings(struct file *fil= e, void *fh, return 0; } =20 -static int npcm_video_query_dv_timings(struct file *file, void *fh, +static int npcm_video_query_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct npcm_video *video =3D video_drvdata(file); @@ -1284,14 +1297,16 @@ static int npcm_video_query_dv_timings(struct file = *file, void *fh, return video->v4l2_input_status ? -ENOLINK : 0; } =20 -static int npcm_video_enum_dv_timings(struct file *file, void *fh, +static int npcm_video_enum_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_enum_dv_timings *timings) { return v4l2_enum_dv_timings_cap(timings, &npcm_video_timings_cap, NULL, NULL); } =20 -static int npcm_video_dv_timings_cap(struct file *file, void *fh, +static int npcm_video_dv_timings_cap(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings_cap *cap) { *cap =3D npcm_video_timings_cap; diff --git a/drivers/media/platform/nvidia/tegra-vde/v4l2.c b/drivers/media= /platform/nvidia/tegra-vde/v4l2.c index d94978ae2baf3394206ad7c3eb7a400aeee47cf7..7e96043f0a8043872c72f77cce0= 955622e0b8e0f 100644 --- a/drivers/media/platform/nvidia/tegra-vde/v4l2.c +++ b/drivers/media/platform/nvidia/tegra-vde/v4l2.c @@ -493,7 +493,8 @@ static void tegra_decode_complete(struct work_struct *w= ork) tegra_job_finish(ctx, VB2_BUF_STATE_DONE); } =20 -static int tegra_querycap(struct file *file, void *priv, +static int tegra_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->bus_info, "platform:tegra-vde", sizeof(cap->bus_info)); @@ -503,7 +504,8 @@ static int tegra_querycap(struct file *file, void *priv, return 0; } =20 -static int tegra_enum_decoded_fmt(struct file *file, void *priv, +static int tegra_enum_decoded_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct tegra_ctx *ctx =3D file_to_tegra_ctx(file); @@ -519,7 +521,8 @@ static int tegra_enum_decoded_fmt(struct file *file, vo= id *priv, return 0; } =20 -static int tegra_g_decoded_fmt(struct file *file, void *priv, +static int tegra_g_decoded_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct tegra_ctx *ctx =3D file_to_tegra_ctx(file); @@ -528,7 +531,8 @@ static int tegra_g_decoded_fmt(struct file *file, void = *priv, return 0; } =20 -static int tegra_try_decoded_fmt(struct file *file, void *priv, +static int tegra_try_decoded_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct tegra_ctx *ctx =3D file_to_tegra_ctx(file); @@ -568,7 +572,8 @@ static int tegra_try_decoded_fmt(struct file *file, voi= d *priv, return 0; } =20 -static int tegra_s_decoded_fmt(struct file *file, void *priv, +static int tegra_s_decoded_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct tegra_ctx *ctx =3D file_to_tegra_ctx(file); @@ -581,7 +586,7 @@ static int tegra_s_decoded_fmt(struct file *file, void = *priv, if (vb2_is_busy(vq)) return -EBUSY; =20 - err =3D tegra_try_decoded_fmt(file, priv, f); + err =3D tegra_try_decoded_fmt(file, state, f); if (err) return err; =20 @@ -590,7 +595,8 @@ static int tegra_s_decoded_fmt(struct file *file, void = *priv, return 0; } =20 -static int tegra_enum_coded_fmt(struct file *file, void *priv, +static int tegra_enum_coded_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct tegra_ctx *ctx =3D file_to_tegra_ctx(file); @@ -604,7 +610,8 @@ static int tegra_enum_coded_fmt(struct file *file, void= *priv, return 0; } =20 -static int tegra_g_coded_fmt(struct file *file, void *priv, +static int tegra_g_coded_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct tegra_ctx *ctx =3D file_to_tegra_ctx(file); @@ -627,7 +634,8 @@ tegra_find_coded_fmt_desc(struct tegra_ctx *ctx, u32 fo= urcc) return NULL; } =20 -static int tegra_try_coded_fmt(struct file *file, void *priv, +static int tegra_try_coded_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct v4l2_pix_format_mplane *pix_mp =3D &f->fmt.pix_mp; @@ -653,7 +661,8 @@ static int tegra_try_coded_fmt(struct file *file, void = *priv, return 0; } =20 -static int tegra_s_coded_fmt(struct file *file, void *priv, +static int tegra_s_coded_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct tegra_ctx *ctx =3D file_to_tegra_ctx(file); @@ -683,7 +692,7 @@ static int tegra_s_coded_fmt(struct file *file, void *p= riv, if (vb2_is_busy(peer_vq)) return -EBUSY; =20 - err =3D tegra_try_coded_fmt(file, priv, f); + err =3D tegra_try_coded_fmt(file, state, f); if (err) return err; =20 @@ -715,7 +724,8 @@ static int tegra_s_coded_fmt(struct file *file, void *p= riv, return 0; } =20 -static int tegra_enum_framesizes(struct file *file, void *priv, +static int tegra_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct tegra_ctx *ctx =3D file_to_tegra_ctx(file); @@ -835,10 +845,10 @@ static int tegra_open(struct file *file) v4l2_fh_add(&ctx->fh, file); =20 tegra_reset_coded_fmt(ctx); - tegra_try_coded_fmt(file, &ctx->fh, &ctx->coded_fmt); + tegra_try_coded_fmt(file, ctx->fh.state, &ctx->coded_fmt); =20 tegra_reset_decoded_fmt(ctx); - tegra_try_decoded_fmt(file, &ctx->fh, &ctx->decoded_fmt); + tegra_try_decoded_fmt(file, ctx->fh.state, &ctx->decoded_fmt); =20 return 0; =20 diff --git a/drivers/media/platform/nxp/dw100/dw100.c b/drivers/media/platf= orm/nxp/dw100/dw100.c index 97744c7b7c034cadfdd3f6d76165b4da85fa3d16..7f127f0dbe16227994998d355a2= 2125d58e139c8 100644 --- a/drivers/media/platform/nxp/dw100/dw100.c +++ b/drivers/media/platform/nxp/dw100/dw100.c @@ -686,7 +686,8 @@ static const struct v4l2_file_operations dw100_fops =3D= { .mmap =3D v4l2_m2m_fop_mmap, }; =20 -static int dw100_querycap(struct file *file, void *priv, +static int dw100_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, DRV_NAME, sizeof(cap->driver)); @@ -695,7 +696,8 @@ static int dw100_querycap(struct file *file, void *priv, return 0; } =20 -static int dw100_enum_fmt_vid(struct file *file, void *priv, +static int dw100_enum_fmt_vid(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { int i, num =3D 0; @@ -713,7 +715,8 @@ static int dw100_enum_fmt_vid(struct file *file, void *= priv, return -EINVAL; } =20 -static int dw100_enum_framesizes(struct file *file, void *priv, +static int dw100_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { const struct dw100_fmt *fmt; @@ -732,7 +735,9 @@ static int dw100_enum_framesizes(struct file *file, voi= d *priv, return 0; } =20 -static int dw100_g_fmt_vid(struct file *file, void *priv, struct v4l2_form= at *f) +static int dw100_g_fmt_vid(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct dw100_ctx *ctx =3D dw100_file2ctx(file); struct vb2_queue *vq; @@ -861,7 +866,8 @@ static int dw100_s_fmt(struct dw100_ctx *ctx, struct v4= l2_format *f) return 0; } =20 -static int dw100_try_fmt_vid_cap(struct file *file, void *priv, +static int dw100_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { if (f->type !=3D V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) @@ -870,13 +876,14 @@ static int dw100_try_fmt_vid_cap(struct file *file, v= oid *priv, return dw100_try_fmt(file, f); } =20 -static int dw100_s_fmt_vid_cap(struct file *file, void *priv, +static int dw100_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct dw100_ctx *ctx =3D dw100_file2ctx(file); int ret; =20 - ret =3D dw100_try_fmt_vid_cap(file, priv, f); + ret =3D dw100_try_fmt_vid_cap(file, state, f); if (ret) return ret; =20 @@ -887,7 +894,8 @@ static int dw100_s_fmt_vid_cap(struct file *file, void = *priv, return 0; } =20 -static int dw100_try_fmt_vid_out(struct file *file, void *priv, +static int dw100_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { if (f->type !=3D V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) @@ -896,13 +904,14 @@ static int dw100_try_fmt_vid_out(struct file *file, v= oid *priv, return dw100_try_fmt(file, f); } =20 -static int dw100_s_fmt_vid_out(struct file *file, void *priv, +static int dw100_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct dw100_ctx *ctx =3D dw100_file2ctx(file); int ret; =20 - ret =3D dw100_try_fmt_vid_out(file, priv, f); + ret =3D dw100_try_fmt_vid_out(file, state, f); if (ret) return ret; =20 @@ -913,7 +922,8 @@ static int dw100_s_fmt_vid_out(struct file *file, void = *priv, return 0; } =20 -static int dw100_g_selection(struct file *file, void *fh, +static int dw100_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct dw100_ctx *ctx =3D dw100_file2ctx(file); @@ -945,7 +955,8 @@ static int dw100_g_selection(struct file *file, void *f= h, return 0; } =20 -static int dw100_s_selection(struct file *file, void *fh, +static int dw100_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct dw100_ctx *ctx =3D dw100_file2ctx(file); diff --git a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c b/drivers/media= /platform/nxp/imx-jpeg/mxc-jpeg.c index df3ccdf767baf0bf6687808e2c017063181a7220..c4cca1f9dabd03ac34a935b1bc8= b5bc9b7b1f490 100644 --- a/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c +++ b/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c @@ -1601,7 +1601,8 @@ static void mxc_jpeg_device_run(void *priv) spin_unlock_irqrestore(&ctx->mxc_jpeg->hw_lock, flags); } =20 -static int mxc_jpeg_decoder_cmd(struct file *file, void *priv, +static int mxc_jpeg_decoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_decoder_cmd *cmd) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); @@ -1609,7 +1610,7 @@ static int mxc_jpeg_decoder_cmd(struct file *file, vo= id *priv, unsigned long flags; int ret; =20 - ret =3D v4l2_m2m_ioctl_try_decoder_cmd(file, fh, cmd); + ret =3D v4l2_m2m_ioctl_try_decoder_cmd(file, state, cmd); if (ret < 0) return ret; =20 @@ -1617,7 +1618,7 @@ static int mxc_jpeg_decoder_cmd(struct file *file, vo= id *priv, return 0; =20 spin_lock_irqsave(&ctx->mxc_jpeg->hw_lock, flags); - ret =3D v4l2_m2m_ioctl_decoder_cmd(file, priv, cmd); + ret =3D v4l2_m2m_ioctl_decoder_cmd(file, state, cmd); spin_unlock_irqrestore(&ctx->mxc_jpeg->hw_lock, flags); if (ret < 0) return ret; @@ -1634,7 +1635,8 @@ static int mxc_jpeg_decoder_cmd(struct file *file, vo= id *priv, return 0; } =20 -static int mxc_jpeg_encoder_cmd(struct file *file, void *priv, +static int mxc_jpeg_encoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_encoder_cmd *cmd) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); @@ -1642,7 +1644,7 @@ static int mxc_jpeg_encoder_cmd(struct file *file, vo= id *priv, unsigned long flags; int ret; =20 - ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, fh, cmd); + ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, state, cmd); if (ret < 0) return ret; =20 @@ -1651,7 +1653,7 @@ static int mxc_jpeg_encoder_cmd(struct file *file, vo= id *priv, return 0; =20 spin_lock_irqsave(&ctx->mxc_jpeg->hw_lock, flags); - ret =3D v4l2_m2m_ioctl_encoder_cmd(file, fh, cmd); + ret =3D v4l2_m2m_ioctl_encoder_cmd(file, state, cmd); spin_unlock_irqrestore(&ctx->mxc_jpeg->hw_lock, flags); if (ret < 0) return 0; @@ -2241,7 +2243,8 @@ static int mxc_jpeg_open(struct file *file) return ret; } =20 -static int mxc_jpeg_querycap(struct file *file, void *priv, +static int mxc_jpeg_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, MXC_JPEG_NAME " codec", sizeof(cap->driver)); @@ -2252,7 +2255,8 @@ static int mxc_jpeg_querycap(struct file *file, void = *priv, return 0; } =20 -static int mxc_jpeg_enum_fmt_vid_cap(struct file *file, void *priv, +static int mxc_jpeg_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct mxc_jpeg_ctx *ctx =3D mxc_jpeg_file_to_ctx(file); @@ -2292,7 +2296,8 @@ static int mxc_jpeg_enum_fmt_vid_cap(struct file *fil= e, void *priv, } } =20 -static int mxc_jpeg_enum_fmt_vid_out(struct file *file, void *priv, +static int mxc_jpeg_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct mxc_jpeg_ctx *ctx =3D mxc_jpeg_file_to_ctx(file); @@ -2433,7 +2438,8 @@ static int mxc_jpeg_try_fmt(struct v4l2_format *f, return 0; } =20 -static int mxc_jpeg_try_fmt_vid_cap(struct file *file, void *priv, +static int mxc_jpeg_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mxc_jpeg_ctx *ctx =3D mxc_jpeg_file_to_ctx(file); @@ -2452,7 +2458,8 @@ static int mxc_jpeg_try_fmt_vid_cap(struct file *file= , void *priv, return mxc_jpeg_try_fmt(f, ctx, &tmp_q); } =20 -static int mxc_jpeg_try_fmt_vid_out(struct file *file, void *priv, +static int mxc_jpeg_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mxc_jpeg_ctx *ctx =3D mxc_jpeg_file_to_ctx(file); @@ -2504,13 +2511,15 @@ static int mxc_jpeg_s_fmt(struct mxc_jpeg_ctx *ctx, return mxc_jpeg_try_fmt(f, ctx, mxc_jpeg_get_q_data(ctx, f->type)); } =20 -static int mxc_jpeg_s_fmt_vid_cap(struct file *file, void *priv, +static int mxc_jpeg_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return mxc_jpeg_s_fmt(mxc_jpeg_file_to_ctx(file), f); } =20 -static int mxc_jpeg_s_fmt_vid_out(struct file *file, void *priv, +static int mxc_jpeg_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret; @@ -2543,10 +2552,11 @@ static int mxc_jpeg_s_fmt_vid_out(struct file *file= , void *priv, fc.fmt.pix_mp.width =3D f->fmt.pix_mp.width; fc.fmt.pix_mp.height =3D f->fmt.pix_mp.height; =20 - return mxc_jpeg_s_fmt_vid_cap(file, priv, &fc); + return mxc_jpeg_s_fmt_vid_cap(file, state, &fc); } =20 -static int mxc_jpeg_g_fmt_vid(struct file *file, void *priv, +static int mxc_jpeg_g_fmt_vid(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mxc_jpeg_ctx *ctx =3D mxc_jpeg_file_to_ctx(file); @@ -2642,17 +2652,21 @@ static int mxc_jpeg_enc_g_selection(struct file *fi= le, void *fh, struct v4l2_sel return 0; } =20 -static int mxc_jpeg_g_selection(struct file *file, void *fh, struct v4l2_s= election *s) +static int mxc_jpeg_g_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s) { struct mxc_jpeg_ctx *ctx =3D mxc_jpeg_file_to_ctx(file); =20 if (ctx->mxc_jpeg->mode =3D=3D MXC_JPEG_DECODE) - return mxc_jpeg_dec_g_selection(file, fh, s); + return mxc_jpeg_dec_g_selection(file, state, s); else - return mxc_jpeg_enc_g_selection(file, fh, s); + return mxc_jpeg_enc_g_selection(file, state, s); } =20 -static int mxc_jpeg_s_selection(struct file *file, void *fh, struct v4l2_s= election *s) +static int mxc_jpeg_s_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s) { struct mxc_jpeg_ctx *ctx =3D mxc_jpeg_file_to_ctx(file); struct mxc_jpeg_q_data *q_data_out; diff --git a/drivers/media/platform/nxp/imx-pxp.c b/drivers/media/platform/= nxp/imx-pxp.c index 6cc9b07ea53a002c2eda0fd6062096f5527ad62c..ed480a63eae071addfa14f510b8= 67cea9d058396 100644 --- a/drivers/media/platform/nxp/imx-pxp.c +++ b/drivers/media/platform/nxp/imx-pxp.c @@ -1127,7 +1127,8 @@ static irqreturn_t pxp_irq_handler(int irq, void *dev= _id) /* * video ioctls */ -static int pxp_querycap(struct file *file, void *priv, +static int pxp_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, MEM2MEM_NAME, sizeof(cap->driver)); @@ -1166,13 +1167,15 @@ static int pxp_enum_fmt(struct v4l2_fmtdesc *f, u32= type) return -EINVAL; } =20 -static int pxp_enum_fmt_vid_cap(struct file *file, void *priv, +static int pxp_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return pxp_enum_fmt(f, MEM2MEM_CAPTURE); } =20 -static int pxp_enum_fmt_vid_out(struct file *file, void *priv, +static int pxp_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return pxp_enum_fmt(f, MEM2MEM_OUTPUT); @@ -1203,13 +1206,15 @@ static int pxp_g_fmt(struct pxp_ctx *ctx, struct v4= l2_format *f) return 0; } =20 -static int pxp_g_fmt_vid_out(struct file *file, void *priv, +static int pxp_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return pxp_g_fmt(file2ctx(file), f); } =20 -static int pxp_g_fmt_vid_cap(struct file *file, void *priv, +static int pxp_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return pxp_g_fmt(file2ctx(file), f); @@ -1271,7 +1276,8 @@ pxp_fixup_colorimetry_cap(struct pxp_ctx *ctx, u32 ds= t_fourcc, } } =20 -static int pxp_try_fmt_vid_cap(struct file *file, void *priv, +static int pxp_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct pxp_fmt *fmt; @@ -1299,7 +1305,8 @@ static int pxp_try_fmt_vid_cap(struct file *file, voi= d *priv, return pxp_try_fmt(f, fmt); } =20 -static int pxp_try_fmt_vid_out(struct file *file, void *priv, +static int pxp_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct pxp_fmt *fmt; @@ -1354,13 +1361,14 @@ static int pxp_s_fmt(struct pxp_ctx *ctx, struct v4= l2_format *f) return 0; } =20 -static int pxp_s_fmt_vid_cap(struct file *file, void *priv, +static int pxp_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct pxp_ctx *ctx =3D file2ctx(file); int ret; =20 - ret =3D pxp_try_fmt_vid_cap(file, priv, f); + ret =3D pxp_try_fmt_vid_cap(file, state, f); if (ret) return ret; =20 @@ -1374,13 +1382,14 @@ static int pxp_s_fmt_vid_cap(struct file *file, voi= d *priv, return 0; } =20 -static int pxp_s_fmt_vid_out(struct file *file, void *priv, +static int pxp_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct pxp_ctx *ctx =3D file2ctx(file); int ret; =20 - ret =3D pxp_try_fmt_vid_out(file, priv, f); + ret =3D pxp_try_fmt_vid_out(file, state, f); if (ret) return ret; =20 @@ -1400,7 +1409,8 @@ static int pxp_s_fmt_vid_out(struct file *file, void = *priv, return 0; } =20 -static int pxp_enum_framesizes(struct file *file, void *fh, +static int pxp_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { if (fsize->index > 0) diff --git a/drivers/media/platform/nxp/imx7-media-csi.c b/drivers/media/pl= atform/nxp/imx7-media-csi.c index 34a92642bbfe7b7ce9c85fbaf346c6f595425cc9..44664c48d770601a8bed4a76a54= 7ac377e336067 100644 --- a/drivers/media/platform/nxp/imx7-media-csi.c +++ b/drivers/media/platform/nxp/imx7-media-csi.c @@ -1035,7 +1035,8 @@ static int imx7_csi_enum_mbus_formats(u32 *code, u32 = index) * Video Capture Device - IOCTLs */ =20 -static int imx7_csi_video_querycap(struct file *file, void *fh, +static int imx7_csi_video_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct imx7_csi *csi =3D video_drvdata(file); @@ -1048,7 +1049,8 @@ static int imx7_csi_video_querycap(struct file *file,= void *fh, return 0; } =20 -static int imx7_csi_video_enum_fmt_vid_cap(struct file *file, void *fh, +static int imx7_csi_video_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { unsigned int index =3D f->index; @@ -1087,7 +1089,8 @@ static int imx7_csi_video_enum_fmt_vid_cap(struct fil= e *file, void *fh, return -EINVAL; } =20 -static int imx7_csi_video_enum_framesizes(struct file *file, void *fh, +static int imx7_csi_video_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { const struct imx7_csi_pixfmt *cc; @@ -1117,7 +1120,8 @@ static int imx7_csi_video_enum_framesizes(struct file= *file, void *fh, return 0; } =20 -static int imx7_csi_video_g_fmt_vid_cap(struct file *file, void *fh, +static int imx7_csi_video_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct imx7_csi *csi =3D video_drvdata(file); @@ -1167,14 +1171,16 @@ __imx7_csi_video_try_fmt(struct v4l2_pix_format *pi= xfmt, return cc; } =20 -static int imx7_csi_video_try_fmt_vid_cap(struct file *file, void *fh, +static int imx7_csi_video_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { __imx7_csi_video_try_fmt(&f->fmt.pix, NULL); return 0; } =20 -static int imx7_csi_video_s_fmt_vid_cap(struct file *file, void *fh, +static int imx7_csi_video_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct imx7_csi *csi =3D video_drvdata(file); @@ -1193,7 +1199,8 @@ static int imx7_csi_video_s_fmt_vid_cap(struct file *= file, void *fh, return 0; } =20 -static int imx7_csi_video_g_selection(struct file *file, void *fh, +static int imx7_csi_video_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct imx7_csi *csi =3D video_drvdata(file); diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-m2m.c b/drivers/m= edia/platform/nxp/imx8-isi/imx8-isi-m2m.c index 00afcbfbdde4840145a2cec8acbafea604ce2f0e..d447b752d6f18d41602b22806a1= 7c67366ae346b 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-m2m.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-m2m.c @@ -473,7 +473,8 @@ static void mxc_isi_m2m_ctx_ctrls_delete(struct mxc_isi= _m2m_ctx *ctx) * V4L2 ioctls */ =20 -static int mxc_isi_m2m_querycap(struct file *file, void *fh, +static int mxc_isi_m2m_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, MXC_ISI_DRIVER_NAME, sizeof(cap->driver)); @@ -484,7 +485,8 @@ static int mxc_isi_m2m_querycap(struct file *file, void= *fh, return 0; } =20 -static int mxc_isi_m2m_enum_fmt_vid(struct file *file, void *fh, +static int mxc_isi_m2m_enum_fmt_vid(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { const enum mxc_isi_video_type type =3D @@ -517,7 +519,8 @@ __mxc_isi_m2m_try_fmt_vid(struct mxc_isi_m2m_ctx *ctx, return mxc_isi_format_try(ctx->m2m->pipe, pix, type); } =20 -static int mxc_isi_m2m_try_fmt_vid(struct file *file, void *fh, +static int mxc_isi_m2m_try_fmt_vid(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { const enum mxc_isi_video_type type =3D @@ -530,7 +533,8 @@ static int mxc_isi_m2m_try_fmt_vid(struct file *file, v= oid *fh, return 0; } =20 -static int mxc_isi_m2m_g_fmt_vid(struct file *file, void *fh, +static int mxc_isi_m2m_g_fmt_vid(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mxc_isi_m2m_ctx *ctx =3D file_to_isi_m2m_ctx(file); @@ -542,7 +546,8 @@ static int mxc_isi_m2m_g_fmt_vid(struct file *file, voi= d *fh, return 0; } =20 -static int mxc_isi_m2m_s_fmt_vid(struct file *file, void *fh, +static int mxc_isi_m2m_s_fmt_vid(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { const enum mxc_isi_video_type type =3D diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c b/drivers= /media/platform/nxp/imx8-isi/imx8-isi-video.c index 13682bf6e9f8895bb9eb1f92d5f74b0d5968544e..e8fafd15930564c0d81d579674c= 87ff38bc8edbb 100644 --- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c +++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-video.c @@ -1114,7 +1114,8 @@ static void mxc_isi_video_ctrls_delete(struct mxc_isi= _video *video) * V4L2 ioctls */ =20 -static int mxc_isi_video_querycap(struct file *file, void *priv, +static int mxc_isi_video_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, MXC_ISI_DRIVER_NAME, sizeof(cap->driver)); @@ -1123,7 +1124,8 @@ static int mxc_isi_video_querycap(struct file *file, = void *priv, return 0; } =20 -static int mxc_isi_video_enum_fmt(struct file *file, void *priv, +static int mxc_isi_video_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { const struct mxc_isi_format_info *fmt; @@ -1163,7 +1165,8 @@ static int mxc_isi_video_enum_fmt(struct file *file, = void *priv, return 0; } =20 -static int mxc_isi_video_g_fmt(struct file *file, void *fh, +static int mxc_isi_video_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mxc_isi_video *video =3D video_drvdata(file); @@ -1173,7 +1176,8 @@ static int mxc_isi_video_g_fmt(struct file *file, voi= d *fh, return 0; } =20 -static int mxc_isi_video_try_fmt(struct file *file, void *fh, +static int mxc_isi_video_try_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mxc_isi_video *video =3D video_drvdata(file); @@ -1182,7 +1186,8 @@ static int mxc_isi_video_try_fmt(struct file *file, v= oid *fh, return 0; } =20 -static int mxc_isi_video_s_fmt(struct file *file, void *priv, +static int mxc_isi_video_s_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct mxc_isi_video *video =3D video_drvdata(file); @@ -1197,7 +1202,8 @@ static int mxc_isi_video_s_fmt(struct file *file, voi= d *priv, return 0; } =20 -static int mxc_isi_video_enum_framesizes(struct file *file, void *priv, +static int mxc_isi_video_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct mxc_isi_video *video =3D video_drvdata(file); diff --git a/drivers/media/platform/nxp/mx2_emmaprp.c b/drivers/media/platf= orm/nxp/mx2_emmaprp.c index 3aae8c0b690c0b1b0dd4f05a1c9184b089719a20..9fec60210a088110147246865fe= 9d844c7cb5d44 100644 --- a/drivers/media/platform/nxp/mx2_emmaprp.c +++ b/drivers/media/platform/nxp/mx2_emmaprp.c @@ -380,7 +380,8 @@ static irqreturn_t emmaprp_irq(int irq_emma, void *data) /* * video ioctls */ -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, MEM2MEM_NAME, sizeof(cap->driver)); @@ -417,13 +418,15 @@ static int enum_fmt(struct v4l2_fmtdesc *f, u32 type) return -EINVAL; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return enum_fmt(f, MEM2MEM_CAPTURE); } =20 -static int vidioc_enum_fmt_vid_out(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return enum_fmt(f, MEM2MEM_OUTPUT); @@ -453,13 +456,15 @@ static int vidioc_g_fmt(struct emmaprp_ctx *ctx, stru= ct v4l2_format *f) return 0; } =20 -static int vidioc_g_fmt_vid_out(struct file *file, void *priv, +static int vidioc_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return vidioc_g_fmt(file_to_emmaprp_ctx(file), f); } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return vidioc_g_fmt(file_to_emmaprp_ctx(file), f); @@ -499,7 +504,8 @@ static int vidioc_try_fmt(struct v4l2_format *f) return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct emmaprp_ctx *ctx =3D file_to_emmaprp_ctx(file); @@ -516,7 +522,8 @@ static int vidioc_try_fmt_vid_cap(struct file *file, vo= id *priv, return vidioc_try_fmt(f); } =20 -static int vidioc_try_fmt_vid_out(struct file *file, void *priv, +static int vidioc_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct emmaprp_ctx *ctx =3D file_to_emmaprp_ctx(file); @@ -571,24 +578,26 @@ static int vidioc_s_fmt(struct emmaprp_ctx *ctx, stru= ct v4l2_format *f) return 0; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret; =20 - ret =3D vidioc_try_fmt_vid_cap(file, priv, f); + ret =3D vidioc_try_fmt_vid_cap(file, state, f); if (ret) return ret; =20 return vidioc_s_fmt(file_to_emmaprp_ctx(file), f); } =20 -static int vidioc_s_fmt_vid_out(struct file *file, void *priv, +static int vidioc_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret; =20 - ret =3D vidioc_try_fmt_vid_out(file, priv, f); + ret =3D vidioc_try_fmt_vid_out(file, state, f); if (ret) return ret; =20 diff --git a/drivers/media/platform/qcom/camss/camss-video.c b/drivers/medi= a/platform/qcom/camss/camss-video.c index 831486e14754ab3a24b077e21be14ea3169220a4..e5315df8929da41c9c952adbb8f= 1465691a763e3 100644 --- a/drivers/media/platform/qcom/camss/camss-video.c +++ b/drivers/media/platform/qcom/camss/camss-video.c @@ -346,7 +346,8 @@ static const struct vb2_ops msm_video_vb2_q_ops =3D { * V4L2 ioctls */ =20 -static int video_querycap(struct file *file, void *fh, +static int video_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, "qcom-camss", sizeof(cap->driver)); @@ -355,7 +356,8 @@ static int video_querycap(struct file *file, void *fh, return 0; } =20 -static int video_enum_fmt(struct file *file, void *fh, struct v4l2_fmtdesc= *f) +static int video_enum_fmt(struct file *file, struct video_device_state *st= ate, + struct v4l2_fmtdesc *f) { struct camss_video *video =3D video_drvdata(file); int i, j, k; @@ -412,7 +414,8 @@ static int video_enum_fmt(struct file *file, void *fh, = struct v4l2_fmtdesc *f) return 0; } =20 -static int video_enum_framesizes(struct file *file, void *fh, +static int video_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct camss_video *video =3D video_drvdata(file); @@ -442,7 +445,8 @@ static int video_enum_framesizes(struct file *file, voi= d *fh, return 0; } =20 -static int video_g_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int video_g_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct camss_video *video =3D video_drvdata(file); =20 @@ -531,14 +535,16 @@ static int __video_try_fmt(struct camss_video *video,= struct v4l2_format *f) return 0; } =20 -static int video_try_fmt(struct file *file, void *fh, struct v4l2_format *= f) +static int video_try_fmt(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f) { struct camss_video *video =3D video_drvdata(file); =20 return __video_try_fmt(video, f); } =20 -static int video_s_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int video_s_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct camss_video *video =3D video_drvdata(file); int ret; @@ -555,7 +561,8 @@ static int video_s_fmt(struct file *file, void *fh, str= uct v4l2_format *f) return 0; } =20 -static int video_enum_input(struct file *file, void *fh, +static int video_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *input) { if (input->index > 0) @@ -567,14 +574,16 @@ static int video_enum_input(struct file *file, void *= fh, return 0; } =20 -static int video_g_input(struct file *file, void *fh, unsigned int *input) +static int video_g_input(struct file *file, struct video_device_state *sta= te, + unsigned int *input) { *input =3D 0; =20 return 0; } =20 -static int video_s_input(struct file *file, void *fh, unsigned int input) +static int video_s_input(struct file *file, struct video_device_state *sta= te, + unsigned int input) { return input =3D=3D 0 ? 0 : -EINVAL; } diff --git a/drivers/media/platform/qcom/iris/iris_vidc.c b/drivers/media/p= latform/qcom/iris/iris_vidc.c index d38d0f6961cd5cb9929e2aecbec7353dcc2d4a7d..9f541ad219700356846e693fd84= 8714df6c6dac1 100644 --- a/drivers/media/platform/qcom/iris/iris_vidc.c +++ b/drivers/media/platform/qcom/iris/iris_vidc.c @@ -308,7 +308,8 @@ int iris_close(struct file *filp) return 0; } =20 -static int iris_enum_fmt(struct file *filp, void *fh, struct v4l2_fmtdesc = *f) +static int iris_enum_fmt(struct file *filp, struct video_device_state *sta= te, + struct v4l2_fmtdesc *f) { struct iris_inst *inst =3D iris_get_inst(filp); =20 @@ -320,7 +321,9 @@ static int iris_enum_fmt(struct file *filp, void *fh, s= truct v4l2_fmtdesc *f) return -EINVAL; } =20 -static int iris_try_fmt_vid_mplane(struct file *filp, void *fh, struct v4l= 2_format *f) +static int iris_try_fmt_vid_mplane(struct file *filp, + struct video_device_state *state, + struct v4l2_format *f) { struct iris_inst *inst =3D iris_get_inst(filp); int ret =3D 0; @@ -337,7 +340,9 @@ static int iris_try_fmt_vid_mplane(struct file *filp, v= oid *fh, struct v4l2_form return ret; } =20 -static int iris_s_fmt_vid_mplane(struct file *filp, void *fh, struct v4l2_= format *f) +static int iris_s_fmt_vid_mplane(struct file *filp, + struct video_device_state *state, + struct v4l2_format *f) { struct iris_inst *inst =3D iris_get_inst(filp); int ret =3D 0; @@ -354,7 +359,9 @@ static int iris_s_fmt_vid_mplane(struct file *filp, voi= d *fh, struct v4l2_format return ret; } =20 -static int iris_g_fmt_vid_mplane(struct file *filp, void *fh, struct v4l2_= format *f) +static int iris_g_fmt_vid_mplane(struct file *filp, + struct video_device_state *state, + struct v4l2_format *f) { struct iris_inst *inst =3D iris_get_inst(filp); int ret =3D 0; @@ -372,7 +379,8 @@ static int iris_g_fmt_vid_mplane(struct file *filp, voi= d *fh, struct v4l2_format return ret; } =20 -static int iris_enum_framesizes(struct file *filp, void *fh, +static int iris_enum_framesizes(struct file *filp, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct iris_inst *inst =3D iris_get_inst(filp); @@ -403,7 +411,8 @@ static int iris_enum_framesizes(struct file *filp, void= *fh, return ret; } =20 -static int iris_enum_frameintervals(struct file *filp, void *fh, +static int iris_enum_frameintervals(struct file *filp, + struct video_device_state *state, struct v4l2_frmivalenum *fival) =20 { @@ -448,7 +457,8 @@ static int iris_enum_frameintervals(struct file *filp, = void *fh, return 0; } =20 -static int iris_querycap(struct file *filp, void *fh, struct v4l2_capabili= ty *cap) +static int iris_querycap(struct file *filp, struct video_device_state *sta= te, + struct v4l2_capability *cap) { struct iris_inst *inst =3D iris_get_inst(filp); =20 @@ -462,7 +472,9 @@ static int iris_querycap(struct file *filp, void *fh, s= truct v4l2_capability *ca return 0; } =20 -static int iris_g_selection(struct file *filp, void *fh, struct v4l2_selec= tion *s) +static int iris_g_selection(struct file *filp, + struct video_device_state *state, + struct v4l2_selection *s) { struct iris_inst *inst =3D iris_get_inst(filp); =20 @@ -512,7 +524,9 @@ static int iris_g_selection(struct file *filp, void *fh= , struct v4l2_selection * return 0; } =20 -static int iris_s_selection(struct file *filp, void *fh, struct v4l2_selec= tion *s) +static int iris_s_selection(struct file *filp, + struct video_device_state *state, + struct v4l2_selection *s) { struct iris_inst *inst =3D iris_get_inst(filp); =20 @@ -536,7 +550,8 @@ static int iris_subscribe_event(struct v4l2_fh *fh, con= st struct v4l2_event_subs return -EINVAL; } =20 -static int iris_s_parm(struct file *filp, void *fh, struct v4l2_streamparm= *a) +static int iris_s_parm(struct file *filp, struct video_device_state *state, + struct v4l2_streamparm *a) { struct iris_inst *inst =3D iris_get_inst(filp); =20 @@ -550,7 +565,8 @@ static int iris_s_parm(struct file *filp, void *fh, str= uct v4l2_streamparm *a) return -EINVAL; } =20 -static int iris_g_parm(struct file *filp, void *fh, struct v4l2_streamparm= *a) +static int iris_g_parm(struct file *filp, struct video_device_state *state, + struct v4l2_streamparm *a) { struct iris_inst *inst =3D iris_get_inst(filp); =20 @@ -564,7 +580,8 @@ static int iris_g_parm(struct file *filp, void *fh, str= uct v4l2_streamparm *a) return -EINVAL; } =20 -static int iris_dec_cmd(struct file *filp, void *fh, +static int iris_dec_cmd(struct file *filp, + struct video_device_state *state, struct v4l2_decoder_cmd *dec) { struct iris_inst *inst =3D iris_get_inst(filp); @@ -572,7 +589,7 @@ static int iris_dec_cmd(struct file *filp, void *fh, =20 mutex_lock(&inst->lock); =20 - ret =3D v4l2_m2m_ioctl_decoder_cmd(filp, fh, dec); + ret =3D v4l2_m2m_ioctl_decoder_cmd(filp, state, dec); if (ret) goto unlock; =20 @@ -597,7 +614,8 @@ static int iris_dec_cmd(struct file *filp, void *fh, return ret; } =20 -static int iris_enc_cmd(struct file *filp, void *fh, +static int iris_enc_cmd(struct file *filp, + struct video_device_state *state, struct v4l2_encoder_cmd *enc) { struct iris_inst *inst =3D iris_get_inst(filp); @@ -605,7 +623,7 @@ static int iris_enc_cmd(struct file *filp, void *fh, =20 mutex_lock(&inst->lock); =20 - ret =3D v4l2_m2m_ioctl_encoder_cmd(filp, fh, enc); + ret =3D v4l2_m2m_ioctl_encoder_cmd(filp, state, enc); if (ret) goto unlock; =20 diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platf= orm/qcom/venus/vdec.c index 55c27345b7d89bf400e216ed9aa59a871e501a44..4c440bf2f52bdd61909ea3e364e= ccb0865072feb 100644 --- a/drivers/media/platform/qcom/venus/vdec.c +++ b/drivers/media/platform/qcom/venus/vdec.c @@ -238,7 +238,8 @@ vdec_try_fmt_common(struct venus_inst *inst, struct v4l= 2_format *f) return fmt; } =20 -static int vdec_try_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int vdec_try_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct venus_inst *inst =3D to_inst(file); =20 @@ -281,7 +282,8 @@ static int vdec_check_src_change(struct venus_inst *ins= t) return 0; } =20 -static int vdec_g_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int vdec_g_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct venus_inst *inst =3D to_inst(file); const struct venus_format *fmt =3D NULL; @@ -318,7 +320,8 @@ static int vdec_g_fmt(struct file *file, void *fh, stru= ct v4l2_format *f) return 0; } =20 -static int vdec_s_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int vdec_s_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct venus_inst *inst =3D to_inst(file); struct v4l2_pix_format_mplane *pixmp =3D &f->fmt.pix_mp; @@ -392,7 +395,8 @@ static int vdec_s_fmt(struct file *file, void *fh, stru= ct v4l2_format *f) } =20 static int -vdec_g_selection(struct file *file, void *fh, struct v4l2_selection *s) +vdec_g_selection(struct file *file, struct video_device_state *state, + struct v4l2_selection *s) { struct venus_inst *inst =3D to_inst(file); =20 @@ -433,7 +437,8 @@ vdec_g_selection(struct file *file, void *fh, struct v4= l2_selection *s) } =20 static int -vdec_querycap(struct file *file, void *fh, struct v4l2_capability *cap) +vdec_querycap(struct file *file, struct video_device_state *state, + struct v4l2_capability *cap) { strscpy(cap->driver, "qcom-venus", sizeof(cap->driver)); strscpy(cap->card, "Qualcomm Venus video decoder", sizeof(cap->card)); @@ -442,7 +447,8 @@ vdec_querycap(struct file *file, void *fh, struct v4l2_= capability *cap) return 0; } =20 -static int vdec_enum_fmt(struct file *file, void *fh, struct v4l2_fmtdesc = *f) +static int vdec_enum_fmt(struct file *file, struct video_device_state *sta= te, + struct v4l2_fmtdesc *f) { struct venus_inst *inst =3D to_inst(file); const struct venus_format *fmt; @@ -459,7 +465,8 @@ static int vdec_enum_fmt(struct file *file, void *fh, s= truct v4l2_fmtdesc *f) return 0; } =20 -static int vdec_s_parm(struct file *file, void *fh, struct v4l2_streamparm= *a) +static int vdec_s_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct venus_inst *inst =3D to_inst(file); struct v4l2_captureparm *cap =3D &a->parm.capture; @@ -491,7 +498,8 @@ static int vdec_s_parm(struct file *file, void *fh, str= uct v4l2_streamparm *a) return 0; } =20 -static int vdec_enum_framesizes(struct file *file, void *fh, +static int vdec_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct venus_inst *inst =3D to_inst(file); @@ -544,14 +552,15 @@ static int vdec_subscribe_event(struct v4l2_fh *fh, } =20 static int -vdec_decoder_cmd(struct file *file, void *fh, struct v4l2_decoder_cmd *cmd) +vdec_decoder_cmd(struct file *file, struct video_device_state *state, + struct v4l2_decoder_cmd *cmd) { struct venus_inst *inst =3D to_inst(file); struct vb2_queue *dst_vq; struct hfi_frame_data fdata =3D {0}; int ret; =20 - ret =3D v4l2_m2m_ioctl_try_decoder_cmd(file, fh, cmd); + ret =3D v4l2_m2m_ioctl_try_decoder_cmd(file, state, cmd); if (ret) return ret; =20 diff --git a/drivers/media/platform/qcom/venus/venc.c b/drivers/media/platf= orm/qcom/venus/venc.c index fba07557a3996a55fcd6a4f65376c418ec0c92a7..8fe86139a5d6e0b1e896a4bcd61= 9aa450ca2fd27 100644 --- a/drivers/media/platform/qcom/venus/venc.c +++ b/drivers/media/platform/qcom/venus/venc.c @@ -142,7 +142,8 @@ static int venc_v4l2_to_hfi(int id, int value) } =20 static int -venc_querycap(struct file *file, void *fh, struct v4l2_capability *cap) +venc_querycap(struct file *file, struct video_device_state *state, + struct v4l2_capability *cap) { strscpy(cap->driver, "qcom-venus", sizeof(cap->driver)); strscpy(cap->card, "Qualcomm Venus video encoder", sizeof(cap->card)); @@ -151,7 +152,8 @@ venc_querycap(struct file *file, void *fh, struct v4l2_= capability *cap) return 0; } =20 -static int venc_enum_fmt(struct file *file, void *fh, struct v4l2_fmtdesc = *f) +static int venc_enum_fmt(struct file *file, struct video_device_state *sta= te, + struct v4l2_fmtdesc *f) { struct venus_inst *inst =3D to_inst(file); const struct venus_format *fmt; @@ -221,7 +223,8 @@ venc_try_fmt_common(struct venus_inst *inst, struct v4l= 2_format *f) return fmt; } =20 -static int venc_try_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int venc_try_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct venus_inst *inst =3D to_inst(file); =20 @@ -230,7 +233,8 @@ static int venc_try_fmt(struct file *file, void *fh, st= ruct v4l2_format *f) return 0; } =20 -static int venc_s_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int venc_s_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct venus_inst *inst =3D to_inst(file); struct v4l2_pix_format_mplane *pixmp =3D &f->fmt.pix_mp; @@ -299,7 +303,8 @@ static int venc_s_fmt(struct file *file, void *fh, stru= ct v4l2_format *f) return 0; } =20 -static int venc_g_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int venc_g_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct v4l2_pix_format_mplane *pixmp =3D &f->fmt.pix_mp; struct venus_inst *inst =3D to_inst(file); @@ -332,7 +337,8 @@ static int venc_g_fmt(struct file *file, void *fh, stru= ct v4l2_format *f) } =20 static int -venc_g_selection(struct file *file, void *fh, struct v4l2_selection *s) +venc_g_selection(struct file *file, struct video_device_state *state, + struct v4l2_selection *s) { struct venus_inst *inst =3D to_inst(file); =20 @@ -360,7 +366,8 @@ venc_g_selection(struct file *file, void *fh, struct v4= l2_selection *s) } =20 static int -venc_s_selection(struct file *file, void *fh, struct v4l2_selection *s) +venc_s_selection(struct file *file, struct video_device_state *state, + struct v4l2_selection *s) { struct venus_inst *inst =3D to_inst(file); =20 @@ -388,7 +395,8 @@ venc_s_selection(struct file *file, void *fh, struct v4= l2_selection *s) return 0; } =20 -static int venc_s_parm(struct file *file, void *fh, struct v4l2_streamparm= *a) +static int venc_s_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct venus_inst *inst =3D to_inst(file); struct v4l2_outputparm *out =3D &a->parm.output; @@ -421,7 +429,8 @@ static int venc_s_parm(struct file *file, void *fh, str= uct v4l2_streamparm *a) return 0; } =20 -static int venc_g_parm(struct file *file, void *fh, struct v4l2_streamparm= *a) +static int venc_g_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct venus_inst *inst =3D to_inst(file); =20 @@ -435,7 +444,8 @@ static int venc_g_parm(struct file *file, void *fh, str= uct v4l2_streamparm *a) return 0; } =20 -static int venc_enum_framesizes(struct file *file, void *fh, +static int venc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct venus_inst *inst =3D to_inst(file); @@ -465,7 +475,8 @@ static int venc_enum_framesizes(struct file *file, void= *fh, return 0; } =20 -static int venc_enum_frameintervals(struct file *file, void *fh, +static int venc_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fival) { struct venus_inst *inst =3D to_inst(file); @@ -524,13 +535,14 @@ static int venc_subscribe_event(struct v4l2_fh *fh, } =20 static int -venc_encoder_cmd(struct file *file, void *fh, struct v4l2_encoder_cmd *cmd) +venc_encoder_cmd(struct file *file, struct video_device_state *state, + struct v4l2_encoder_cmd *cmd) { struct venus_inst *inst =3D to_inst(file); struct hfi_frame_data fdata =3D {0}; int ret =3D 0; =20 - ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, fh, cmd); + ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, state, cmd); if (ret) return ret; =20 diff --git a/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c b/drivers= /media/platform/raspberrypi/pisp_be/pisp_be.c index b30891718d8df9c48ce1b83ad9fcafb201105625..8f0d82d070bbc7b490183f3a665= c9646158e5503 100644 --- a/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c +++ b/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c @@ -974,7 +974,8 @@ static const struct v4l2_file_operations pispbe_fops = =3D { .mmap =3D vb2_fop_mmap }; =20 -static int pispbe_node_querycap(struct file *file, void *priv, +static int pispbe_node_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct pispbe_node *node =3D video_drvdata(file); @@ -990,7 +991,8 @@ static int pispbe_node_querycap(struct file *file, void= *priv, return 0; } =20 -static int pispbe_node_g_fmt_vid_cap(struct file *file, void *priv, +static int pispbe_node_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct pispbe_node *node =3D video_drvdata(file); @@ -1010,7 +1012,8 @@ static int pispbe_node_g_fmt_vid_cap(struct file *fil= e, void *priv, return 0; } =20 -static int pispbe_node_g_fmt_vid_out(struct file *file, void *priv, +static int pispbe_node_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct pispbe_node *node =3D video_drvdata(file); @@ -1030,7 +1033,8 @@ static int pispbe_node_g_fmt_vid_out(struct file *fil= e, void *priv, return 0; } =20 -static int pispbe_node_g_fmt_meta_out(struct file *file, void *priv, +static int pispbe_node_g_fmt_meta_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct pispbe_node *node =3D video_drvdata(file); @@ -1153,7 +1157,8 @@ static void pispbe_try_format(struct v4l2_format *f, = struct pispbe_node *node) } } =20 -static int pispbe_node_try_fmt_vid_cap(struct file *file, void *priv, +static int pispbe_node_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct pispbe_node *node =3D video_drvdata(file); @@ -1171,7 +1176,8 @@ static int pispbe_node_try_fmt_vid_cap(struct file *f= ile, void *priv, return 0; } =20 -static int pispbe_node_try_fmt_vid_out(struct file *file, void *priv, +static int pispbe_node_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct pispbe_node *node =3D video_drvdata(file); @@ -1189,7 +1195,8 @@ static int pispbe_node_try_fmt_vid_out(struct file *f= ile, void *priv, return 0; } =20 -static int pispbe_node_try_fmt_meta_out(struct file *file, void *priv, +static int pispbe_node_try_fmt_meta_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct pispbe_node *node =3D video_drvdata(file); @@ -1208,14 +1215,15 @@ static int pispbe_node_try_fmt_meta_out(struct file= *file, void *priv, return 0; } =20 -static int pispbe_node_s_fmt_vid_cap(struct file *file, void *priv, +static int pispbe_node_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct pispbe_node *node =3D video_drvdata(file); struct pispbe_dev *pispbe =3D node->pispbe; int ret; =20 - ret =3D pispbe_node_try_fmt_vid_cap(file, priv, f); + ret =3D pispbe_node_try_fmt_vid_cap(file, state, f); if (ret < 0) return ret; =20 @@ -1231,14 +1239,15 @@ static int pispbe_node_s_fmt_vid_cap(struct file *f= ile, void *priv, return 0; } =20 -static int pispbe_node_s_fmt_vid_out(struct file *file, void *priv, +static int pispbe_node_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct pispbe_node *node =3D video_drvdata(file); struct pispbe_dev *pispbe =3D node->pispbe; int ret; =20 - ret =3D pispbe_node_try_fmt_vid_out(file, priv, f); + ret =3D pispbe_node_try_fmt_vid_out(file, state, f); if (ret < 0) return ret; =20 @@ -1254,14 +1263,15 @@ static int pispbe_node_s_fmt_vid_out(struct file *f= ile, void *priv, return 0; } =20 -static int pispbe_node_s_fmt_meta_out(struct file *file, void *priv, +static int pispbe_node_s_fmt_meta_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct pispbe_node *node =3D video_drvdata(file); struct pispbe_dev *pispbe =3D node->pispbe; int ret; =20 - ret =3D pispbe_node_try_fmt_meta_out(file, priv, f); + ret =3D pispbe_node_try_fmt_meta_out(file, state, f); if (ret < 0) return ret; =20 @@ -1277,7 +1287,8 @@ static int pispbe_node_s_fmt_meta_out(struct file *fi= le, void *priv, return 0; } =20 -static int pispbe_node_enum_fmt(struct file *file, void *priv, +static int pispbe_node_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct pispbe_node *node =3D video_drvdata(file); @@ -1303,7 +1314,8 @@ static int pispbe_node_enum_fmt(struct file *file, vo= id *priv, return 0; } =20 -static int pispbe_enum_framesizes(struct file *file, void *priv, +static int pispbe_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct pispbe_node *node =3D video_drvdata(file); diff --git a/drivers/media/platform/raspberrypi/rp1-cfe/cfe.c b/drivers/med= ia/platform/raspberrypi/rp1-cfe/cfe.c index 62dca76b468d1be4efa6fd4e68a89b9be0cc454b..9f4dd658ec2f1c55f61c686b84b= 9870666d8512f 100644 --- a/drivers/media/platform/raspberrypi/rp1-cfe/cfe.c +++ b/drivers/media/platform/raspberrypi/rp1-cfe/cfe.c @@ -1324,7 +1324,8 @@ static const struct vb2_ops cfe_video_qops =3D { * v4l2 ioctl ops */ =20 -static int cfe_querycap(struct file *file, void *priv, +static int cfe_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, CFE_MODULE_NAME, sizeof(cap->driver)); @@ -1336,7 +1337,8 @@ static int cfe_querycap(struct file *file, void *priv, return 0; } =20 -static int cfe_enum_fmt_vid_cap(struct file *file, void *priv, +static int cfe_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct cfe_node *node =3D video_drvdata(file); @@ -1371,7 +1373,8 @@ static int cfe_enum_fmt_vid_cap(struct file *file, vo= id *priv, return -EINVAL; } =20 -static int cfe_g_fmt(struct file *file, void *priv, struct v4l2_format *f) +static int cfe_g_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct cfe_node *node =3D video_drvdata(file); =20 @@ -1417,7 +1420,8 @@ static int cfe_validate_fmt_vid_cap(struct cfe_node *= node, return 0; } =20 -static int cfe_s_fmt_vid_cap(struct file *file, void *priv, +static int cfe_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cfe_node *node =3D video_drvdata(file); @@ -1441,7 +1445,8 @@ static int cfe_s_fmt_vid_cap(struct file *file, void = *priv, return 0; } =20 -static int cfe_try_fmt_vid_cap(struct file *file, void *priv, +static int cfe_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cfe_node *node =3D video_drvdata(file); @@ -1452,7 +1457,8 @@ static int cfe_try_fmt_vid_cap(struct file *file, voi= d *priv, return cfe_validate_fmt_vid_cap(node, f); } =20 -static int cfe_enum_fmt_meta(struct file *file, void *priv, +static int cfe_enum_fmt_meta(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct cfe_node *node =3D video_drvdata(file); @@ -1547,7 +1553,8 @@ static int cfe_validate_fmt_meta(struct cfe_node *nod= e, struct v4l2_format *f) } } =20 -static int cfe_g_fmt_meta(struct file *file, void *priv, struct v4l2_forma= t *f) +static int cfe_g_fmt_meta(struct file *file, struct video_device_state *st= ate, + struct v4l2_format *f) { struct cfe_node *node =3D video_drvdata(file); struct cfe_device *cfe =3D node->cfe; @@ -1562,7 +1569,8 @@ static int cfe_g_fmt_meta(struct file *file, void *pr= iv, struct v4l2_format *f) return 0; } =20 -static int cfe_s_fmt_meta(struct file *file, void *priv, struct v4l2_forma= t *f) +static int cfe_s_fmt_meta(struct file *file, struct video_device_state *st= ate, + struct v4l2_format *f) { struct cfe_node *node =3D video_drvdata(file); struct cfe_device *cfe =3D node->cfe; @@ -1589,7 +1597,8 @@ static int cfe_s_fmt_meta(struct file *file, void *pr= iv, struct v4l2_format *f) return 0; } =20 -static int cfe_try_fmt_meta(struct file *file, void *priv, +static int cfe_try_fmt_meta(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cfe_node *node =3D video_drvdata(file); @@ -1599,7 +1608,8 @@ static int cfe_try_fmt_meta(struct file *file, void *= priv, return cfe_validate_fmt_meta(node, f); } =20 -static int cfe_enum_framesizes(struct file *file, void *priv, +static int cfe_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct cfe_node *node =3D video_drvdata(file); @@ -1631,7 +1641,8 @@ static int cfe_enum_framesizes(struct file *file, voi= d *priv, return 0; } =20 -static int cfe_vb2_ioctl_reqbufs(struct file *file, void *priv, +static int cfe_vb2_ioctl_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *p) { struct video_device *vdev =3D video_devdata(file); @@ -1651,10 +1662,11 @@ static int cfe_vb2_ioctl_reqbufs(struct file *file,= void *priv, if (ret) return ret; =20 - return vb2_ioctl_reqbufs(file, priv, p); + return vb2_ioctl_reqbufs(file, state, p); } =20 -static int cfe_vb2_ioctl_create_bufs(struct file *file, void *priv, +static int cfe_vb2_ioctl_create_bufs(struct file *file, + struct video_device_state *state, struct v4l2_create_buffers *p) { struct video_device *vdev =3D video_devdata(file); @@ -1674,7 +1686,7 @@ static int cfe_vb2_ioctl_create_bufs(struct file *fil= e, void *priv, if (ret) return ret; =20 - return vb2_ioctl_create_bufs(file, priv, p); + return vb2_ioctl_create_bufs(file, state, p); } =20 static int cfe_subscribe_event(struct v4l2_fh *fh, diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-v4l2.c b/drivers/= media/platform/renesas/rcar-vin/rcar-v4l2.c index 079dbaf016c25139e2ac82be63d8fce0d11fd208..5f5dc1c9904e65a23dadb181caf= da7db178486e0 100644 --- a/drivers/media/platform/renesas/rcar-vin/rcar-v4l2.c +++ b/drivers/media/platform/renesas/rcar-vin/rcar-v4l2.c @@ -229,7 +229,8 @@ static void rvin_format_align(struct rvin_dev *vin, str= uct v4l2_pix_format *pix) * V4L2 */ =20 -static int rvin_querycap(struct file *file, void *priv, +static int rvin_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, KBUILD_MODNAME, sizeof(cap->driver)); @@ -237,7 +238,8 @@ static int rvin_querycap(struct file *file, void *priv, return 0; } =20 -static int rvin_g_fmt_vid_cap(struct file *file, void *priv, +static int rvin_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rvin_dev *vin =3D video_drvdata(file); @@ -247,7 +249,8 @@ static int rvin_g_fmt_vid_cap(struct file *file, void *= priv, return 0; } =20 -static int rvin_enum_fmt_vid_cap(struct file *file, void *priv, +static int rvin_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct rvin_dev *vin =3D video_drvdata(file); @@ -369,7 +372,8 @@ static int rvin_remote_rectangle(struct rvin_dev *vin, = struct v4l2_rect *rect) return 0; } =20 -static int rvin_g_selection(struct file *file, void *fh, +static int rvin_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct rvin_dev *vin =3D video_drvdata(file); @@ -408,7 +412,8 @@ static int rvin_g_selection(struct file *file, void *fh, return 0; } =20 -static int rvin_s_selection(struct file *file, void *fh, +static int rvin_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct rvin_dev *vin =3D video_drvdata(file); @@ -515,7 +520,8 @@ static void rvin_mc_try_format(struct rvin_dev *vin, rvin_format_align(vin, pix); } =20 -static int rvin_mc_try_fmt_vid_cap(struct file *file, void *priv, +static int rvin_mc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rvin_dev *vin =3D video_drvdata(file); @@ -525,7 +531,8 @@ static int rvin_mc_try_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int rvin_mc_s_fmt_vid_cap(struct file *file, void *priv, +static int rvin_mc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rvin_dev *vin =3D video_drvdata(file); diff --git a/drivers/media/platform/renesas/rcar_drif.c b/drivers/media/pla= tform/renesas/rcar_drif.c index 11bf47fb8266dc45df40cac003f039582251b945..79d3af9c7b0da9e9b59c4f3e8e5= 535c4e3f73b48 100644 --- a/drivers/media/platform/renesas/rcar_drif.c +++ b/drivers/media/platform/renesas/rcar_drif.c @@ -863,7 +863,8 @@ static const struct vb2_ops rcar_drif_vb2_ops =3D { .stop_streaming =3D rcar_drif_stop_streaming, }; =20 -static int rcar_drif_querycap(struct file *file, void *fh, +static int rcar_drif_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct rcar_drif_sdr *sdr =3D video_drvdata(file); @@ -893,7 +894,8 @@ static int rcar_drif_set_default_format(struct rcar_dri= f_sdr *sdr) return -EINVAL; } =20 -static int rcar_drif_enum_fmt_sdr_cap(struct file *file, void *priv, +static int rcar_drif_enum_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index >=3D ARRAY_SIZE(formats)) @@ -904,7 +906,8 @@ static int rcar_drif_enum_fmt_sdr_cap(struct file *file= , void *priv, return 0; } =20 -static int rcar_drif_g_fmt_sdr_cap(struct file *file, void *priv, +static int rcar_drif_g_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rcar_drif_sdr *sdr =3D video_drvdata(file); @@ -915,7 +918,8 @@ static int rcar_drif_g_fmt_sdr_cap(struct file *file, v= oid *priv, return 0; } =20 -static int rcar_drif_s_fmt_sdr_cap(struct file *file, void *priv, +static int rcar_drif_s_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rcar_drif_sdr *sdr =3D video_drvdata(file); @@ -956,7 +960,8 @@ static int rcar_drif_s_fmt_sdr_cap(struct file *file, v= oid *priv, return 0; } =20 -static int rcar_drif_try_fmt_sdr_cap(struct file *file, void *priv, +static int rcar_drif_try_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { unsigned int i; @@ -976,7 +981,8 @@ static int rcar_drif_try_fmt_sdr_cap(struct file *file,= void *priv, } =20 /* Tuner subdev ioctls */ -static int rcar_drif_enum_freq_bands(struct file *file, void *priv, +static int rcar_drif_enum_freq_bands(struct file *file, + struct video_device_state *state, struct v4l2_frequency_band *band) { struct rcar_drif_sdr *sdr =3D video_drvdata(file); @@ -984,7 +990,8 @@ static int rcar_drif_enum_freq_bands(struct file *file,= void *priv, return v4l2_subdev_call(sdr->ep.subdev, tuner, enum_freq_bands, band); } =20 -static int rcar_drif_g_frequency(struct file *file, void *priv, +static int rcar_drif_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct rcar_drif_sdr *sdr =3D video_drvdata(file); @@ -992,7 +999,8 @@ static int rcar_drif_g_frequency(struct file *file, voi= d *priv, return v4l2_subdev_call(sdr->ep.subdev, tuner, g_frequency, f); } =20 -static int rcar_drif_s_frequency(struct file *file, void *priv, +static int rcar_drif_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct rcar_drif_sdr *sdr =3D video_drvdata(file); @@ -1000,7 +1008,8 @@ static int rcar_drif_s_frequency(struct file *file, v= oid *priv, return v4l2_subdev_call(sdr->ep.subdev, tuner, s_frequency, f); } =20 -static int rcar_drif_g_tuner(struct file *file, void *priv, +static int rcar_drif_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *vt) { struct rcar_drif_sdr *sdr =3D video_drvdata(file); @@ -1008,7 +1017,8 @@ static int rcar_drif_g_tuner(struct file *file, void = *priv, return v4l2_subdev_call(sdr->ep.subdev, tuner, g_tuner, vt); } =20 -static int rcar_drif_s_tuner(struct file *file, void *priv, +static int rcar_drif_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *vt) { struct rcar_drif_sdr *sdr =3D video_drvdata(file); diff --git a/drivers/media/platform/renesas/rcar_fdp1.c b/drivers/media/pla= tform/renesas/rcar_fdp1.c index e615c56083f13b183be5b44764f24894f7539838..ef8054dbd40c79f583f1d7795f9= 54d816dc3696b 100644 --- a/drivers/media/platform/renesas/rcar_fdp1.c +++ b/drivers/media/platform/renesas/rcar_fdp1.c @@ -1358,7 +1358,8 @@ static void device_frame_end(struct fdp1_dev *fdp1, /* * video ioctls */ -static int fdp1_vidioc_querycap(struct file *file, void *priv, +static int fdp1_vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, DRIVER_NAME, sizeof(cap->driver)); @@ -1392,19 +1393,22 @@ static int fdp1_enum_fmt(struct v4l2_fmtdesc *f, u3= 2 type) return 0; } =20 -static int fdp1_enum_fmt_vid_cap(struct file *file, void *priv, +static int fdp1_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return fdp1_enum_fmt(f, FDP1_CAPTURE); } =20 -static int fdp1_enum_fmt_vid_out(struct file *file, void *priv, +static int fdp1_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return fdp1_enum_fmt(f, FDP1_OUTPUT); } =20 -static int fdp1_g_fmt(struct file *file, void *priv, struct v4l2_format *f) +static int fdp1_g_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct fdp1_ctx *ctx =3D file_to_ctx(file); struct fdp1_q_data *q_data; @@ -1582,7 +1586,8 @@ static void fdp1_try_fmt_capture(struct fdp1_ctx *ctx, fdp1_compute_stride(pix, fmt); } =20 -static int fdp1_try_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int fdp1_try_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct fdp1_ctx *ctx =3D file_to_ctx(file); =20 @@ -1653,7 +1658,8 @@ static void fdp1_set_format(struct fdp1_ctx *ctx, } } =20 -static int fdp1_s_fmt(struct file *file, void *priv, struct v4l2_format *f) +static int fdp1_s_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct fdp1_ctx *ctx =3D file_to_ctx(file); struct v4l2_m2m_ctx *m2m_ctx =3D ctx->fh.m2m_ctx; diff --git a/drivers/media/platform/renesas/rcar_jpu.c b/drivers/media/plat= form/renesas/rcar_jpu.c index 46ea259a2bb9d3088a977f1140f48959fcde4518..244533a48878976fd850835c47a= dd97b58827978 100644 --- a/drivers/media/platform/renesas/rcar_jpu.c +++ b/drivers/media/platform/renesas/rcar_jpu.c @@ -653,7 +653,8 @@ static u8 jpu_parse_hdr(void *buffer, unsigned long siz= e, unsigned int *width, return 0; } =20 -static int jpu_querycap(struct file *file, void *priv, +static int jpu_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct jpu_ctx *ctx =3D file_to_ctx(file); @@ -711,7 +712,8 @@ static int jpu_enum_fmt(struct v4l2_fmtdesc *f, u32 typ= e) return 0; } =20 -static int jpu_enum_fmt_cap(struct file *file, void *priv, +static int jpu_enum_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct jpu_ctx *ctx =3D file_to_ctx(file); @@ -720,7 +722,8 @@ static int jpu_enum_fmt_cap(struct file *file, void *pr= iv, JPU_DEC_CAPTURE); } =20 -static int jpu_enum_fmt_out(struct file *file, void *priv, +static int jpu_enum_fmt_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct jpu_ctx *ctx =3D file_to_ctx(file); @@ -821,7 +824,8 @@ static int __jpu_try_fmt(struct jpu_ctx *ctx, struct jp= u_fmt **fmtinfo, return 0; } =20 -static int jpu_try_fmt(struct file *file, void *priv, struct v4l2_format *= f) +static int jpu_try_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct jpu_ctx *ctx =3D file_to_ctx(file); =20 @@ -831,7 +835,8 @@ static int jpu_try_fmt(struct file *file, void *priv, s= truct v4l2_format *f) return __jpu_try_fmt(ctx, NULL, &f->fmt.pix_mp, f->type); } =20 -static int jpu_s_fmt(struct file *file, void *priv, struct v4l2_format *f) +static int jpu_s_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct vb2_queue *vq; struct jpu_ctx *ctx =3D file_to_ctx(file); @@ -861,7 +866,8 @@ static int jpu_s_fmt(struct file *file, void *priv, str= uct v4l2_format *f) return 0; } =20 -static int jpu_g_fmt(struct file *file, void *priv, struct v4l2_format *f) +static int jpu_g_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct jpu_ctx *ctx =3D file_to_ctx(file); struct jpu_q_data *q_data; @@ -895,7 +901,8 @@ static const struct v4l2_ctrl_ops jpu_ctrl_ops =3D { .s_ctrl =3D jpu_s_ctrl, }; =20 -static int jpu_streamon(struct file *file, void *priv, enum v4l2_buf_type = type) +static int jpu_streamon(struct file *file, struct video_device_state *stat= e, + enum v4l2_buf_type type) { struct jpu_q_data *src_q_data, *dst_q_data, *orig, adj, *ref; struct jpu_ctx *ctx =3D file_to_ctx(file); diff --git a/drivers/media/platform/renesas/renesas-ceu.c b/drivers/media/p= latform/renesas/renesas-ceu.c index deed49d0fb10e0d7834a30293f6c1ede7055409a..b21cdc118dc70654cf8f87a1ad0= 0228697aefe69 100644 --- a/drivers/media/platform/renesas/renesas-ceu.c +++ b/drivers/media/platform/renesas/renesas-ceu.c @@ -1121,7 +1121,8 @@ static const struct v4l2_file_operations ceu_fops =3D= { =20 /* --- Video Device IOCTLs --- */ =20 -static int ceu_querycap(struct file *file, void *priv, +static int ceu_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct ceu_device *ceudev =3D video_drvdata(file); @@ -1134,7 +1135,8 @@ static int ceu_querycap(struct file *file, void *priv, return 0; } =20 -static int ceu_enum_fmt_vid_cap(struct file *file, void *priv, +static int ceu_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { const struct ceu_fmt *fmt; @@ -1148,7 +1150,8 @@ static int ceu_enum_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int ceu_try_fmt_vid_cap(struct file *file, void *priv, +static int ceu_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ceu_device *ceudev =3D video_drvdata(file); @@ -1156,7 +1159,8 @@ static int ceu_try_fmt_vid_cap(struct file *file, voi= d *priv, return ceu_try_fmt(ceudev, f); } =20 -static int ceu_s_fmt_vid_cap(struct file *file, void *priv, +static int ceu_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ceu_device *ceudev =3D video_drvdata(file); @@ -1167,7 +1171,8 @@ static int ceu_s_fmt_vid_cap(struct file *file, void = *priv, return ceu_set_fmt(ceudev, f); } =20 -static int ceu_g_fmt_vid_cap(struct file *file, void *priv, +static int ceu_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ceu_device *ceudev =3D video_drvdata(file); @@ -1177,7 +1182,8 @@ static int ceu_g_fmt_vid_cap(struct file *file, void = *priv, return 0; } =20 -static int ceu_enum_input(struct file *file, void *priv, +static int ceu_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { struct ceu_device *ceudev =3D video_drvdata(file); @@ -1192,7 +1198,8 @@ static int ceu_enum_input(struct file *file, void *pr= iv, return 0; } =20 -static int ceu_g_input(struct file *file, void *priv, unsigned int *i) +static int ceu_g_input(struct file *file, struct video_device_state *state, + unsigned int *i) { struct ceu_device *ceudev =3D video_drvdata(file); =20 @@ -1201,7 +1208,8 @@ static int ceu_g_input(struct file *file, void *priv,= unsigned int *i) return 0; } =20 -static int ceu_s_input(struct file *file, void *priv, unsigned int i) +static int ceu_s_input(struct file *file, struct video_device_state *state, + unsigned int i) { struct ceu_device *ceudev =3D video_drvdata(file); struct ceu_subdev *ceu_sd_old; @@ -1244,21 +1252,24 @@ static int ceu_s_input(struct file *file, void *pri= v, unsigned int i) return 0; } =20 -static int ceu_g_parm(struct file *file, void *fh, struct v4l2_streamparm = *a) +static int ceu_g_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct ceu_device *ceudev =3D video_drvdata(file); =20 return v4l2_g_parm_cap(video_devdata(file), ceudev->sd->v4l2_sd, a); } =20 -static int ceu_s_parm(struct file *file, void *fh, struct v4l2_streamparm = *a) +static int ceu_s_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct ceu_device *ceudev =3D video_drvdata(file); =20 return v4l2_s_parm_cap(video_devdata(file), ceudev->sd->v4l2_sd, a); } =20 -static int ceu_enum_framesizes(struct file *file, void *fh, +static int ceu_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct ceu_device *ceudev =3D video_drvdata(file); @@ -1290,7 +1301,8 @@ static int ceu_enum_framesizes(struct file *file, voi= d *fh, return 0; } =20 -static int ceu_enum_frameintervals(struct file *file, void *fh, +static int ceu_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fival) { struct ceu_device *ceudev =3D video_drvdata(file); diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c b/drive= rs/media/platform/renesas/rzg2l-cru/rzg2l-video.c index 162e2ace6931840ee052e1565587d021fc87307f..4f2e5a99c5cd142b21a2cf29a79= dbf73463061b6 100644 --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-video.c @@ -951,7 +951,8 @@ static void rzg2l_cru_try_format(struct rzg2l_cru_dev *= cru, rzg2l_cru_format_align(cru, pix); } =20 -static int rzg2l_cru_querycap(struct file *file, void *priv, +static int rzg2l_cru_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, KBUILD_MODNAME, sizeof(cap->driver)); @@ -960,7 +961,8 @@ static int rzg2l_cru_querycap(struct file *file, void *= priv, return 0; } =20 -static int rzg2l_cru_try_fmt_vid_cap(struct file *file, void *priv, +static int rzg2l_cru_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rzg2l_cru_dev *cru =3D video_drvdata(file); @@ -970,7 +972,8 @@ static int rzg2l_cru_try_fmt_vid_cap(struct file *file,= void *priv, return 0; } =20 -static int rzg2l_cru_s_fmt_vid_cap(struct file *file, void *priv, +static int rzg2l_cru_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rzg2l_cru_dev *cru =3D video_drvdata(file); @@ -985,7 +988,8 @@ static int rzg2l_cru_s_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int rzg2l_cru_g_fmt_vid_cap(struct file *file, void *priv, +static int rzg2l_cru_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rzg2l_cru_dev *cru =3D video_drvdata(file); @@ -995,7 +999,8 @@ static int rzg2l_cru_g_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int rzg2l_cru_enum_fmt_vid_cap(struct file *file, void *priv, +static int rzg2l_cru_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { const struct rzg2l_cru_ip_format *fmt; @@ -1009,7 +1014,8 @@ static int rzg2l_cru_enum_fmt_vid_cap(struct file *fi= le, void *priv, return 0; } =20 -static int rzg2l_cru_enum_framesizes(struct file *file, void *fh, +static int rzg2l_cru_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct rzg2l_cru_dev *cru =3D video_drvdata(file); diff --git a/drivers/media/platform/renesas/sh_vou.c b/drivers/media/platfo= rm/renesas/sh_vou.c index 4ad7ae188d5b25ab383d664898f855a4819c1a85..5f4efa852269a4054d8f0c91a41= 94509e1966a81 100644 --- a/drivers/media/platform/renesas/sh_vou.c +++ b/drivers/media/platform/renesas/sh_vou.c @@ -363,7 +363,8 @@ static const struct vb2_ops sh_vou_qops =3D { }; =20 /* Video IOCTLs */ -static int sh_vou_querycap(struct file *file, void *priv, +static int sh_vou_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct sh_vou_device *vou_dev =3D video_drvdata(file); @@ -377,7 +378,8 @@ static int sh_vou_querycap(struct file *file, void *pr= iv, } =20 /* Enumerate formats, that the device can accept from the user */ -static int sh_vou_enum_fmt_vid_out(struct file *file, void *priv, +static int sh_vou_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fmt) { struct sh_vou_device *vou_dev =3D video_drvdata(file); @@ -392,7 +394,8 @@ static int sh_vou_enum_fmt_vid_out(struct file *file, v= oid *priv, return 0; } =20 -static int sh_vou_g_fmt_vid_out(struct file *file, void *priv, +static int sh_vou_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct sh_vou_device *vou_dev =3D video_drvdata(file); @@ -646,7 +649,8 @@ static void vou_adjust_output(struct sh_vou_geometry *g= eo, v4l2_std_id std) vou_scale_v_num[idx_v], vou_scale_v_den[idx_v], best); } =20 -static int sh_vou_try_fmt_vid_out(struct file *file, void *priv, +static int sh_vou_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct sh_vou_device *vou_dev =3D video_drvdata(file); @@ -759,18 +763,20 @@ static int sh_vou_set_fmt_vid_out(struct sh_vou_devic= e *vou_dev, return 0; } =20 -static int sh_vou_s_fmt_vid_out(struct file *file, void *priv, +static int sh_vou_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct sh_vou_device *vou_dev =3D video_drvdata(file); - int ret =3D sh_vou_try_fmt_vid_out(file, priv, fmt); + int ret =3D sh_vou_try_fmt_vid_out(file, state, fmt); =20 if (ret) return ret; return sh_vou_set_fmt_vid_out(vou_dev, &fmt->fmt.pix); } =20 -static int sh_vou_enum_output(struct file *file, void *fh, +static int sh_vou_enum_output(struct file *file, + struct video_device_state *state, struct v4l2_output *a) { struct sh_vou_device *vou_dev =3D video_drvdata(file); @@ -783,13 +789,15 @@ static int sh_vou_enum_output(struct file *file, void= *fh, return 0; } =20 -static int sh_vou_g_output(struct file *file, void *fh, unsigned int *i) +static int sh_vou_g_output(struct file *file, + struct video_device_state *state, unsigned int *i) { *i =3D 0; return 0; } =20 -static int sh_vou_s_output(struct file *file, void *fh, unsigned int i) +static int sh_vou_s_output(struct file *file, + struct video_device_state *state, unsigned int i) { return i ? -EINVAL : 0; } @@ -810,7 +818,8 @@ static u32 sh_vou_ntsc_mode(enum sh_vou_bus_fmt bus_fmt) } } =20 -static int sh_vou_s_std(struct file *file, void *priv, v4l2_std_id std_id) +static int sh_vou_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id std_id) { struct sh_vou_device *vou_dev =3D video_drvdata(file); int ret; @@ -852,7 +861,8 @@ static int sh_vou_s_std(struct file *file, void *priv, = v4l2_std_id std_id) return 0; } =20 -static int sh_vou_g_std(struct file *file, void *priv, v4l2_std_id *std) +static int sh_vou_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *std) { struct sh_vou_device *vou_dev =3D video_drvdata(file); =20 @@ -863,7 +873,8 @@ static int sh_vou_g_std(struct file *file, void *priv, = v4l2_std_id *std) return 0; } =20 -static int sh_vou_log_status(struct file *file, void *priv) +static int sh_vou_log_status(struct file *file, + struct video_device_state *state) { struct sh_vou_device *vou_dev =3D video_drvdata(file); =20 @@ -890,7 +901,8 @@ static int sh_vou_log_status(struct file *file, void *p= riv) return 0; } =20 -static int sh_vou_g_selection(struct file *file, void *fh, +static int sh_vou_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct sh_vou_device *vou_dev =3D video_drvdata(file); @@ -918,7 +930,8 @@ static int sh_vou_g_selection(struct file *file, void *= fh, } =20 /* Assume a dull encoder, do all the work ourselves. */ -static int sh_vou_s_selection(struct file *file, void *fh, +static int sh_vou_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct v4l2_rect *rect =3D &sel->r; diff --git a/drivers/media/platform/renesas/vsp1/vsp1_histo.c b/drivers/med= ia/platform/renesas/vsp1/vsp1_histo.c index 390ea50f1595ad7702bec46e9b9f3e237c73a622..69091fa5a7cd46f23ccb4f50a55= 901b12b6e13cb 100644 --- a/drivers/media/platform/renesas/vsp1/vsp1_histo.c +++ b/drivers/media/platform/renesas/vsp1/vsp1_histo.c @@ -389,7 +389,8 @@ static const struct v4l2_subdev_ops histo_ops =3D { * V4L2 ioctls */ =20 -static int histo_v4l2_querycap(struct file *file, void *fh, +static int histo_v4l2_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); @@ -406,7 +407,8 @@ static int histo_v4l2_querycap(struct file *file, void = *fh, return 0; } =20 -static int histo_v4l2_enum_format(struct file *file, void *fh, +static int histo_v4l2_enum_format(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); @@ -420,7 +422,8 @@ static int histo_v4l2_enum_format(struct file *file, vo= id *fh, return 0; } =20 -static int histo_v4l2_get_format(struct file *file, void *fh, +static int histo_v4l2_get_format(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); diff --git a/drivers/media/platform/renesas/vsp1/vsp1_video.c b/drivers/med= ia/platform/renesas/vsp1/vsp1_video.c index 75f9a1a85d558ff0afa2fdaf8c43a22ddbd694a8..9130f46e433a79c1ac2848fc347= 067f6c3f41c28 100644 --- a/drivers/media/platform/renesas/vsp1/vsp1_video.c +++ b/drivers/media/platform/renesas/vsp1/vsp1_video.c @@ -894,7 +894,8 @@ static const struct vb2_ops vsp1_video_queue_qops =3D { */ =20 static int -vsp1_video_querycap(struct file *file, void *fh, struct v4l2_capability *c= ap) +vsp1_video_querycap(struct file *file, struct video_device_state *state, + struct v4l2_capability *cap) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); struct vsp1_video *video =3D to_vsp1_video(vfh->vdev); @@ -909,7 +910,8 @@ vsp1_video_querycap(struct file *file, void *fh, struct= v4l2_capability *cap) return 0; } =20 -static int vsp1_video_enum_format(struct file *file, void *fh, +static int vsp1_video_enum_format(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); @@ -931,7 +933,8 @@ static int vsp1_video_enum_format(struct file *file, vo= id *fh, } =20 static int -vsp1_video_get_format(struct file *file, void *fh, struct v4l2_format *for= mat) +vsp1_video_get_format(struct file *file, struct video_device_state *state, + struct v4l2_format *format) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); struct vsp1_video *video =3D to_vsp1_video(vfh->vdev); @@ -947,7 +950,8 @@ vsp1_video_get_format(struct file *file, void *fh, stru= ct v4l2_format *format) } =20 static int -vsp1_video_try_format(struct file *file, void *fh, struct v4l2_format *for= mat) +vsp1_video_try_format(struct file *file, struct video_device_state *state, + struct v4l2_format *format) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); struct vsp1_video *video =3D to_vsp1_video(vfh->vdev); @@ -959,7 +963,8 @@ vsp1_video_try_format(struct file *file, void *fh, stru= ct v4l2_format *format) } =20 static int -vsp1_video_set_format(struct file *file, void *fh, struct v4l2_format *for= mat) +vsp1_video_set_format(struct file *file, struct video_device_state *state, + struct v4l2_format *format) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); struct vsp1_video *video =3D to_vsp1_video(vfh->vdev); @@ -989,7 +994,8 @@ vsp1_video_set_format(struct file *file, void *fh, stru= ct v4l2_format *format) } =20 static int -vsp1_video_streamon(struct file *file, void *fh, enum v4l2_buf_type type) +vsp1_video_streamon(struct file *file, struct video_device_state *state, + enum v4l2_buf_type type) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); struct vsp1_video *video =3D to_vsp1_video(vfh->vdev); diff --git a/drivers/media/platform/rockchip/rga/rga.c b/drivers/media/plat= form/rockchip/rga/rga.c index 776046de979aa0ded6734216bf179c32ae8fe5a9..87d01ed5c3ddcf3d12b09021bd4= 3c2cfc68f8eef 100644 --- a/drivers/media/platform/rockchip/rga/rga.c +++ b/drivers/media/platform/rockchip/rga/rga.c @@ -437,7 +437,8 @@ static const struct v4l2_file_operations rga_fops =3D { }; =20 static int -vidioc_querycap(struct file *file, void *priv, struct v4l2_capability *cap) +vidioc_querycap(struct file *file, struct video_device_state *state, + struct v4l2_capability *cap) { strscpy(cap->driver, RGA_NAME, sizeof(cap->driver)); strscpy(cap->card, "rockchip-rga", sizeof(cap->card)); @@ -446,7 +447,9 @@ vidioc_querycap(struct file *file, void *priv, struct v= 4l2_capability *cap) return 0; } =20 -static int vidioc_enum_fmt(struct file *file, void *priv, struct v4l2_fmtd= esc *f) +static int vidioc_enum_fmt(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f) { struct rga_fmt *fmt; =20 @@ -459,7 +462,8 @@ static int vidioc_enum_fmt(struct file *file, void *pri= v, struct v4l2_fmtdesc *f return 0; } =20 -static int vidioc_g_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_g_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct v4l2_pix_format_mplane *pix_fmt =3D &f->fmt.pix_mp; struct rga_ctx *ctx =3D file_to_rga_ctx(file); @@ -481,7 +485,8 @@ static int vidioc_g_fmt(struct file *file, void *priv, = struct v4l2_format *f) return 0; } =20 -static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_forma= t *f) +static int vidioc_try_fmt(struct file *file, struct video_device_state *st= ate, + struct v4l2_format *f) { struct v4l2_pix_format_mplane *pix_fmt =3D &f->fmt.pix_mp; struct rga_fmt *fmt; @@ -501,7 +506,8 @@ static int vidioc_try_fmt(struct file *file, void *priv= , struct v4l2_format *f) return 0; } =20 -static int vidioc_s_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_s_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct v4l2_pix_format_mplane *pix_fmt =3D &f->fmt.pix_mp; struct rga_ctx *ctx =3D file_to_rga_ctx(file); @@ -514,7 +520,7 @@ static int vidioc_s_fmt(struct file *file, void *priv, = struct v4l2_format *f) /* Adjust all values accordingly to the hardware capabilities * and chosen format. */ - ret =3D vidioc_try_fmt(file, priv, f); + ret =3D vidioc_try_fmt(file, state, f); if (ret) return ret; vq =3D v4l2_m2m_get_vq(ctx->fh.m2m_ctx, f->type); @@ -558,7 +564,8 @@ static int vidioc_s_fmt(struct file *file, void *priv, = struct v4l2_format *f) return 0; } =20 -static int vidioc_g_selection(struct file *file, void *priv, +static int vidioc_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct rga_ctx *ctx =3D file_to_rga_ctx(file); @@ -606,7 +613,8 @@ static int vidioc_g_selection(struct file *file, void *= priv, return 0; } =20 -static int vidioc_s_selection(struct file *file, void *priv, +static int vidioc_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct rga_ctx *ctx =3D file_to_rga_ctx(file); diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c b/driv= ers/media/platform/rockchip/rkisp1/rkisp1-capture.c index 6dcefd144d5abe358323e37ac6133c6134ac636e..38541f482b2d0dcf23546a0b9f8= 93fb8544bcc40 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c @@ -1326,7 +1326,8 @@ static void rkisp1_set_fmt(struct rkisp1_capture *cap, cap->stride =3D pixm->plane_fmt[0].bytesperline / cap->pix.info->bpp[0]; } =20 -static int rkisp1_try_fmt_vid_cap_mplane(struct file *file, void *fh, +static int rkisp1_try_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rkisp1_capture *cap =3D video_drvdata(file); @@ -1336,7 +1337,8 @@ static int rkisp1_try_fmt_vid_cap_mplane(struct file = *file, void *fh, return 0; } =20 -static int rkisp1_enum_fmt_vid_cap_mplane(struct file *file, void *priv, +static int rkisp1_enum_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct rkisp1_capture *cap =3D video_drvdata(file); @@ -1370,7 +1372,8 @@ static int rkisp1_enum_fmt_vid_cap_mplane(struct file= *file, void *priv, return -EINVAL; } =20 -static int rkisp1_enum_framesizes(struct file *file, void *fh, +static int rkisp1_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { static const unsigned int max_widths[] =3D { @@ -1400,7 +1403,8 @@ static int rkisp1_enum_framesizes(struct file *file, = void *fh, } =20 static int rkisp1_s_fmt_vid_cap_mplane(struct file *file, - void *priv, struct v4l2_format *f) + struct video_device_state *state, + struct v4l2_format *f) { struct rkisp1_capture *cap =3D video_drvdata(file); struct rkisp1_vdev_node *node =3D @@ -1414,7 +1418,8 @@ static int rkisp1_s_fmt_vid_cap_mplane(struct file *f= ile, return 0; } =20 -static int rkisp1_g_fmt_vid_cap_mplane(struct file *file, void *fh, +static int rkisp1_g_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rkisp1_capture *cap =3D video_drvdata(file); @@ -1425,7 +1430,8 @@ static int rkisp1_g_fmt_vid_cap_mplane(struct file *f= ile, void *fh, } =20 static int -rkisp1_querycap(struct file *file, void *priv, struct v4l2_capability *cap) +rkisp1_querycap(struct file *file, struct video_device_state *state, + struct v4l2_capability *cap) { strscpy(cap->driver, RKISP1_DRIVER_NAME, sizeof(cap->driver)); strscpy(cap->card, RKISP1_DRIVER_NAME, sizeof(cap->card)); diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c b/drive= rs/media/platform/rockchip/rkisp1/rkisp1-params.c index f1585f8fa0f478304f74317fd9dd09199c94ec82..83dae25e3c10a0df437b5052cca= e64221f460899 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c @@ -2493,7 +2493,8 @@ static const struct rkisp1_params_ops rkisp1_v12_para= ms_ops =3D { .afm_config =3D rkisp1_afm_config_v12, }; =20 -static int rkisp1_params_enum_fmt_meta_out(struct file *file, void *priv, +static int rkisp1_params_enum_fmt_meta_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct video_device *video =3D video_devdata(file); @@ -2507,7 +2508,8 @@ static int rkisp1_params_enum_fmt_meta_out(struct fil= e *file, void *priv, return 0; } =20 -static int rkisp1_params_g_fmt_meta_out(struct file *file, void *fh, +static int rkisp1_params_g_fmt_meta_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct video_device *video =3D video_devdata(file); @@ -2522,7 +2524,8 @@ static int rkisp1_params_g_fmt_meta_out(struct file *= file, void *fh, return 0; } =20 -static int rkisp1_params_try_fmt_meta_out(struct file *file, void *fh, +static int rkisp1_params_try_fmt_meta_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct video_device *video =3D video_devdata(file); @@ -2536,7 +2539,8 @@ static int rkisp1_params_try_fmt_meta_out(struct file= *file, void *fh, return 0; } =20 -static int rkisp1_params_s_fmt_meta_out(struct file *file, void *fh, +static int rkisp1_params_s_fmt_meta_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct video_device *video =3D video_devdata(file); @@ -2556,7 +2560,8 @@ static int rkisp1_params_s_fmt_meta_out(struct file *= file, void *fh, } =20 static int rkisp1_params_querycap(struct file *file, - void *priv, struct v4l2_capability *cap) + struct video_device_state *state, + struct v4l2_capability *cap) { struct video_device *vdev =3D video_devdata(file); =20 diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c b/driver= s/media/platform/rockchip/rkisp1/rkisp1-stats.c index d5fdb8f82dc78b0143f71d76f36817db389921b7..043f23ed9cbd12816f3355e54de= 830a1e7429aa9 100644 --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c @@ -18,7 +18,8 @@ #define RKISP1_ISP_STATS_REQ_BUFS_MIN 2 #define RKISP1_ISP_STATS_REQ_BUFS_MAX 8 =20 -static int rkisp1_stats_enum_fmt_meta_cap(struct file *file, void *priv, +static int rkisp1_stats_enum_fmt_meta_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct video_device *video =3D video_devdata(file); @@ -31,7 +32,8 @@ static int rkisp1_stats_enum_fmt_meta_cap(struct file *fi= le, void *priv, return 0; } =20 -static int rkisp1_stats_g_fmt_meta_cap(struct file *file, void *priv, +static int rkisp1_stats_g_fmt_meta_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct video_device *video =3D video_devdata(file); @@ -49,7 +51,8 @@ static int rkisp1_stats_g_fmt_meta_cap(struct file *file,= void *priv, } =20 static int rkisp1_stats_querycap(struct file *file, - void *priv, struct v4l2_capability *cap) + struct video_device_state *state, + struct v4l2_capability *cap) { struct video_device *vdev =3D video_devdata(file); =20 diff --git a/drivers/media/platform/rockchip/rkvdec/rkvdec.c b/drivers/medi= a/platform/rockchip/rkvdec/rkvdec.c index 9fa80ab3c62b7753e6c992aefd106ee99ed375e4..c87e206a65f0b33c10bf71b3d64= c46bdb62ebd40 100644 --- a/drivers/media/platform/rockchip/rkvdec/rkvdec.c +++ b/drivers/media/platform/rockchip/rkvdec/rkvdec.c @@ -313,7 +313,8 @@ static void rkvdec_reset_coded_fmt(struct rkvdec_ctx *c= tx) ctx->coded_fmt_desc->ops->adjust_fmt(ctx, f); } =20 -static int rkvdec_enum_framesizes(struct file *file, void *priv, +static int rkvdec_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { const struct rkvdec_coded_fmt_desc *fmt; @@ -336,7 +337,8 @@ static int rkvdec_enum_framesizes(struct file *file, vo= id *priv, return 0; } =20 -static int rkvdec_querycap(struct file *file, void *priv, +static int rkvdec_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct rkvdec_dev *rkvdec =3D video_drvdata(file); @@ -350,7 +352,8 @@ static int rkvdec_querycap(struct file *file, void *pri= v, return 0; } =20 -static int rkvdec_try_capture_fmt(struct file *file, void *priv, +static int rkvdec_try_capture_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct v4l2_pix_format_mplane *pix_mp =3D &f->fmt.pix_mp; @@ -383,7 +386,8 @@ static int rkvdec_try_capture_fmt(struct file *file, vo= id *priv, return 0; } =20 -static int rkvdec_try_output_fmt(struct file *file, void *priv, +static int rkvdec_try_output_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct v4l2_pix_format_mplane *pix_mp =3D &f->fmt.pix_mp; @@ -415,7 +419,8 @@ static int rkvdec_try_output_fmt(struct file *file, voi= d *priv, return 0; } =20 -static int rkvdec_s_capture_fmt(struct file *file, void *priv, +static int rkvdec_s_capture_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rkvdec_ctx *ctx =3D file_to_rkvdec_ctx(file); @@ -428,7 +433,7 @@ static int rkvdec_s_capture_fmt(struct file *file, void= *priv, if (vb2_is_busy(vq)) return -EBUSY; =20 - ret =3D rkvdec_try_capture_fmt(file, priv, f); + ret =3D rkvdec_try_capture_fmt(file, state, f); if (ret) return ret; =20 @@ -436,7 +441,8 @@ static int rkvdec_s_capture_fmt(struct file *file, void= *priv, return 0; } =20 -static int rkvdec_s_output_fmt(struct file *file, void *priv, +static int rkvdec_s_output_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rkvdec_ctx *ctx =3D file_to_rkvdec_ctx(file); @@ -466,7 +472,7 @@ static int rkvdec_s_output_fmt(struct file *file, void = *priv, if (vb2_is_busy(peer_vq)) return -EBUSY; =20 - ret =3D rkvdec_try_output_fmt(file, priv, f); + ret =3D rkvdec_try_output_fmt(file, state, f); if (ret) return ret; =20 @@ -501,7 +507,8 @@ static int rkvdec_s_output_fmt(struct file *file, void = *priv, return 0; } =20 -static int rkvdec_g_output_fmt(struct file *file, void *priv, +static int rkvdec_g_output_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rkvdec_ctx *ctx =3D file_to_rkvdec_ctx(file); @@ -510,7 +517,8 @@ static int rkvdec_g_output_fmt(struct file *file, void = *priv, return 0; } =20 -static int rkvdec_g_capture_fmt(struct file *file, void *priv, +static int rkvdec_g_capture_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rkvdec_ctx *ctx =3D file_to_rkvdec_ctx(file); @@ -519,7 +527,8 @@ static int rkvdec_g_capture_fmt(struct file *file, void= *priv, return 0; } =20 -static int rkvdec_enum_output_fmt(struct file *file, void *priv, +static int rkvdec_enum_output_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index >=3D ARRAY_SIZE(rkvdec_coded_fmts)) @@ -529,7 +538,8 @@ static int rkvdec_enum_output_fmt(struct file *file, vo= id *priv, return 0; } =20 -static int rkvdec_enum_capture_fmt(struct file *file, void *priv, +static int rkvdec_enum_capture_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct rkvdec_ctx *ctx =3D file_to_rkvdec_ctx(file); diff --git a/drivers/media/platform/samsung/exynos-gsc/gsc-m2m.c b/drivers/= media/platform/samsung/exynos-gsc/gsc-m2m.c index 722e2531e23f1bc01f5e9a9c08dfe4745cc2aa4f..964c0121aee162b2fc2b6b6b2fb= e8e21ccc9da4e 100644 --- a/drivers/media/platform/samsung/exynos-gsc/gsc-m2m.c +++ b/drivers/media/platform/samsung/exynos-gsc/gsc-m2m.c @@ -280,7 +280,8 @@ static const struct vb2_ops gsc_m2m_qops =3D { .start_streaming =3D gsc_m2m_start_streaming, }; =20 -static int gsc_m2m_querycap(struct file *file, void *fh, +static int gsc_m2m_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, GSC_MODULE_NAME, sizeof(cap->driver)); @@ -288,13 +289,15 @@ static int gsc_m2m_querycap(struct file *file, void *= fh, return 0; } =20 -static int gsc_m2m_enum_fmt(struct file *file, void *priv, +static int gsc_m2m_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return gsc_enum_fmt(f); } =20 -static int gsc_m2m_g_fmt_mplane(struct file *file, void *fh, +static int gsc_m2m_g_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct gsc_ctx *ctx =3D file_to_ctx(file); @@ -302,7 +305,8 @@ static int gsc_m2m_g_fmt_mplane(struct file *file, void= *fh, return gsc_g_fmt_mplane(ctx, f); } =20 -static int gsc_m2m_try_fmt_mplane(struct file *file, void *fh, +static int gsc_m2m_try_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct gsc_ctx *ctx =3D file_to_ctx(file); @@ -310,7 +314,8 @@ static int gsc_m2m_try_fmt_mplane(struct file *file, vo= id *fh, return gsc_try_fmt_mplane(ctx, f); } =20 -static int gsc_m2m_s_fmt_mplane(struct file *file, void *fh, +static int gsc_m2m_s_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct gsc_ctx *ctx =3D file_to_ctx(file); @@ -319,7 +324,7 @@ static int gsc_m2m_s_fmt_mplane(struct file *file, void= *fh, struct v4l2_pix_format_mplane *pix; int i, ret =3D 0; =20 - ret =3D gsc_m2m_try_fmt_mplane(file, fh, f); + ret =3D gsc_m2m_try_fmt_mplane(file, state, f); if (ret) return ret; =20 @@ -356,7 +361,8 @@ static int gsc_m2m_s_fmt_mplane(struct file *file, void= *fh, return 0; } =20 -static int gsc_m2m_reqbufs(struct file *file, void *fh, +static int gsc_m2m_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *reqbufs) { struct gsc_ctx *ctx =3D file_to_ctx(file); @@ -371,35 +377,40 @@ static int gsc_m2m_reqbufs(struct file *file, void *f= h, return v4l2_m2m_reqbufs(file, ctx->m2m_ctx, reqbufs); } =20 -static int gsc_m2m_expbuf(struct file *file, void *fh, +static int gsc_m2m_expbuf(struct file *file, + struct video_device_state *state, struct v4l2_exportbuffer *eb) { struct gsc_ctx *ctx =3D file_to_ctx(file); return v4l2_m2m_expbuf(file, ctx->m2m_ctx, eb); } =20 -static int gsc_m2m_querybuf(struct file *file, void *fh, +static int gsc_m2m_querybuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf) { struct gsc_ctx *ctx =3D file_to_ctx(file); return v4l2_m2m_querybuf(file, ctx->m2m_ctx, buf); } =20 -static int gsc_m2m_qbuf(struct file *file, void *fh, +static int gsc_m2m_qbuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf) { struct gsc_ctx *ctx =3D file_to_ctx(file); return v4l2_m2m_qbuf(file, ctx->m2m_ctx, buf); } =20 -static int gsc_m2m_dqbuf(struct file *file, void *fh, +static int gsc_m2m_dqbuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf) { struct gsc_ctx *ctx =3D file_to_ctx(file); return v4l2_m2m_dqbuf(file, ctx->m2m_ctx, buf); } =20 -static int gsc_m2m_streamon(struct file *file, void *fh, +static int gsc_m2m_streamon(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct gsc_ctx *ctx =3D file_to_ctx(file); @@ -415,7 +426,8 @@ static int gsc_m2m_streamon(struct file *file, void *fh, return v4l2_m2m_streamon(file, ctx->m2m_ctx, type); } =20 -static int gsc_m2m_streamoff(struct file *file, void *fh, +static int gsc_m2m_streamoff(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct gsc_ctx *ctx =3D file_to_ctx(file); @@ -437,7 +449,8 @@ static int is_rectangle_enclosed(struct v4l2_rect *a, s= truct v4l2_rect *b) return 1; } =20 -static int gsc_m2m_g_selection(struct file *file, void *fh, +static int gsc_m2m_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct gsc_ctx *ctx =3D file_to_ctx(file); @@ -474,7 +487,8 @@ static int gsc_m2m_g_selection(struct file *file, void = *fh, return -EINVAL; } =20 -static int gsc_m2m_s_selection(struct file *file, void *fh, +static int gsc_m2m_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct gsc_frame *frame; diff --git a/drivers/media/platform/samsung/exynos4-is/fimc-capture.c b/dri= vers/media/platform/samsung/exynos4-is/fimc-capture.c index 5b412afd7d6052f7491ccf596121025a4fc49f41..1e08ce33856d38ad51e540d654b= eeb06419cb49d 100644 --- a/drivers/media/platform/samsung/exynos4-is/fimc-capture.c +++ b/drivers/media/platform/samsung/exynos4-is/fimc-capture.c @@ -708,7 +708,8 @@ static void fimc_capture_try_selection(struct fimc_ctx = *ctx, /* * The video node ioctl operations */ -static int fimc_cap_querycap(struct file *file, void *priv, +static int fimc_cap_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct fimc_dev *fimc =3D video_drvdata(file); @@ -717,7 +718,8 @@ static int fimc_cap_querycap(struct file *file, void *p= riv, return 0; } =20 -static int fimc_cap_enum_fmt(struct file *file, void *priv, +static int fimc_cap_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { const struct fimc_fmt *fmt; @@ -885,7 +887,8 @@ static int fimc_get_sensor_frame_desc(struct v4l2_subde= v *sensor, return 0; } =20 -static int fimc_cap_g_fmt_mplane(struct file *file, void *fh, +static int fimc_cap_g_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct fimc_dev *fimc =3D video_drvdata(file); @@ -980,7 +983,8 @@ static int __video_try_or_set_format(struct fimc_dev *f= imc, return ret; } =20 -static int fimc_cap_try_fmt_mplane(struct file *file, void *fh, +static int fimc_cap_try_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct fimc_dev *fimc =3D video_drvdata(file); @@ -1045,7 +1049,8 @@ static int __fimc_capture_set_format(struct fimc_dev = *fimc, return ret; } =20 -static int fimc_cap_s_fmt_mplane(struct file *file, void *priv, +static int fimc_cap_s_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct fimc_dev *fimc =3D video_drvdata(file); @@ -1053,7 +1058,8 @@ static int fimc_cap_s_fmt_mplane(struct file *file, v= oid *priv, return __fimc_capture_set_format(fimc, f); } =20 -static int fimc_cap_enum_input(struct file *file, void *priv, +static int fimc_cap_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct fimc_dev *fimc =3D video_drvdata(file); @@ -1074,12 +1080,14 @@ static int fimc_cap_enum_input(struct file *file, v= oid *priv, return 0; } =20 -static int fimc_cap_s_input(struct file *file, void *priv, unsigned int i) +static int fimc_cap_s_input(struct file *file, + struct video_device_state *state, unsigned int i) { return i =3D=3D 0 ? i : -EINVAL; } =20 -static int fimc_cap_g_input(struct file *file, void *priv, unsigned int *i) +static int fimc_cap_g_input(struct file *file, + struct video_device_state *state, unsigned int *i) { *i =3D 0; return 0; @@ -1173,7 +1181,8 @@ static int fimc_pipeline_validate(struct fimc_dev *fi= mc) return 0; } =20 -static int fimc_cap_streamon(struct file *file, void *priv, +static int fimc_cap_streamon(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct fimc_dev *fimc =3D video_drvdata(file); @@ -1212,7 +1221,7 @@ static int fimc_cap_streamon(struct file *file, void = *priv, goto err_p_stop; } =20 - ret =3D vb2_ioctl_streamon(file, priv, type); + ret =3D vb2_ioctl_streamon(file, state, type); if (!ret) { vc->streaming =3D true; return ret; @@ -1223,14 +1232,15 @@ static int fimc_cap_streamon(struct file *file, voi= d *priv, return ret; } =20 -static int fimc_cap_streamoff(struct file *file, void *priv, +static int fimc_cap_streamoff(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct fimc_dev *fimc =3D video_drvdata(file); struct fimc_vid_cap *vc =3D &fimc->vid_cap; int ret; =20 - ret =3D vb2_ioctl_streamoff(file, priv, type); + ret =3D vb2_ioctl_streamoff(file, state, type); if (ret < 0) return ret; =20 @@ -1242,13 +1252,14 @@ static int fimc_cap_streamoff(struct file *file, vo= id *priv, return 0; } =20 -static int fimc_cap_reqbufs(struct file *file, void *priv, +static int fimc_cap_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *reqbufs) { struct fimc_dev *fimc =3D video_drvdata(file); int ret; =20 - ret =3D vb2_ioctl_reqbufs(file, priv, reqbufs); + ret =3D vb2_ioctl_reqbufs(file, state, reqbufs); =20 if (!ret) fimc->vid_cap.reqbufs_count =3D reqbufs->count; @@ -1256,7 +1267,8 @@ static int fimc_cap_reqbufs(struct file *file, void *= priv, return ret; } =20 -static int fimc_cap_g_selection(struct file *file, void *fh, +static int fimc_cap_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct fimc_dev *fimc =3D video_drvdata(file); @@ -1293,7 +1305,8 @@ static int fimc_cap_g_selection(struct file *file, vo= id *fh, return -EINVAL; } =20 -static int fimc_cap_s_selection(struct file *file, void *fh, +static int fimc_cap_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct fimc_dev *fimc =3D video_drvdata(file); diff --git a/drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c b/d= rivers/media/platform/samsung/exynos4-is/fimc-isp-video.c index ad219ac1b95137a703ea709d12139cca6b2e2332..1a985a9b6c56e4f03977df27732= 8961c62854703 100644 --- a/drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c +++ b/drivers/media/platform/samsung/exynos4-is/fimc-isp-video.c @@ -342,7 +342,8 @@ static const struct v4l2_file_operations isp_video_fops= =3D { /* * Video node ioctl operations */ -static int isp_video_querycap(struct file *file, void *priv, +static int isp_video_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct fimc_isp *isp =3D video_drvdata(file); @@ -351,7 +352,8 @@ static int isp_video_querycap(struct file *file, void *= priv, return 0; } =20 -static int isp_video_enum_fmt(struct file *file, void *priv, +static int isp_video_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { const struct fimc_fmt *fmt; @@ -368,7 +370,8 @@ static int isp_video_enum_fmt(struct file *file, void *= priv, return 0; } =20 -static int isp_video_g_fmt_mplane(struct file *file, void *fh, +static int isp_video_g_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct fimc_isp *isp =3D video_drvdata(file); @@ -402,7 +405,8 @@ static void __isp_video_try_fmt(struct fimc_isp *isp, FIMC_ISP_SOURCE_HEIGHT_MAX, 0, 0); } =20 -static int isp_video_try_fmt_mplane(struct file *file, void *fh, +static int isp_video_try_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct fimc_isp *isp =3D video_drvdata(file); @@ -411,7 +415,8 @@ static int isp_video_try_fmt_mplane(struct file *file, = void *fh, return 0; } =20 -static int isp_video_s_fmt_mplane(struct file *file, void *priv, +static int isp_video_s_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct fimc_isp *isp =3D video_drvdata(file); @@ -487,7 +492,8 @@ static int isp_video_pipeline_validate(struct fimc_isp = *isp) return 0; } =20 -static int isp_video_streamon(struct file *file, void *priv, +static int isp_video_streamon(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct fimc_isp *isp =3D video_drvdata(file); @@ -502,7 +508,7 @@ static int isp_video_streamon(struct file *file, void *= priv, if (ret < 0) goto p_stop; =20 - ret =3D vb2_ioctl_streamon(file, priv, type); + ret =3D vb2_ioctl_streamon(file, state, type); if (ret < 0) goto p_stop; =20 @@ -513,14 +519,15 @@ static int isp_video_streamon(struct file *file, void= *priv, return ret; } =20 -static int isp_video_streamoff(struct file *file, void *priv, +static int isp_video_streamoff(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct fimc_isp *isp =3D video_drvdata(file); struct fimc_is_video *video =3D &isp->video_capture; int ret; =20 - ret =3D vb2_ioctl_streamoff(file, priv, type); + ret =3D vb2_ioctl_streamoff(file, state, type); if (ret < 0) return ret; =20 @@ -529,19 +536,20 @@ static int isp_video_streamoff(struct file *file, voi= d *priv, return 0; } =20 -static int isp_video_reqbufs(struct file *file, void *priv, +static int isp_video_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *rb) { struct fimc_isp *isp =3D video_drvdata(file); int ret; =20 - ret =3D vb2_ioctl_reqbufs(file, priv, rb); + ret =3D vb2_ioctl_reqbufs(file, state, rb); if (ret < 0) return ret; =20 if (rb->count && rb->count < FIMC_ISP_REQ_BUFS_MIN) { rb->count =3D 0; - vb2_ioctl_reqbufs(file, priv, rb); + vb2_ioctl_reqbufs(file, state, rb); ret =3D -ENOMEM; } =20 diff --git a/drivers/media/platform/samsung/exynos4-is/fimc-lite.c b/driver= s/media/platform/samsung/exynos4-is/fimc-lite.c index 0ce293b0718b6a496b06275ebe778f118951d7bf..8b22b68b00b05f336c788127636= 3a594105b73cd 100644 --- a/drivers/media/platform/samsung/exynos4-is/fimc-lite.c +++ b/drivers/media/platform/samsung/exynos4-is/fimc-lite.c @@ -639,7 +639,8 @@ static void fimc_lite_try_compose(struct fimc_lite *fim= c, struct v4l2_rect *r) /* * Video node ioctl operations */ -static int fimc_lite_querycap(struct file *file, void *priv, +static int fimc_lite_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, FIMC_LITE_DRV_NAME, sizeof(cap->driver)); @@ -647,7 +648,8 @@ static int fimc_lite_querycap(struct file *file, void *= priv, return 0; } =20 -static int fimc_lite_enum_fmt(struct file *file, void *priv, +static int fimc_lite_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { const struct fimc_fmt *fmt; @@ -661,7 +663,8 @@ static int fimc_lite_enum_fmt(struct file *file, void *= priv, return 0; } =20 -static int fimc_lite_g_fmt_mplane(struct file *file, void *fh, +static int fimc_lite_g_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct fimc_lite *fimc =3D video_drvdata(file); @@ -726,14 +729,16 @@ static int fimc_lite_try_fmt(struct fimc_lite *fimc, return 0; } =20 -static int fimc_lite_try_fmt_mplane(struct file *file, void *fh, +static int fimc_lite_try_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct fimc_lite *fimc =3D video_drvdata(file); return fimc_lite_try_fmt(fimc, &f->fmt.pix_mp, NULL); } =20 -static int fimc_lite_s_fmt_mplane(struct file *file, void *priv, +static int fimc_lite_s_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { const struct v4l2_pix_format_mplane *pixm =3D &f->fmt.pix_mp; @@ -807,7 +812,8 @@ static int fimc_pipeline_validate(struct fimc_lite *fim= c) return 0; } =20 -static int fimc_lite_streamon(struct file *file, void *priv, +static int fimc_lite_streamon(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct fimc_lite *fimc =3D video_drvdata(file); @@ -826,7 +832,7 @@ static int fimc_lite_streamon(struct file *file, void *= priv, =20 fimc->sensor =3D fimc_find_remote_sensor(&fimc->subdev.entity); =20 - ret =3D vb2_ioctl_streamon(file, priv, type); + ret =3D vb2_ioctl_streamon(file, state, type); if (!ret) { fimc->streaming =3D true; return ret; @@ -837,13 +843,14 @@ static int fimc_lite_streamon(struct file *file, void= *priv, return 0; } =20 -static int fimc_lite_streamoff(struct file *file, void *priv, +static int fimc_lite_streamoff(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct fimc_lite *fimc =3D video_drvdata(file); int ret; =20 - ret =3D vb2_ioctl_streamoff(file, priv, type); + ret =3D vb2_ioctl_streamoff(file, state, type); if (ret < 0) return ret; =20 @@ -852,21 +859,23 @@ static int fimc_lite_streamoff(struct file *file, voi= d *priv, return 0; } =20 -static int fimc_lite_reqbufs(struct file *file, void *priv, +static int fimc_lite_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *reqbufs) { struct fimc_lite *fimc =3D video_drvdata(file); int ret; =20 reqbufs->count =3D max_t(u32, FLITE_REQ_BUFS_MIN, reqbufs->count); - ret =3D vb2_ioctl_reqbufs(file, priv, reqbufs); + ret =3D vb2_ioctl_reqbufs(file, state, reqbufs); if (!ret) fimc->reqbufs_count =3D reqbufs->count; =20 return ret; } =20 -static int fimc_lite_g_selection(struct file *file, void *fh, +static int fimc_lite_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct fimc_lite *fimc =3D video_drvdata(file); @@ -892,7 +901,8 @@ static int fimc_lite_g_selection(struct file *file, voi= d *fh, return -EINVAL; } =20 -static int fimc_lite_s_selection(struct file *file, void *fh, +static int fimc_lite_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct fimc_lite *fimc =3D video_drvdata(file); diff --git a/drivers/media/platform/samsung/exynos4-is/fimc-m2m.c b/drivers= /media/platform/samsung/exynos4-is/fimc-m2m.c index 562c57f186c61546175b4f902f1da18fbb2f25fe..4efa54f1e7a671741b5c16c9a95= 4af572150dfd8 100644 --- a/drivers/media/platform/samsung/exynos4-is/fimc-m2m.c +++ b/drivers/media/platform/samsung/exynos4-is/fimc-m2m.c @@ -223,7 +223,8 @@ static const struct vb2_ops fimc_qops =3D { /* * V4L2 ioctl handlers */ -static int fimc_m2m_querycap(struct file *file, void *fh, +static int fimc_m2m_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct fimc_dev *fimc =3D video_drvdata(file); @@ -232,7 +233,8 @@ static int fimc_m2m_querycap(struct file *file, void *f= h, return 0; } =20 -static int fimc_m2m_enum_fmt(struct file *file, void *priv, +static int fimc_m2m_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { const struct fimc_fmt *fmt; @@ -246,7 +248,8 @@ static int fimc_m2m_enum_fmt(struct file *file, void *p= riv, return 0; } =20 -static int fimc_m2m_g_fmt_mplane(struct file *file, void *fh, +static int fimc_m2m_g_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct fimc_ctx *ctx =3D file_to_ctx(file); @@ -305,7 +308,8 @@ static int fimc_try_fmt_mplane(struct fimc_ctx *ctx, st= ruct v4l2_format *f) return 0; } =20 -static int fimc_m2m_try_fmt_mplane(struct file *file, void *fh, +static int fimc_m2m_try_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct fimc_ctx *ctx =3D file_to_ctx(file); @@ -334,7 +338,8 @@ static void __set_frame_format(struct fimc_frame *frame, frame->fmt =3D fmt; } =20 -static int fimc_m2m_s_fmt_mplane(struct file *file, void *fh, +static int fimc_m2m_s_fmt_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct fimc_ctx *ctx =3D file_to_ctx(file); @@ -373,7 +378,8 @@ static int fimc_m2m_s_fmt_mplane(struct file *file, voi= d *fh, return 0; } =20 -static int fimc_m2m_g_selection(struct file *file, void *fh, +static int fimc_m2m_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct fimc_ctx *ctx =3D file_to_ctx(file); @@ -481,7 +487,8 @@ static int fimc_m2m_try_selection(struct fimc_ctx *ctx, return 0; } =20 -static int fimc_m2m_s_selection(struct file *file, void *fh, +static int fimc_m2m_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct fimc_ctx *ctx =3D file_to_ctx(file); diff --git a/drivers/media/platform/samsung/s3c-camif/camif-capture.c b/dri= vers/media/platform/samsung/s3c-camif/camif-capture.c index ed1a1d693293b33d8da3190ac8ee6dd212a64b88..735e9b643b474dc20da03fe82d6= 73c59f41492f2 100644 --- a/drivers/media/platform/samsung/s3c-camif/camif-capture.c +++ b/drivers/media/platform/samsung/s3c-camif/camif-capture.c @@ -630,7 +630,8 @@ static const struct v4l2_file_operations s3c_camif_fops= =3D { * Video node IOCTLs */ =20 -static int s3c_camif_vidioc_querycap(struct file *file, void *priv, +static int s3c_camif_vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct camif_vp *vp =3D video_drvdata(file); @@ -642,7 +643,8 @@ static int s3c_camif_vidioc_querycap(struct file *file,= void *priv, return 0; } =20 -static int s3c_camif_vidioc_enum_input(struct file *file, void *priv, +static int s3c_camif_vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *input) { struct camif_vp *vp =3D video_drvdata(file); @@ -656,20 +658,23 @@ static int s3c_camif_vidioc_enum_input(struct file *f= ile, void *priv, return 0; } =20 -static int s3c_camif_vidioc_s_input(struct file *file, void *priv, +static int s3c_camif_vidioc_s_input(struct file *file, + struct video_device_state *state, unsigned int i) { return i =3D=3D 0 ? 0 : -EINVAL; } =20 -static int s3c_camif_vidioc_g_input(struct file *file, void *priv, +static int s3c_camif_vidioc_g_input(struct file *file, + struct video_device_state *state, unsigned int *i) { *i =3D 0; return 0; } =20 -static int s3c_camif_vidioc_enum_fmt(struct file *file, void *priv, +static int s3c_camif_vidioc_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct camif_vp *vp =3D video_drvdata(file); @@ -683,7 +688,8 @@ static int s3c_camif_vidioc_enum_fmt(struct file *file,= void *priv, return 0; } =20 -static int s3c_camif_vidioc_g_fmt(struct file *file, void *priv, +static int s3c_camif_vidioc_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct camif_vp *vp =3D video_drvdata(file); @@ -754,14 +760,16 @@ static int __camif_video_try_format(struct camif_vp *= vp, return 0; } =20 -static int s3c_camif_vidioc_try_fmt(struct file *file, void *priv, +static int s3c_camif_vidioc_try_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct camif_vp *vp =3D video_drvdata(file); return __camif_video_try_format(vp, &f->fmt.pix, NULL); } =20 -static int s3c_camif_vidioc_s_fmt(struct file *file, void *priv, +static int s3c_camif_vidioc_s_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct v4l2_pix_format *pix =3D &f->fmt.pix; @@ -828,7 +836,8 @@ static int camif_pipeline_validate(struct camif_dev *ca= mif) return 0; } =20 -static int s3c_camif_streamon(struct file *file, void *priv, +static int s3c_camif_streamon(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct camif_vp *vp =3D video_drvdata(file); @@ -860,7 +869,8 @@ static int s3c_camif_streamon(struct file *file, void *= priv, return vb2_streamon(&vp->vb_queue, type); } =20 -static int s3c_camif_streamoff(struct file *file, void *priv, +static int s3c_camif_streamoff(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct camif_vp *vp =3D video_drvdata(file); @@ -881,7 +891,8 @@ static int s3c_camif_streamoff(struct file *file, void = *priv, return ret; } =20 -static int s3c_camif_reqbufs(struct file *file, void *priv, +static int s3c_camif_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *rb) { struct camif_vp *vp =3D video_drvdata(file); @@ -915,14 +926,16 @@ static int s3c_camif_reqbufs(struct file *file, void = *priv, return ret; } =20 -static int s3c_camif_querybuf(struct file *file, void *priv, +static int s3c_camif_querybuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf) { struct camif_vp *vp =3D video_drvdata(file); return vb2_querybuf(&vp->vb_queue, buf); } =20 -static int s3c_camif_qbuf(struct file *file, void *priv, +static int s3c_camif_qbuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf) { struct camif_vp *vp =3D video_drvdata(file); @@ -935,7 +948,8 @@ static int s3c_camif_qbuf(struct file *file, void *priv, return vb2_qbuf(&vp->vb_queue, vp->vdev.v4l2_dev->mdev, buf); } =20 -static int s3c_camif_dqbuf(struct file *file, void *priv, +static int s3c_camif_dqbuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf) { struct camif_vp *vp =3D video_drvdata(file); @@ -948,7 +962,8 @@ static int s3c_camif_dqbuf(struct file *file, void *pri= v, return vb2_dqbuf(&vp->vb_queue, buf, file->f_flags & O_NONBLOCK); } =20 -static int s3c_camif_create_bufs(struct file *file, void *priv, +static int s3c_camif_create_bufs(struct file *file, + struct video_device_state *state, struct v4l2_create_buffers *create) { struct camif_vp *vp =3D video_drvdata(file); @@ -966,14 +981,16 @@ static int s3c_camif_create_bufs(struct file *file, v= oid *priv, return ret; } =20 -static int s3c_camif_prepare_buf(struct file *file, void *priv, +static int s3c_camif_prepare_buf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *b) { struct camif_vp *vp =3D video_drvdata(file); return vb2_prepare_buf(&vp->vb_queue, vp->vdev.v4l2_dev->mdev, b); } =20 -static int s3c_camif_g_selection(struct file *file, void *priv, +static int s3c_camif_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct camif_vp *vp =3D video_drvdata(file); @@ -1010,7 +1027,8 @@ static void __camif_try_compose(struct camif_dev *cam= if, struct camif_vp *vp, /* TODO: s3c64xx */ } =20 -static int s3c_camif_s_selection(struct file *file, void *priv, +static int s3c_camif_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct camif_vp *vp =3D video_drvdata(file); diff --git a/drivers/media/platform/samsung/s5p-g2d/g2d.c b/drivers/media/p= latform/samsung/s5p-g2d/g2d.c index ffb9bee6cb9d4759647925d791a13e1f0ce3f299..e7bf9bc50c3435ca190a194aef9= bef0d1f5374c0 100644 --- a/drivers/media/platform/samsung/s5p-g2d/g2d.c +++ b/drivers/media/platform/samsung/s5p-g2d/g2d.c @@ -288,7 +288,8 @@ static int g2d_release(struct file *file) } =20 =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, G2D_NAME, sizeof(cap->driver)); @@ -297,7 +298,9 @@ static int vidioc_querycap(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_enum_fmt(struct file *file, void *priv, struct v4l2_fmtd= esc *f) +static int vidioc_enum_fmt(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f) { if (f->index >=3D NUM_FORMATS) return -EINVAL; @@ -305,7 +308,8 @@ static int vidioc_enum_fmt(struct file *file, void *pri= v, struct v4l2_fmtdesc *f return 0; } =20 -static int vidioc_g_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_g_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct g2d_ctx *ctx =3D file2ctx(file); struct vb2_queue *vq; @@ -327,7 +331,8 @@ static int vidioc_g_fmt(struct file *file, void *priv, = struct v4l2_format *f) return 0; } =20 -static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_forma= t *f) +static int vidioc_try_fmt(struct file *file, struct video_device_state *st= ate, + struct v4l2_format *f) { struct g2d_fmt *fmt; enum v4l2_field *field; @@ -357,7 +362,8 @@ static int vidioc_try_fmt(struct file *file, void *priv= , struct v4l2_format *f) return 0; } =20 -static int vidioc_s_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_s_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct g2d_ctx *ctx =3D file2ctx(file); struct g2d_dev *dev =3D ctx->dev; @@ -368,7 +374,7 @@ static int vidioc_s_fmt(struct file *file, void *priv, = struct v4l2_format *f) =20 /* Adjust all values accordingly to the hardware capabilities * and chosen format. */ - ret =3D vidioc_try_fmt(file, priv, f); + ret =3D vidioc_try_fmt(file, state, f); if (ret) return ret; vq =3D v4l2_m2m_get_vq(ctx->fh.m2m_ctx, f->type); @@ -397,7 +403,8 @@ static int vidioc_s_fmt(struct file *file, void *priv, = struct v4l2_format *f) return 0; } =20 -static int vidioc_g_selection(struct file *file, void *priv, +static int vidioc_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct g2d_ctx *ctx =3D file2ctx(file); @@ -475,14 +482,15 @@ static int vidioc_try_selection(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_s_selection(struct file *file, void *priv, +static int vidioc_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct g2d_ctx *ctx =3D file2ctx(file); struct g2d_frame *f; int ret; =20 - ret =3D vidioc_try_selection(file, priv, s); + ret =3D vidioc_try_selection(file, state, s); if (ret) return ret; f =3D get_frame(ctx, s->type); diff --git a/drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c b/drivers/= media/platform/samsung/s5p-jpeg/jpeg-core.c index 81792f7f8b1671dba2023f99b2779784d9a14b8c..5a5b24fd312c8f96b684e533b21= cc4724f8f2a0b 100644 --- a/drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c +++ b/drivers/media/platform/samsung/s5p-jpeg/jpeg-core.c @@ -1245,7 +1245,8 @@ static bool s5p_jpeg_parse_hdr(struct s5p_jpeg_q_data= *result, return true; } =20 -static int s5p_jpeg_querycap(struct file *file, void *priv, +static int s5p_jpeg_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct s5p_jpeg_ctx *ctx =3D file_to_ctx(file); @@ -1293,7 +1294,8 @@ static int enum_fmt(struct s5p_jpeg_ctx *ctx, return 0; } =20 -static int s5p_jpeg_enum_fmt_vid_cap(struct file *file, void *priv, +static int s5p_jpeg_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct s5p_jpeg_ctx *ctx =3D file_to_ctx(file); @@ -1306,7 +1308,8 @@ static int s5p_jpeg_enum_fmt_vid_cap(struct file *fil= e, void *priv, SJPEG_FMT_FLAG_DEC_CAPTURE); } =20 -static int s5p_jpeg_enum_fmt_vid_out(struct file *file, void *priv, +static int s5p_jpeg_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct s5p_jpeg_ctx *ctx =3D file_to_ctx(file); @@ -1330,7 +1333,8 @@ static struct s5p_jpeg_q_data *get_q_data(struct s5p_= jpeg_ctx *ctx, return NULL; } =20 -static int s5p_jpeg_g_fmt(struct file *file, void *priv, struct v4l2_forma= t *f) +static int s5p_jpeg_g_fmt(struct file *file, struct video_device_state *st= ate, + struct v4l2_format *f) { struct vb2_queue *vq; struct s5p_jpeg_q_data *q_data =3D NULL; @@ -1472,7 +1476,8 @@ static int vidioc_try_fmt(struct v4l2_format *f, stru= ct s5p_jpeg_fmt *fmt, return 0; } =20 -static int s5p_jpeg_try_fmt_vid_cap(struct file *file, void *priv, +static int s5p_jpeg_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct s5p_jpeg_ctx *ctx =3D file_to_ctx(file); @@ -1531,7 +1536,8 @@ static int s5p_jpeg_try_fmt_vid_cap(struct file *file= , void *priv, return vidioc_try_fmt(f, fmt, ctx, FMT_TYPE_CAPTURE); } =20 -static int s5p_jpeg_try_fmt_vid_out(struct file *file, void *priv, +static int s5p_jpeg_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct s5p_jpeg_ctx *ctx =3D file_to_ctx(file); @@ -1672,24 +1678,26 @@ static int s5p_jpeg_s_fmt(struct s5p_jpeg_ctx *ct, = struct v4l2_format *f) return 0; } =20 -static int s5p_jpeg_s_fmt_vid_cap(struct file *file, void *priv, +static int s5p_jpeg_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret; =20 - ret =3D s5p_jpeg_try_fmt_vid_cap(file, priv, f); + ret =3D s5p_jpeg_try_fmt_vid_cap(file, state, f); if (ret) return ret; =20 return s5p_jpeg_s_fmt(file_to_ctx(file), f); } =20 -static int s5p_jpeg_s_fmt_vid_out(struct file *file, void *priv, +static int s5p_jpeg_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret; =20 - ret =3D s5p_jpeg_try_fmt_vid_out(file, priv, f); + ret =3D s5p_jpeg_try_fmt_vid_out(file, state, f); if (ret) return ret; =20 @@ -1787,7 +1795,8 @@ static int exynos3250_jpeg_try_crop(struct s5p_jpeg_c= tx *ctx, * V4L2 controls */ =20 -static int s5p_jpeg_g_selection(struct file *file, void *priv, +static int s5p_jpeg_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct s5p_jpeg_ctx *ctx =3D file_to_ctx(file); @@ -1824,7 +1833,8 @@ static int s5p_jpeg_g_selection(struct file *file, vo= id *priv, /* * V4L2 controls */ -static int s5p_jpeg_s_selection(struct file *file, void *fh, +static int s5p_jpeg_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct s5p_jpeg_ctx *ctx =3D file_to_ctx(file); diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c b/drivers= /media/platform/samsung/s5p-mfc/s5p_mfc_dec.c index afd28beabfdee3a52ffceb467d6d875f4dc428ac..b38d43497e7c274c8bd5311372b= fa15aafa10a51 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_dec.c @@ -295,7 +295,8 @@ static const struct s5p_mfc_codec_ops decoder_codec_ops= =3D { }; =20 /* Query capabilities of the device */ -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct s5p_mfc_dev *dev =3D video_drvdata(file); @@ -330,20 +331,23 @@ static int vidioc_enum_fmt(struct file *file, struct = v4l2_fmtdesc *f, return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return vidioc_enum_fmt(file, f, false); } =20 -static int vidioc_enum_fmt_vid_out(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return vidioc_enum_fmt(file, f, true); } =20 /* Get format */ -static int vidioc_g_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_g_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); struct v4l2_pix_format_mplane *pix_mp; @@ -403,7 +407,8 @@ static int vidioc_g_fmt(struct file *file, void *priv, = struct v4l2_format *f) } =20 /* Try format */ -static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_forma= t *f) +static int vidioc_try_fmt(struct file *file, struct video_device_state *st= ate, + struct v4l2_format *f) { struct s5p_mfc_dev *dev =3D video_drvdata(file); const struct s5p_mfc_fmt *fmt; @@ -439,7 +444,8 @@ static int vidioc_try_fmt(struct file *file, void *priv= , struct v4l2_format *f) } =20 /* Set format */ -static int vidioc_s_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_s_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct s5p_mfc_dev *dev =3D video_drvdata(file); struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); @@ -448,7 +454,7 @@ static int vidioc_s_fmt(struct file *file, void *priv, = struct v4l2_format *f) const struct s5p_mfc_buf_size *buf_size =3D dev->variant->buf_size; =20 mfc_debug_enter(); - ret =3D vidioc_try_fmt(file, priv, f); + ret =3D vidioc_try_fmt(file, state, f); pix_mp =3D &f->fmt.pix_mp; if (ret) return ret; @@ -594,7 +600,8 @@ static int reqbufs_capture(struct s5p_mfc_dev *dev, str= uct s5p_mfc_ctx *ctx, } =20 /* Request buffers */ -static int vidioc_reqbufs(struct file *file, void *priv, +static int vidioc_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *reqbufs) { struct s5p_mfc_dev *dev =3D video_drvdata(file); @@ -616,7 +623,8 @@ static int vidioc_reqbufs(struct file *file, void *priv, } =20 /* Query buffer */ -static int vidioc_querybuf(struct file *file, void *priv, +static int vidioc_querybuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); @@ -645,7 +653,8 @@ static int vidioc_querybuf(struct file *file, void *pri= v, } =20 /* Queue a buffer */ -static int vidioc_qbuf(struct file *file, void *priv, struct v4l2_buffer *= buf) +static int vidioc_qbuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *buf) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); =20 @@ -661,7 +670,8 @@ static int vidioc_qbuf(struct file *file, void *priv, s= truct v4l2_buffer *buf) } =20 /* Dequeue a buffer */ -static int vidioc_dqbuf(struct file *file, void *priv, struct v4l2_buffer = *buf) +static int vidioc_dqbuf(struct file *file, struct video_device_state *stat= e, + struct v4l2_buffer *buf) { const struct v4l2_event ev =3D { .type =3D V4L2_EVENT_EOS @@ -692,8 +702,8 @@ static int vidioc_dqbuf(struct file *file, void *priv, = struct v4l2_buffer *buf) } =20 /* Export DMA buffer */ -static int vidioc_expbuf(struct file *file, void *priv, - struct v4l2_exportbuffer *eb) +static int vidioc_expbuf(struct file *file, + struct video_device_state *state, struct v4l2_exportbuffer *eb) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); =20 @@ -705,7 +715,8 @@ static int vidioc_expbuf(struct file *file, void *priv, } =20 /* Stream on */ -static int vidioc_streamon(struct file *file, void *priv, +static int vidioc_streamon(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); @@ -721,7 +732,8 @@ static int vidioc_streamon(struct file *file, void *pri= v, } =20 /* Stream off, which equals to a pause */ -static int vidioc_streamoff(struct file *file, void *priv, +static int vidioc_streamoff(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); @@ -798,7 +810,8 @@ static const struct v4l2_ctrl_ops s5p_mfc_dec_ctrl_ops = =3D { }; =20 /* Get compose information */ -static int vidioc_g_selection(struct file *file, void *priv, +static int vidioc_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); @@ -853,7 +866,8 @@ static int vidioc_g_selection(struct file *file, void *= priv, return 0; } =20 -static int vidioc_decoder_cmd(struct file *file, void *priv, +static int vidioc_decoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_decoder_cmd *cmd) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); diff --git a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c b/drivers= /media/platform/samsung/s5p-mfc/s5p_mfc_enc.c index 3f8701e5614f21a8289df02ba8d8b1b876acf81d..6d689bdf1a15c1eea44bac28218= 5d29b2e576a3b 100644 --- a/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c +++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c @@ -1342,7 +1342,8 @@ static const struct s5p_mfc_codec_ops encoder_codec_o= ps =3D { }; =20 /* Query capabilities of the device */ -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct s5p_mfc_dev *dev =3D video_drvdata(file); @@ -1375,19 +1376,22 @@ static int vidioc_enum_fmt(struct file *file, struc= t v4l2_fmtdesc *f, return -EINVAL; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return vidioc_enum_fmt(file, f, false); } =20 -static int vidioc_enum_fmt_vid_out(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return vidioc_enum_fmt(file, f, true); } =20 -static int vidioc_g_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_g_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct v4l2_pix_format_mplane *pix_fmt_mp =3D &f->fmt.pix_mp; struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); @@ -1428,7 +1432,8 @@ static int vidioc_g_fmt(struct file *file, void *priv= , struct v4l2_format *f) return 0; } =20 -static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_forma= t *f) +static int vidioc_try_fmt(struct file *file, struct video_device_state *st= ate, + struct v4l2_format *f) { struct s5p_mfc_dev *dev =3D video_drvdata(file); const struct s5p_mfc_fmt *fmt; @@ -1470,14 +1475,15 @@ static int vidioc_try_fmt(struct file *file, void *= priv, struct v4l2_format *f) return 0; } =20 -static int vidioc_s_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_s_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); struct s5p_mfc_dev *dev =3D video_drvdata(file); struct v4l2_pix_format_mplane *pix_fmt_mp =3D &f->fmt.pix_mp; int ret =3D 0; =20 - ret =3D vidioc_try_fmt(file, priv, f); + ret =3D vidioc_try_fmt(file, state, f); if (ret) return ret; if (ctx->vq_src.streaming || ctx->vq_dst.streaming) { @@ -1527,7 +1533,8 @@ static int vidioc_s_fmt(struct file *file, void *priv= , struct v4l2_format *f) return ret; } =20 -static int vidioc_reqbufs(struct file *file, void *priv, +static int vidioc_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *reqbufs) { struct s5p_mfc_dev *dev =3D video_drvdata(file); @@ -1598,7 +1605,8 @@ static int vidioc_reqbufs(struct file *file, void *pr= iv, return ret; } =20 -static int vidioc_querybuf(struct file *file, void *priv, +static int vidioc_querybuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); @@ -1634,7 +1642,8 @@ static int vidioc_querybuf(struct file *file, void *p= riv, } =20 /* Queue a buffer */ -static int vidioc_qbuf(struct file *file, void *priv, struct v4l2_buffer *= buf) +static int vidioc_qbuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *buf) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); =20 @@ -1655,7 +1664,8 @@ static int vidioc_qbuf(struct file *file, void *priv,= struct v4l2_buffer *buf) } =20 /* Dequeue a buffer */ -static int vidioc_dqbuf(struct file *file, void *priv, struct v4l2_buffer = *buf) +static int vidioc_dqbuf(struct file *file, struct video_device_state *stat= e, + struct v4l2_buffer *buf) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); const struct v4l2_event ev =3D { @@ -1682,8 +1692,8 @@ static int vidioc_dqbuf(struct file *file, void *priv= , struct v4l2_buffer *buf) } =20 /* Export DMA buffer */ -static int vidioc_expbuf(struct file *file, void *priv, - struct v4l2_exportbuffer *eb) +static int vidioc_expbuf(struct file *file, + struct video_device_state *state, struct v4l2_exportbuffer *eb) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); =20 @@ -1695,7 +1705,8 @@ static int vidioc_expbuf(struct file *file, void *pri= v, } =20 /* Stream on */ -static int vidioc_streamon(struct file *file, void *priv, +static int vidioc_streamon(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); @@ -1708,7 +1719,8 @@ static int vidioc_streamon(struct file *file, void *p= riv, } =20 /* Stream off, which equals to a pause */ -static int vidioc_streamoff(struct file *file, void *priv, +static int vidioc_streamoff(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); @@ -2281,7 +2293,8 @@ static const struct v4l2_ctrl_ops s5p_mfc_enc_ctrl_op= s =3D { .g_volatile_ctrl =3D s5p_mfc_enc_g_v_ctrl, }; =20 -static int vidioc_s_parm(struct file *file, void *priv, +static int vidioc_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *a) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); @@ -2298,7 +2311,8 @@ static int vidioc_s_parm(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_g_parm(struct file *file, void *priv, +static int vidioc_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *a) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); @@ -2315,7 +2329,8 @@ static int vidioc_g_parm(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_encoder_cmd(struct file *file, void *priv, +static int vidioc_encoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_encoder_cmd *cmd) { struct s5p_mfc_ctx *ctx =3D file_to_ctx(file); diff --git a/drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c b/drivers/med= ia/platform/st/sti/bdisp/bdisp-v4l2.c index 56169b70652d3aaf7c3c395a630a29023cbd9722..dc8305d5d445633dbd01d0a2d21= 4bbd30e804334 100644 --- a/drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c +++ b/drivers/media/platform/st/sti/bdisp/bdisp-v4l2.c @@ -681,7 +681,8 @@ static const struct v4l2_file_operations bdisp_fops =3D= { .mmap =3D v4l2_m2m_fop_mmap, }; =20 -static int bdisp_querycap(struct file *file, void *fh, +static int bdisp_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct bdisp_ctx *ctx =3D file_to_ctx(file); @@ -694,7 +695,8 @@ static int bdisp_querycap(struct file *file, void *fh, return 0; } =20 -static int bdisp_enum_fmt(struct file *file, void *fh, struct v4l2_fmtdesc= *f) +static int bdisp_enum_fmt(struct file *file, struct video_device_state *st= ate, + struct v4l2_fmtdesc *f) { struct bdisp_ctx *ctx =3D file_to_ctx(file); const struct bdisp_fmt *fmt; @@ -714,7 +716,8 @@ static int bdisp_enum_fmt(struct file *file, void *fh, = struct v4l2_fmtdesc *f) return 0; } =20 -static int bdisp_g_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int bdisp_g_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct bdisp_ctx *ctx =3D file_to_ctx(file); struct v4l2_pix_format *pix; @@ -738,7 +741,8 @@ static int bdisp_g_fmt(struct file *file, void *fh, str= uct v4l2_format *f) return 0; } =20 -static int bdisp_try_fmt(struct file *file, void *fh, struct v4l2_format *= f) +static int bdisp_try_fmt(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f) { struct bdisp_ctx *ctx =3D file_to_ctx(file); struct v4l2_pix_format *pix =3D &f->fmt.pix; @@ -788,7 +792,8 @@ static int bdisp_try_fmt(struct file *file, void *fh, s= truct v4l2_format *f) return 0; } =20 -static int bdisp_s_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int bdisp_s_fmt(struct file *file, struct video_device_state *vstat= e, + struct v4l2_format *f) { struct bdisp_ctx *ctx =3D file_to_ctx(file); struct vb2_queue *vq; @@ -797,7 +802,7 @@ static int bdisp_s_fmt(struct file *file, void *fh, str= uct v4l2_format *f) int ret; u32 state; =20 - ret =3D bdisp_try_fmt(file, fh, f); + ret =3D bdisp_try_fmt(file, vstate, f); if (ret) { dev_err(ctx->bdisp_dev->dev, "Cannot set format\n"); return ret; @@ -840,7 +845,8 @@ static int bdisp_s_fmt(struct file *file, void *fh, str= uct v4l2_format *f) return 0; } =20 -static int bdisp_g_selection(struct file *file, void *fh, +static int bdisp_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct bdisp_ctx *ctx =3D file_to_ctx(file); @@ -918,7 +924,8 @@ static int is_rect_enclosed(struct v4l2_rect *a, struct= v4l2_rect *b) return 1; } =20 -static int bdisp_s_selection(struct file *file, void *fh, +static int bdisp_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct bdisp_ctx *ctx =3D file_to_ctx(file); @@ -997,7 +1004,8 @@ static int bdisp_s_selection(struct file *file, void *= fh, return 0; } =20 -static int bdisp_streamon(struct file *file, void *fh, enum v4l2_buf_type = type) +static int bdisp_streamon(struct file *file, struct video_device_state *st= ate, + enum v4l2_buf_type type) { struct bdisp_ctx *ctx =3D file_to_ctx(file); =20 diff --git a/drivers/media/platform/st/sti/delta/delta-v4l2.c b/drivers/med= ia/platform/st/sti/delta/delta-v4l2.c index 6c1a53c771f746813a6062cb3ffc139250ff7146..cb259f77404828cec2488951395= 6e7c21d967cc8 100644 --- a/drivers/media/platform/st/sti/delta/delta-v4l2.c +++ b/drivers/media/platform/st/sti/delta/delta-v4l2.c @@ -383,7 +383,8 @@ static int delta_open_decoder(struct delta_ctx *ctx, u3= 2 streamformat, * V4L2 ioctl operations */ =20 -static int delta_querycap(struct file *file, void *priv, +static int delta_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct delta_ctx *ctx =3D file_to_ctx(file); @@ -397,7 +398,8 @@ static int delta_querycap(struct file *file, void *priv, return 0; } =20 -static int delta_enum_fmt_stream(struct file *file, void *priv, +static int delta_enum_fmt_stream(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct delta_ctx *ctx =3D file_to_ctx(file); @@ -411,7 +413,8 @@ static int delta_enum_fmt_stream(struct file *file, voi= d *priv, return 0; } =20 -static int delta_enum_fmt_frame(struct file *file, void *priv, +static int delta_enum_fmt_frame(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct delta_ctx *ctx =3D file_to_ctx(file); @@ -425,7 +428,8 @@ static int delta_enum_fmt_frame(struct file *file, void= *priv, return 0; } =20 -static int delta_g_fmt_stream(struct file *file, void *fh, +static int delta_g_fmt_stream(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct delta_ctx *ctx =3D file_to_ctx(file); @@ -454,7 +458,9 @@ static int delta_g_fmt_stream(struct file *file, void *= fh, return 0; } =20 -static int delta_g_fmt_frame(struct file *file, void *fh, struct v4l2_form= at *f) +static int delta_g_fmt_frame(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct delta_ctx *ctx =3D file_to_ctx(file); struct delta_dev *delta =3D ctx->dev; @@ -492,7 +498,8 @@ static int delta_g_fmt_frame(struct file *file, void *f= h, struct v4l2_format *f) return 0; } =20 -static int delta_try_fmt_stream(struct file *file, void *priv, +static int delta_try_fmt_stream(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct delta_ctx *ctx =3D file_to_ctx(file); @@ -546,7 +553,8 @@ static int delta_try_fmt_stream(struct file *file, void= *priv, return 0; } =20 -static int delta_try_fmt_frame(struct file *file, void *priv, +static int delta_try_fmt_frame(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct delta_ctx *ctx =3D file_to_ctx(file); @@ -606,7 +614,8 @@ static int delta_try_fmt_frame(struct file *file, void = *priv, return 0; } =20 -static int delta_s_fmt_stream(struct file *file, void *fh, +static int delta_s_fmt_stream(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct delta_ctx *ctx =3D file_to_ctx(file); @@ -615,7 +624,7 @@ static int delta_s_fmt_stream(struct file *file, void *= fh, struct v4l2_pix_format *pix =3D &f->fmt.pix; int ret; =20 - ret =3D delta_try_fmt_stream(file, fh, f); + ret =3D delta_try_fmt_stream(file, state, f); if (ret) { dev_dbg(delta->dev, "%s V4L2 S_FMT (OUTPUT): unsupported format %4.4s\n", @@ -643,7 +652,9 @@ static int delta_s_fmt_stream(struct file *file, void *= fh, return 0; } =20 -static int delta_s_fmt_frame(struct file *file, void *fh, struct v4l2_form= at *f) +static int delta_s_fmt_frame(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct delta_ctx *ctx =3D file_to_ctx(file); struct delta_dev *delta =3D ctx->dev; @@ -668,7 +679,7 @@ static int delta_s_fmt_frame(struct file *file, void *f= h, struct v4l2_format *f) * pixel format & negotiate resolution boundaries * and alignment... */ - ret =3D delta_try_fmt_frame(file, fh, f); + ret =3D delta_try_fmt_frame(file, state, f); if (ret) { dev_dbg(delta->dev, "%s V4L2 S_FMT (CAPTURE): unsupported format %4.4s\n", @@ -722,7 +733,8 @@ static int delta_s_fmt_frame(struct file *file, void *f= h, struct v4l2_format *f) return 0; } =20 -static int delta_g_selection(struct file *file, void *fh, +static int delta_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct delta_ctx *ctx =3D file_to_ctx(file); @@ -791,7 +803,8 @@ static void delta_complete_eos(struct delta_ctx *ctx, dev_dbg(delta->dev, "%s EOS completed\n", ctx->name); } =20 -static int delta_try_decoder_cmd(struct file *file, void *fh, +static int delta_try_decoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_decoder_cmd *cmd) { if (cmd->cmd !=3D V4L2_DEC_CMD_STOP) @@ -867,13 +880,14 @@ static int delta_decoder_stop_cmd(struct delta_ctx *c= tx) return 0; } =20 -static int delta_decoder_cmd(struct file *file, void *fh, +static int delta_decoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_decoder_cmd *cmd) { struct delta_ctx *ctx =3D file_to_ctx(file); int ret =3D 0; =20 - ret =3D delta_try_decoder_cmd(file, fh, cmd); + ret =3D delta_try_decoder_cmd(file, state, cmd); if (ret) return ret; =20 diff --git a/drivers/media/platform/st/sti/hva/hva-v4l2.c b/drivers/media/p= latform/st/sti/hva/hva-v4l2.c index 3581b73a99b8ba5702e5d4d8d02cd5c832fa1555..28e5b22b77329ca1a277802bd29= 32b97f4fe149f 100644 --- a/drivers/media/platform/st/sti/hva/hva-v4l2.c +++ b/drivers/media/platform/st/sti/hva/hva-v4l2.c @@ -254,7 +254,8 @@ static void hva_dbg_summary(struct hva_ctx *ctx) * V4L2 ioctl operations */ =20 -static int hva_querycap(struct file *file, void *priv, +static int hva_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct hva_ctx *ctx =3D file_to_ctx(file); @@ -268,7 +269,8 @@ static int hva_querycap(struct file *file, void *priv, return 0; } =20 -static int hva_enum_fmt_stream(struct file *file, void *priv, +static int hva_enum_fmt_stream(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct hva_ctx *ctx =3D file_to_ctx(file); @@ -282,7 +284,8 @@ static int hva_enum_fmt_stream(struct file *file, void = *priv, return 0; } =20 -static int hva_enum_fmt_frame(struct file *file, void *priv, +static int hva_enum_fmt_frame(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct hva_ctx *ctx =3D file_to_ctx(file); @@ -296,7 +299,9 @@ static int hva_enum_fmt_frame(struct file *file, void *= priv, return 0; } =20 -static int hva_g_fmt_stream(struct file *file, void *fh, struct v4l2_forma= t *f) +static int hva_g_fmt_stream(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct hva_ctx *ctx =3D file_to_ctx(file); struct hva_streaminfo *streaminfo =3D &ctx->streaminfo; @@ -315,7 +320,9 @@ static int hva_g_fmt_stream(struct file *file, void *fh= , struct v4l2_format *f) return 0; } =20 -static int hva_g_fmt_frame(struct file *file, void *fh, struct v4l2_format= *f) +static int hva_g_fmt_frame(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct hva_ctx *ctx =3D file_to_ctx(file); struct hva_frameinfo *frameinfo =3D &ctx->frameinfo; @@ -335,7 +342,8 @@ static int hva_g_fmt_frame(struct file *file, void *fh,= struct v4l2_format *f) return 0; } =20 -static int hva_try_fmt_stream(struct file *file, void *priv, +static int hva_try_fmt_stream(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct hva_ctx *ctx =3D file_to_ctx(file); @@ -399,7 +407,8 @@ static int hva_try_fmt_stream(struct file *file, void *= priv, return 0; } =20 -static int hva_try_fmt_frame(struct file *file, void *priv, +static int hva_try_fmt_frame(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct hva_ctx *ctx =3D file_to_ctx(file); @@ -450,14 +459,16 @@ static int hva_try_fmt_frame(struct file *file, void = *priv, return 0; } =20 -static int hva_s_fmt_stream(struct file *file, void *fh, struct v4l2_forma= t *f) +static int hva_s_fmt_stream(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct hva_ctx *ctx =3D file_to_ctx(file); struct device *dev =3D ctx_to_dev(ctx); struct vb2_queue *vq; int ret; =20 - ret =3D hva_try_fmt_stream(file, fh, f); + ret =3D hva_try_fmt_stream(file, state, f); if (ret) { dev_dbg(dev, "%s V4L2 S_FMT (CAPTURE): unsupported format %.4s\n", ctx->name, (char *)&f->fmt.pix.pixelformat); @@ -480,7 +491,9 @@ static int hva_s_fmt_stream(struct file *file, void *fh= , struct v4l2_format *f) return 0; } =20 -static int hva_s_fmt_frame(struct file *file, void *fh, struct v4l2_format= *f) +static int hva_s_fmt_frame(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct hva_ctx *ctx =3D file_to_ctx(file); struct device *dev =3D ctx_to_dev(ctx); @@ -488,7 +501,7 @@ static int hva_s_fmt_frame(struct file *file, void *fh,= struct v4l2_format *f) struct vb2_queue *vq; int ret; =20 - ret =3D hva_try_fmt_frame(file, fh, f); + ret =3D hva_try_fmt_frame(file, state, f); if (ret) { dev_dbg(dev, "%s V4L2 S_FMT (OUTPUT): unsupported format %.4s\n", ctx->name, (char *)&pix->pixelformat); @@ -518,7 +531,8 @@ static int hva_s_fmt_frame(struct file *file, void *fh,= struct v4l2_format *f) return 0; } =20 -static int hva_g_parm(struct file *file, void *fh, struct v4l2_streamparm = *sp) +static int hva_g_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *sp) { struct hva_ctx *ctx =3D file_to_ctx(file); struct v4l2_fract *time_per_frame =3D &ctx->ctrls.time_per_frame; @@ -534,7 +548,8 @@ static int hva_g_parm(struct file *file, void *fh, stru= ct v4l2_streamparm *sp) return 0; } =20 -static int hva_s_parm(struct file *file, void *fh, struct v4l2_streamparm = *sp) +static int hva_s_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *sp) { struct hva_ctx *ctx =3D file_to_ctx(file); struct v4l2_fract *time_per_frame =3D &ctx->ctrls.time_per_frame; @@ -544,7 +559,7 @@ static int hva_s_parm(struct file *file, void *fh, stru= ct v4l2_streamparm *sp) =20 if (!sp->parm.output.timeperframe.numerator || !sp->parm.output.timeperframe.denominator) - return hva_g_parm(file, fh, sp); + return hva_g_parm(file, state, sp); =20 sp->parm.output.capability =3D V4L2_CAP_TIMEPERFRAME; time_per_frame->numerator =3D sp->parm.output.timeperframe.numerator; @@ -554,7 +569,8 @@ static int hva_s_parm(struct file *file, void *fh, stru= ct v4l2_streamparm *sp) return 0; } =20 -static int hva_qbuf(struct file *file, void *priv, struct v4l2_buffer *buf) +static int hva_qbuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *buf) { struct hva_ctx *ctx =3D file_to_ctx(file); struct device *dev =3D ctx_to_dev(ctx); diff --git a/drivers/media/platform/st/stm32/dma2d/dma2d.c b/drivers/media/= platform/st/stm32/dma2d/dma2d.c index 468c247ba3282c6f4d092985465cd3d0907b1c07..8bfe415eec7e06bb9ce680d6cd0= 732ba7046fd2b 100644 --- a/drivers/media/platform/st/stm32/dma2d/dma2d.c +++ b/drivers/media/platform/st/stm32/dma2d/dma2d.c @@ -333,7 +333,8 @@ static int dma2d_release(struct file *file) return 0; } =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, DMA2D_NAME, sizeof(cap->driver)); @@ -343,7 +344,9 @@ static int vidioc_querycap(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_enum_fmt(struct file *file, void *priv, struct v4l2_fmtd= esc *f) +static int vidioc_enum_fmt(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f) { if (f->index >=3D NUM_FORMATS) return -EINVAL; @@ -352,7 +355,8 @@ static int vidioc_enum_fmt(struct file *file, void *pri= v, struct v4l2_fmtdesc *f return 0; } =20 -static int vidioc_g_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_g_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct dma2d_ctx *ctx =3D file2ctx(file); struct vb2_queue *vq; @@ -377,7 +381,8 @@ static int vidioc_g_fmt(struct file *file, void *priv, = struct v4l2_format *f) return 0; } =20 -static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_forma= t *f) +static int vidioc_try_fmt(struct file *file, struct video_device_state *st= ate, + struct v4l2_format *f) { struct dma2d_ctx *ctx =3D file2ctx(file); struct dma2d_fmt *fmt; @@ -420,7 +425,8 @@ static int vidioc_try_fmt(struct file *file, void *priv= , struct v4l2_format *f) return 0; } =20 -static int vidioc_s_fmt(struct file *file, void *priv, struct v4l2_format = *f) +static int vidioc_s_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct dma2d_ctx *ctx =3D file2ctx(file); struct vb2_queue *vq; @@ -431,7 +437,7 @@ static int vidioc_s_fmt(struct file *file, void *priv, = struct v4l2_format *f) /* Adjust all values accordingly to the hardware capabilities * and chosen format. */ - ret =3D vidioc_try_fmt(file, priv, f); + ret =3D vidioc_try_fmt(file, state, f); if (ret) return ret; =20 diff --git a/drivers/media/platform/st/stm32/stm32-dcmi.c b/drivers/media/p= latform/st/stm32/stm32-dcmi.c index 13762861b76942530ed5f821c30f77c921047f9b..a167f96bf5d0bc6fb16d2a5ccf1= 7f85b3f005696 100644 --- a/drivers/media/platform/st/stm32/stm32-dcmi.c +++ b/drivers/media/platform/st/stm32/stm32-dcmi.c @@ -900,7 +900,8 @@ static const struct vb2_ops dcmi_video_qops =3D { .stop_streaming =3D dcmi_stop_streaming, }; =20 -static int dcmi_g_fmt_vid_cap(struct file *file, void *priv, +static int dcmi_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct stm32_dcmi *dcmi =3D video_drvdata(file); @@ -1086,7 +1087,8 @@ static int dcmi_set_fmt(struct stm32_dcmi *dcmi, stru= ct v4l2_format *f) return 0; } =20 -static int dcmi_s_fmt_vid_cap(struct file *file, void *priv, +static int dcmi_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct stm32_dcmi *dcmi =3D video_drvdata(file); @@ -1097,7 +1099,8 @@ static int dcmi_s_fmt_vid_cap(struct file *file, void= *priv, return dcmi_set_fmt(dcmi, f); } =20 -static int dcmi_try_fmt_vid_cap(struct file *file, void *priv, +static int dcmi_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct stm32_dcmi *dcmi =3D video_drvdata(file); @@ -1105,7 +1108,8 @@ static int dcmi_try_fmt_vid_cap(struct file *file, vo= id *priv, return dcmi_try_fmt(dcmi, f, NULL, NULL); } =20 -static int dcmi_enum_fmt_vid_cap(struct file *file, void *priv, +static int dcmi_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct stm32_dcmi *dcmi =3D video_drvdata(file); @@ -1224,7 +1228,8 @@ static int dcmi_get_sensor_bounds(struct stm32_dcmi *= dcmi, return 0; } =20 -static int dcmi_g_selection(struct file *file, void *fh, +static int dcmi_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct stm32_dcmi *dcmi =3D video_drvdata(file); @@ -1254,7 +1259,8 @@ static int dcmi_g_selection(struct file *file, void *= fh, return 0; } =20 -static int dcmi_s_selection(struct file *file, void *priv, +static int dcmi_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct stm32_dcmi *dcmi =3D video_drvdata(file); @@ -1305,7 +1311,8 @@ static int dcmi_s_selection(struct file *file, void *= priv, return 0; } =20 -static int dcmi_querycap(struct file *file, void *priv, +static int dcmi_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, DRV_NAME, sizeof(cap->driver)); @@ -1315,7 +1322,8 @@ static int dcmi_querycap(struct file *file, void *pri= v, return 0; } =20 -static int dcmi_enum_input(struct file *file, void *priv, +static int dcmi_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { if (i->index !=3D 0) @@ -1326,20 +1334,23 @@ static int dcmi_enum_input(struct file *file, void = *priv, return 0; } =20 -static int dcmi_g_input(struct file *file, void *priv, unsigned int *i) +static int dcmi_g_input(struct file *file, struct video_device_state *stat= e, + unsigned int *i) { *i =3D 0; return 0; } =20 -static int dcmi_s_input(struct file *file, void *priv, unsigned int i) +static int dcmi_s_input(struct file *file, struct video_device_state *stat= e, + unsigned int i) { if (i > 0) return -EINVAL; return 0; } =20 -static int dcmi_enum_framesizes(struct file *file, void *fh, +static int dcmi_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct stm32_dcmi *dcmi =3D video_drvdata(file); @@ -1368,7 +1379,8 @@ static int dcmi_enum_framesizes(struct file *file, vo= id *fh, return 0; } =20 -static int dcmi_g_parm(struct file *file, void *priv, +static int dcmi_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *p) { struct stm32_dcmi *dcmi =3D video_drvdata(file); @@ -1376,7 +1388,8 @@ static int dcmi_g_parm(struct file *file, void *priv, return v4l2_g_parm_cap(video_devdata(file), dcmi->source, p); } =20 -static int dcmi_s_parm(struct file *file, void *priv, +static int dcmi_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *p) { struct stm32_dcmi *dcmi =3D video_drvdata(file); @@ -1384,7 +1397,8 @@ static int dcmi_s_parm(struct file *file, void *priv, return v4l2_s_parm_cap(video_devdata(file), dcmi->source, p); } =20 -static int dcmi_enum_frameintervals(struct file *file, void *fh, +static int dcmi_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fival) { struct stm32_dcmi *dcmi =3D video_drvdata(file); diff --git a/drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c = b/drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c index 1c1b6b48918ee26f245d4cf99086473c44e74123..1d6478e9123a21f530b90c3ba31= a630717020ebb 100644 --- a/drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c +++ b/drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-bytecap.c @@ -172,7 +172,8 @@ static const struct v4l2_pix_format fmt_default =3D { .xfer_func =3D DCMIPP_XFER_FUNC_DEFAULT, }; =20 -static int dcmipp_bytecap_querycap(struct file *file, void *priv, +static int dcmipp_bytecap_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, DCMIPP_PDEV_NAME, sizeof(cap->driver)); @@ -181,7 +182,8 @@ static int dcmipp_bytecap_querycap(struct file *file, v= oid *priv, return 0; } =20 -static int dcmipp_bytecap_g_fmt_vid_cap(struct file *file, void *priv, +static int dcmipp_bytecap_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct dcmipp_bytecap_device *vcap =3D video_drvdata(file); @@ -191,7 +193,8 @@ static int dcmipp_bytecap_g_fmt_vid_cap(struct file *fi= le, void *priv, return 0; } =20 -static int dcmipp_bytecap_try_fmt_vid_cap(struct file *file, void *priv, +static int dcmipp_bytecap_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct dcmipp_bytecap_device *vcap =3D video_drvdata(file); @@ -231,7 +234,8 @@ static int dcmipp_bytecap_try_fmt_vid_cap(struct file *= file, void *priv, return 0; } =20 -static int dcmipp_bytecap_s_fmt_vid_cap(struct file *file, void *priv, +static int dcmipp_bytecap_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct dcmipp_bytecap_device *vcap =3D video_drvdata(file); @@ -241,7 +245,7 @@ static int dcmipp_bytecap_s_fmt_vid_cap(struct file *fi= le, void *priv, if (vb2_is_busy(&vcap->queue)) return -EBUSY; =20 - ret =3D dcmipp_bytecap_try_fmt_vid_cap(file, priv, f); + ret =3D dcmipp_bytecap_try_fmt_vid_cap(file, state, f); if (ret) return ret; =20 @@ -263,7 +267,8 @@ static int dcmipp_bytecap_s_fmt_vid_cap(struct file *fi= le, void *priv, return 0; } =20 -static int dcmipp_bytecap_enum_fmt_vid_cap(struct file *file, void *priv, +static int dcmipp_bytecap_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { const struct dcmipp_bytecap_pix_map *vpix; @@ -301,7 +306,8 @@ static int dcmipp_bytecap_enum_fmt_vid_cap(struct file = *file, void *priv, return 0; } =20 -static int dcmipp_bytecap_enum_framesizes(struct file *file, void *fh, +static int dcmipp_bytecap_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { const struct dcmipp_bytecap_pix_map *vpix; diff --git a/drivers/media/platform/sunxi/sun4i-csi/sun4i_v4l2.c b/drivers/= media/platform/sunxi/sun4i-csi/sun4i_v4l2.c index 744197b0fccb03d7e1ad634f00ff1566d57e735c..881345ddb4cb6d1c865698f4fc3= 3b2968d86c297 100644 --- a/drivers/media/platform/sunxi/sun4i-csi/sun4i_v4l2.c +++ b/drivers/media/platform/sunxi/sun4i-csi/sun4i_v4l2.c @@ -50,7 +50,8 @@ const struct sun4i_csi_format *sun4i_csi_find_format(cons= t u32 *fourcc, return NULL; } =20 -static int sun4i_csi_querycap(struct file *file, void *priv, +static int sun4i_csi_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, KBUILD_MODNAME, sizeof(cap->driver)); @@ -59,7 +60,8 @@ static int sun4i_csi_querycap(struct file *file, void *pr= iv, return 0; } =20 -static int sun4i_csi_enum_input(struct file *file, void *priv, +static int sun4i_csi_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { if (inp->index !=3D 0) @@ -71,7 +73,8 @@ static int sun4i_csi_enum_input(struct file *file, void *= priv, return 0; } =20 -static int sun4i_csi_g_input(struct file *file, void *fh, +static int sun4i_csi_g_input(struct file *file, + struct video_device_state *state, unsigned int *i) { *i =3D 0; @@ -79,8 +82,8 @@ static int sun4i_csi_g_input(struct file *file, void *fh, return 0; } =20 -static int sun4i_csi_s_input(struct file *file, void *fh, - unsigned int i) +static int sun4i_csi_s_input(struct file *file, + struct video_device_state *state, unsigned int i) { if (i !=3D 0) return -EINVAL; @@ -128,7 +131,8 @@ static void _sun4i_csi_try_fmt(struct sun4i_csi *csi, } } =20 -static int sun4i_csi_try_fmt_vid_cap(struct file *file, void *priv, +static int sun4i_csi_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct sun4i_csi *csi =3D video_drvdata(file); @@ -138,7 +142,8 @@ static int sun4i_csi_try_fmt_vid_cap(struct file *file,= void *priv, return 0; } =20 -static int sun4i_csi_s_fmt_vid_cap(struct file *file, void *priv, +static int sun4i_csi_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct sun4i_csi *csi =3D video_drvdata(file); @@ -149,7 +154,8 @@ static int sun4i_csi_s_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int sun4i_csi_g_fmt_vid_cap(struct file *file, void *priv, +static int sun4i_csi_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct sun4i_csi *csi =3D video_drvdata(file); @@ -159,7 +165,8 @@ static int sun4i_csi_g_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int sun4i_csi_enum_fmt_vid_cap(struct file *file, void *priv, +static int sun4i_csi_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index >=3D ARRAY_SIZE(sun4i_csi_formats)) diff --git a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c b/d= rivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c index 65879f4802c00cd1b65f02b6bf00f27a72d674ce..4bd9f9aa4349f98f1e56561a066= cf3fd7dff129c 100644 --- a/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c +++ b/drivers/media/platform/sunxi/sun6i-csi/sun6i_csi_capture.c @@ -711,7 +711,8 @@ static void sun6i_csi_capture_format_prepare(struct v4l= 2_format *format) pix_format->xfer_func =3D V4L2_XFER_FUNC_DEFAULT; } =20 -static int sun6i_csi_capture_querycap(struct file *file, void *priv, +static int sun6i_csi_capture_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *capability) { struct sun6i_csi_device *csi_dev =3D video_drvdata(file); @@ -725,7 +726,8 @@ static int sun6i_csi_capture_querycap(struct file *file= , void *priv, return 0; } =20 -static int sun6i_csi_capture_enum_fmt(struct file *file, void *priv, +static int sun6i_csi_capture_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fmtdesc) { u32 index =3D fmtdesc->index; @@ -738,7 +740,8 @@ static int sun6i_csi_capture_enum_fmt(struct file *file= , void *priv, return 0; } =20 -static int sun6i_csi_capture_g_fmt(struct file *file, void *priv, +static int sun6i_csi_capture_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { struct sun6i_csi_device *csi_dev =3D video_drvdata(file); @@ -748,7 +751,8 @@ static int sun6i_csi_capture_g_fmt(struct file *file, v= oid *priv, return 0; } =20 -static int sun6i_csi_capture_s_fmt(struct file *file, void *priv, +static int sun6i_csi_capture_s_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { struct sun6i_csi_device *csi_dev =3D video_drvdata(file); @@ -764,7 +768,8 @@ static int sun6i_csi_capture_s_fmt(struct file *file, v= oid *priv, return 0; } =20 -static int sun6i_csi_capture_try_fmt(struct file *file, void *priv, +static int sun6i_csi_capture_try_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { sun6i_csi_capture_format_prepare(format); @@ -772,7 +777,8 @@ static int sun6i_csi_capture_try_fmt(struct file *file,= void *priv, return 0; } =20 -static int sun6i_csi_capture_enum_input(struct file *file, void *priv, +static int sun6i_csi_capture_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *input) { if (input->index !=3D 0) @@ -784,7 +790,8 @@ static int sun6i_csi_capture_enum_input(struct file *fi= le, void *priv, return 0; } =20 -static int sun6i_csi_capture_g_input(struct file *file, void *priv, +static int sun6i_csi_capture_g_input(struct file *file, + struct video_device_state *state, unsigned int *index) { *index =3D 0; @@ -792,7 +799,8 @@ static int sun6i_csi_capture_g_input(struct file *file,= void *priv, return 0; } =20 -static int sun6i_csi_capture_s_input(struct file *file, void *priv, +static int sun6i_csi_capture_s_input(struct file *file, + struct video_device_state *state, unsigned int index) { if (index !=3D 0) diff --git a/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c b/drivers/med= ia/platform/sunxi/sun8i-di/sun8i-di.c index eb519afb30ca10c6f4370626d0dce9e7183b28e5..ff1cf37395b9de6ef0973bd0372= eb818eaf11692 100644 --- a/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c +++ b/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c @@ -347,7 +347,8 @@ static void deinterlace_prepare_format(struct v4l2_pix_= format *pix_fmt) pix_fmt->sizeimage =3D sizeimage; } =20 -static int deinterlace_querycap(struct file *file, void *priv, +static int deinterlace_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, DEINTERLACE_NAME, sizeof(cap->driver)); @@ -358,7 +359,8 @@ static int deinterlace_querycap(struct file *file, void= *priv, return 0; } =20 -static int deinterlace_enum_fmt(struct file *file, void *priv, +static int deinterlace_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index < ARRAY_SIZE(deinterlace_formats)) { @@ -370,7 +372,8 @@ static int deinterlace_enum_fmt(struct file *file, void= *priv, return -EINVAL; } =20 -static int deinterlace_enum_framesizes(struct file *file, void *priv, +static int deinterlace_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { if (fsize->index !=3D 0) @@ -390,7 +393,8 @@ static int deinterlace_enum_framesizes(struct file *fil= e, void *priv, return 0; } =20 -static int deinterlace_g_fmt_vid_cap(struct file *file, void *priv, +static int deinterlace_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct deinterlace_ctx *ctx =3D deinterlace_file2ctx(file); @@ -400,7 +404,8 @@ static int deinterlace_g_fmt_vid_cap(struct file *file,= void *priv, return 0; } =20 -static int deinterlace_g_fmt_vid_out(struct file *file, void *priv, +static int deinterlace_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct deinterlace_ctx *ctx =3D deinterlace_file2ctx(file); @@ -410,7 +415,8 @@ static int deinterlace_g_fmt_vid_out(struct file *file,= void *priv, return 0; } =20 -static int deinterlace_try_fmt_vid_cap(struct file *file, void *priv, +static int deinterlace_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { if (!deinterlace_check_format(f->fmt.pix.pixelformat)) @@ -424,7 +430,8 @@ static int deinterlace_try_fmt_vid_cap(struct file *fil= e, void *priv, return 0; } =20 -static int deinterlace_try_fmt_vid_out(struct file *file, void *priv, +static int deinterlace_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { if (!deinterlace_check_format(f->fmt.pix.pixelformat)) @@ -440,14 +447,15 @@ static int deinterlace_try_fmt_vid_out(struct file *f= ile, void *priv, return 0; } =20 -static int deinterlace_s_fmt_vid_cap(struct file *file, void *priv, +static int deinterlace_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct deinterlace_ctx *ctx =3D deinterlace_file2ctx(file); struct vb2_queue *vq; int ret; =20 - ret =3D deinterlace_try_fmt_vid_cap(file, priv, f); + ret =3D deinterlace_try_fmt_vid_cap(file, state, f); if (ret) return ret; =20 @@ -460,14 +468,15 @@ static int deinterlace_s_fmt_vid_cap(struct file *fil= e, void *priv, return 0; } =20 -static int deinterlace_s_fmt_vid_out(struct file *file, void *priv, +static int deinterlace_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct deinterlace_ctx *ctx =3D deinterlace_file2ctx(file); struct vb2_queue *vq; int ret; =20 - ret =3D deinterlace_try_fmt_vid_out(file, priv, f); + ret =3D deinterlace_try_fmt_vid_out(file, state, f); if (ret) return ret; =20 diff --git a/drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c b/dri= vers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c index 89992feaab6082b438eec189c0de93568d09f911..41cf132993b9da9ca24061f99d5= ed8b38c548b8f 100644 --- a/drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c +++ b/drivers/media/platform/sunxi/sun8i-rotate/sun8i_rotate.c @@ -209,7 +209,8 @@ static void rotate_prepare_format(struct v4l2_pix_forma= t *pix_fmt) pix_fmt->sizeimage =3D sizeimage; } =20 -static int rotate_querycap(struct file *file, void *priv, +static int rotate_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, ROTATE_NAME, sizeof(cap->driver)); @@ -220,19 +221,22 @@ static int rotate_querycap(struct file *file, void *p= riv, return 0; } =20 -static int rotate_enum_fmt_vid_cap(struct file *file, void *priv, +static int rotate_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return rotate_enum_fmt(f, true); } =20 -static int rotate_enum_fmt_vid_out(struct file *file, void *priv, +static int rotate_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return rotate_enum_fmt(f, false); } =20 -static int rotate_enum_framesizes(struct file *file, void *priv, +static int rotate_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { const struct rotate_format *fmt; @@ -285,7 +289,8 @@ static int rotate_set_cap_format(struct rotate_ctx *ctx, return 0; } =20 -static int rotate_g_fmt_vid_cap(struct file *file, void *priv, +static int rotate_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rotate_ctx *ctx =3D rotate_file2ctx(file); @@ -295,7 +300,8 @@ static int rotate_g_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int rotate_g_fmt_vid_out(struct file *file, void *priv, +static int rotate_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rotate_ctx *ctx =3D rotate_file2ctx(file); @@ -305,7 +311,8 @@ static int rotate_g_fmt_vid_out(struct file *file, void= *priv, return 0; } =20 -static int rotate_try_fmt_vid_cap(struct file *file, void *priv, +static int rotate_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rotate_ctx *ctx =3D rotate_file2ctx(file); @@ -313,7 +320,8 @@ static int rotate_try_fmt_vid_cap(struct file *file, vo= id *priv, return rotate_set_cap_format(ctx, &f->fmt.pix, ctx->rotate); } =20 -static int rotate_try_fmt_vid_out(struct file *file, void *priv, +static int rotate_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { if (!rotate_find_format(f->fmt.pix.pixelformat)) @@ -336,14 +344,15 @@ static int rotate_try_fmt_vid_out(struct file *file, = void *priv, return 0; } =20 -static int rotate_s_fmt_vid_cap(struct file *file, void *priv, +static int rotate_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rotate_ctx *ctx =3D rotate_file2ctx(file); struct vb2_queue *vq; int ret; =20 - ret =3D rotate_try_fmt_vid_cap(file, priv, f); + ret =3D rotate_try_fmt_vid_cap(file, state, f); if (ret) return ret; =20 @@ -356,14 +365,15 @@ static int rotate_s_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int rotate_s_fmt_vid_out(struct file *file, void *priv, +static int rotate_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct rotate_ctx *ctx =3D rotate_file2ctx(file); struct vb2_queue *vq; int ret; =20 - ret =3D rotate_try_fmt_vid_out(file, priv, f); + ret =3D rotate_try_fmt_vid_out(file, state, f); if (ret) return ret; =20 diff --git a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c b/drivers= /media/platform/synopsys/hdmirx/snps_hdmirx.c index b7d278b3889f28177b6efc67b01f37cc69aae679..24c47930b5518b657679485d4c9= 4fc750a7c592c 100644 --- a/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c +++ b/drivers/media/platform/synopsys/hdmirx/snps_hdmirx.c @@ -459,7 +459,8 @@ static bool port_no_link(struct snps_hdmirx_dev *hdmirx= _dev) return !tx_5v_power_present(hdmirx_dev); } =20 -static int hdmirx_query_dv_timings(struct file *file, void *priv, +static int hdmirx_query_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct hdmirx_stream *stream =3D video_drvdata(file); @@ -646,7 +647,9 @@ static void hdmirx_plugout(struct snps_hdmirx_dev *hdmi= rx_dev) hdmirx_dev->plugged =3D false; } =20 -static int hdmirx_set_edid(struct file *file, void *fh, struct v4l2_edid *= edid) +static int hdmirx_set_edid(struct file *file, + struct video_device_state *state, + struct v4l2_edid *edid) { struct hdmirx_stream *stream =3D video_drvdata(file); struct snps_hdmirx_dev *hdmirx_dev =3D stream->hdmirx_dev; @@ -695,7 +698,9 @@ static int hdmirx_set_edid(struct file *file, void *fh,= struct v4l2_edid *edid) return 0; } =20 -static int hdmirx_get_edid(struct file *file, void *fh, struct v4l2_edid *= edid) +static int hdmirx_get_edid(struct file *file, + struct video_device_state *state, + struct v4l2_edid *edid) { struct hdmirx_stream *stream =3D video_drvdata(file); struct snps_hdmirx_dev *hdmirx_dev =3D stream->hdmirx_dev; @@ -730,7 +735,8 @@ static int hdmirx_get_edid(struct file *file, void *fh,= struct v4l2_edid *edid) return 0; } =20 -static int hdmirx_g_parm(struct file *file, void *priv, +static int hdmirx_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct hdmirx_stream *stream =3D video_drvdata(file); @@ -744,14 +750,16 @@ static int hdmirx_g_parm(struct file *file, void *pri= v, return 0; } =20 -static int hdmirx_dv_timings_cap(struct file *file, void *fh, +static int hdmirx_dv_timings_cap(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings_cap *cap) { *cap =3D hdmirx_timings_cap; return 0; } =20 -static int hdmirx_enum_dv_timings(struct file *file, void *priv, +static int hdmirx_enum_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_enum_dv_timings *timings) { return v4l2_enum_dv_timings_cap(timings, &hdmirx_timings_cap, NULL, NULL); @@ -1154,7 +1162,8 @@ static void hdmirx_submodule_init(struct snps_hdmirx_= dev *hdmirx_dev) hdmirx_controller_init(hdmirx_dev); } =20 -static int hdmirx_enum_input(struct file *file, void *priv, +static int hdmirx_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *input) { if (input->index > 0) @@ -1168,13 +1177,15 @@ static int hdmirx_enum_input(struct file *file, voi= d *priv, return 0; } =20 -static int hdmirx_get_input(struct file *file, void *priv, unsigned int *i) +static int hdmirx_get_input(struct file *file, + struct video_device_state *state, unsigned int *i) { *i =3D 0; return 0; } =20 -static int hdmirx_set_input(struct file *file, void *priv, unsigned int i) +static int hdmirx_set_input(struct file *file, + struct video_device_state *state, unsigned int i) { if (i) return -EINVAL; @@ -1278,7 +1289,8 @@ static void hdmirx_set_fmt(struct hdmirx_stream *stre= am, } } =20 -static int hdmirx_enum_fmt_vid_cap_mplane(struct file *file, void *priv, +static int hdmirx_enum_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct hdmirx_stream *stream =3D video_drvdata(file); @@ -1293,7 +1305,8 @@ static int hdmirx_enum_fmt_vid_cap_mplane(struct file= *file, void *priv, } =20 static int hdmirx_s_fmt_vid_cap_mplane(struct file *file, - void *priv, struct v4l2_format *f) + struct video_device_state *state, + struct v4l2_format *f) { struct hdmirx_stream *stream =3D video_drvdata(file); struct snps_hdmirx_dev *hdmirx_dev =3D stream->hdmirx_dev; @@ -1309,7 +1322,8 @@ static int hdmirx_s_fmt_vid_cap_mplane(struct file *f= ile, return 0; } =20 -static int hdmirx_g_fmt_vid_cap_mplane(struct file *file, void *fh, +static int hdmirx_g_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct hdmirx_stream *stream =3D video_drvdata(file); @@ -1323,7 +1337,8 @@ static int hdmirx_g_fmt_vid_cap_mplane(struct file *f= ile, void *fh, return 0; } =20 -static int hdmirx_g_dv_timings(struct file *file, void *priv, +static int hdmirx_g_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct hdmirx_stream *stream =3D video_drvdata(file); @@ -1339,7 +1354,8 @@ static int hdmirx_g_dv_timings(struct file *file, voi= d *priv, return 0; } =20 -static int hdmirx_s_dv_timings(struct file *file, void *priv, +static int hdmirx_s_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct hdmirx_stream *stream =3D video_drvdata(file); @@ -1381,7 +1397,8 @@ static int hdmirx_s_dv_timings(struct file *file, voi= d *priv, return 0; } =20 -static int hdmirx_querycap(struct file *file, void *priv, +static int hdmirx_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct hdmirx_stream *stream =3D video_drvdata(file); diff --git a/drivers/media/platform/ti/am437x/am437x-vpfe.c b/drivers/media= /platform/ti/am437x/am437x-vpfe.c index 1ca559df7e590063ca10752ae9be524edbbb14a6..c56ed2435731a4498be8f87a198= 2f4891f71a679 100644 --- a/drivers/media/platform/ti/am437x/am437x-vpfe.c +++ b/drivers/media/platform/ti/am437x/am437x-vpfe.c @@ -1268,7 +1268,8 @@ static inline void vpfe_attach_irq(struct vpfe_device= *vpfe) vpfe_reg_write(&vpfe->ccdc, intr, VPFE_IRQ_EN_SET); } =20 -static int vpfe_querycap(struct file *file, void *priv, +static int vpfe_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, VPFE_MODULE_NAME, sizeof(cap->driver)); @@ -1350,7 +1351,8 @@ static int vpfe_calc_format_size(struct vpfe_device *= vpfe, return 0; } =20 -static int vpfe_g_fmt(struct file *file, void *priv, +static int vpfe_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct vpfe_device *vpfe =3D video_drvdata(file); @@ -1360,7 +1362,8 @@ static int vpfe_g_fmt(struct file *file, void *priv, return 0; } =20 -static int vpfe_enum_fmt(struct file *file, void *priv, +static int vpfe_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct vpfe_device *vpfe =3D video_drvdata(file); @@ -1384,7 +1387,8 @@ static int vpfe_enum_fmt(struct file *file, void *pr= iv, return 0; } =20 -static int vpfe_try_fmt(struct file *file, void *priv, +static int vpfe_try_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vpfe_device *vpfe =3D video_drvdata(file); @@ -1444,7 +1448,8 @@ static int vpfe_try_fmt(struct file *file, void *priv, return vpfe_calc_format_size(vpfe, fmt, f); } =20 -static int vpfe_s_fmt(struct file *file, void *priv, +static int vpfe_s_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct vpfe_device *vpfe =3D video_drvdata(file); @@ -1458,7 +1463,7 @@ static int vpfe_s_fmt(struct file *file, void *priv, return -EBUSY; } =20 - ret =3D vpfe_try_fmt(file, priv, fmt); + ret =3D vpfe_try_fmt(file, state, fmt); if (ret < 0) return ret; =20 @@ -1493,7 +1498,8 @@ static int vpfe_s_fmt(struct file *file, void *priv, return vpfe_config_ccdc_image_format(vpfe); } =20 -static int vpfe_enum_size(struct file *file, void *priv, +static int vpfe_enum_size(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct vpfe_device *vpfe =3D video_drvdata(file); @@ -1589,7 +1595,8 @@ static int vpfe_get_app_input_index(struct vpfe_devic= e *vpfe, return -EINVAL; } =20 -static int vpfe_enum_input(struct file *file, void *priv, +static int vpfe_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { struct vpfe_device *vpfe =3D video_drvdata(file); @@ -1608,7 +1615,8 @@ static int vpfe_enum_input(struct file *file, void *p= riv, return 0; } =20 -static int vpfe_g_input(struct file *file, void *priv, unsigned int *index) +static int vpfe_g_input(struct file *file, struct video_device_state *stat= e, + unsigned int *index) { struct vpfe_device *vpfe =3D video_drvdata(file); =20 @@ -1675,14 +1683,16 @@ static int vpfe_set_input(struct vpfe_device *vpfe,= unsigned int index) return ret; } =20 -static int vpfe_s_input(struct file *file, void *priv, unsigned int index) +static int vpfe_s_input(struct file *file, struct video_device_state *stat= e, + unsigned int index) { struct vpfe_device *vpfe =3D video_drvdata(file); =20 return vpfe_set_input(vpfe, index); } =20 -static int vpfe_querystd(struct file *file, void *priv, v4l2_std_id *std_i= d) +static int vpfe_querystd(struct file *file, struct video_device_state *sta= te, + v4l2_std_id *std_id) { struct vpfe_device *vpfe =3D video_drvdata(file); struct vpfe_subdev_info *sdinfo; @@ -1696,7 +1706,8 @@ static int vpfe_querystd(struct file *file, void *pri= v, v4l2_std_id *std_id) video, querystd, std_id); } =20 -static int vpfe_s_std(struct file *file, void *priv, v4l2_std_id std_id) +static int vpfe_s_std(struct file *file, struct video_device_state *state, + v4l2_std_id std_id) { struct vpfe_device *vpfe =3D video_drvdata(file); struct vpfe_subdev_info *sdinfo; @@ -1728,7 +1739,8 @@ static int vpfe_s_std(struct file *file, void *priv, = v4l2_std_id std_id) return ret; } =20 -static int vpfe_g_std(struct file *file, void *priv, v4l2_std_id *std_id) +static int vpfe_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *std_id) { struct vpfe_device *vpfe =3D video_drvdata(file); struct vpfe_subdev_info *sdinfo; @@ -1946,8 +1958,9 @@ static void vpfe_stop_streaming(struct vb2_queue *vq) vpfe_return_all_buffers(vpfe, VB2_BUF_STATE_ERROR); } =20 -static int vpfe_g_pixelaspect(struct file *file, void *priv, - int type, struct v4l2_fract *f) +static int vpfe_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f) { struct vpfe_device *vpfe =3D video_drvdata(file); =20 @@ -1961,7 +1974,8 @@ static int vpfe_g_pixelaspect(struct file *file, void= *priv, } =20 static int -vpfe_g_selection(struct file *file, void *fh, struct v4l2_selection *s) +vpfe_g_selection(struct file *file, struct video_device_state *state, + struct v4l2_selection *s) { struct vpfe_device *vpfe =3D video_drvdata(file); =20 @@ -1990,7 +2004,8 @@ vpfe_g_selection(struct file *file, void *fh, struct = v4l2_selection *s) } =20 static int -vpfe_s_selection(struct file *file, void *fh, struct v4l2_selection *s) +vpfe_s_selection(struct file *file, struct video_device_state *state, + struct v4l2_selection *s) { struct vpfe_device *vpfe =3D video_drvdata(file); struct v4l2_rect cr =3D vpfe->crop; @@ -2036,7 +2051,8 @@ vpfe_s_selection(struct file *file, void *fh, struct = v4l2_selection *s) return 0; } =20 -static long vpfe_ioctl_default(struct file *file, void *priv, +static long vpfe_ioctl_default(struct file *file, + struct video_device_state *state, bool valid_prio, unsigned int cmd, void *param) { struct vpfe_device *vpfe =3D video_drvdata(file); diff --git a/drivers/media/platform/ti/cal/cal-video.c b/drivers/media/plat= form/ti/cal/cal-video.c index d40e24ab112783f861cf07bdc1cfcca8dcf84fdd..b1ba089bbe08ee2f67623761819= 6ca1e072c2502 100644 --- a/drivers/media/platform/ti/cal/cal-video.c +++ b/drivers/media/platform/ti/cal/cal-video.c @@ -30,7 +30,8 @@ * ------------------------------------------------------------------ */ =20 -static int cal_querycap(struct file *file, void *priv, +static int cal_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, CAL_MODULE_NAME, sizeof(cap->driver)); @@ -39,7 +40,8 @@ static int cal_querycap(struct file *file, void *priv, return 0; } =20 -static int cal_g_fmt_vid_cap(struct file *file, void *priv, +static int cal_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cal_ctx *ctx =3D video_drvdata(file); @@ -84,7 +86,8 @@ static const struct cal_format_info *find_format_by_code(= struct cal_ctx *ctx, return NULL; } =20 -static int cal_legacy_enum_fmt_vid_cap(struct file *file, void *priv, +static int cal_legacy_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct cal_ctx *ctx =3D video_drvdata(file); @@ -174,7 +177,8 @@ static void cal_calc_format_size(struct cal_ctx *ctx, f->fmt.pix.bytesperline, f->fmt.pix.sizeimage); } =20 -static int cal_legacy_try_fmt_vid_cap(struct file *file, void *priv, +static int cal_legacy_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cal_ctx *ctx =3D video_drvdata(file); @@ -237,7 +241,8 @@ static int cal_legacy_try_fmt_vid_cap(struct file *file= , void *priv, return 0; } =20 -static int cal_legacy_s_fmt_vid_cap(struct file *file, void *priv, +static int cal_legacy_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cal_ctx *ctx =3D video_drvdata(file); @@ -255,7 +260,7 @@ static int cal_legacy_s_fmt_vid_cap(struct file *file, = void *priv, return -EBUSY; } =20 - ret =3D cal_legacy_try_fmt_vid_cap(file, priv, f); + ret =3D cal_legacy_try_fmt_vid_cap(file, state, f); if (ret < 0) return ret; =20 @@ -289,7 +294,8 @@ static int cal_legacy_s_fmt_vid_cap(struct file *file, = void *priv, return 0; } =20 -static int cal_legacy_enum_framesizes(struct file *file, void *fh, +static int cal_legacy_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct cal_ctx *ctx =3D video_drvdata(file); @@ -327,7 +333,8 @@ static int cal_legacy_enum_framesizes(struct file *file= , void *fh, return 0; } =20 -static int cal_legacy_enum_input(struct file *file, void *priv, +static int cal_legacy_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { if (inp->index > 0) @@ -338,19 +345,24 @@ static int cal_legacy_enum_input(struct file *file, v= oid *priv, return 0; } =20 -static int cal_legacy_g_input(struct file *file, void *priv, unsigned int = *i) +static int cal_legacy_g_input(struct file *file, + struct video_device_state *state, + unsigned int *i) { *i =3D 0; return 0; } =20 -static int cal_legacy_s_input(struct file *file, void *priv, unsigned int = i) +static int cal_legacy_s_input(struct file *file, + struct video_device_state *state, + unsigned int i) { return i > 0 ? -EINVAL : 0; } =20 /* timeperframe is arbitrary and continuous */ -static int cal_legacy_enum_frameintervals(struct file *file, void *priv, +static int cal_legacy_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fival) { struct cal_ctx *ctx =3D video_drvdata(file); @@ -379,14 +391,18 @@ static int cal_legacy_enum_frameintervals(struct file= *file, void *priv, return 0; } =20 -static int cal_legacy_g_parm(struct file *file, void *fh, struct v4l2_stre= amparm *a) +static int cal_legacy_g_parm(struct file *file, + struct video_device_state *state, + struct v4l2_streamparm *a) { struct cal_ctx *ctx =3D video_drvdata(file); =20 return v4l2_g_parm_cap(video_devdata(file), ctx->phy->source, a); } =20 -static int cal_legacy_s_parm(struct file *file, void *fh, struct v4l2_stre= amparm *a) +static int cal_legacy_s_parm(struct file *file, + struct video_device_state *state, + struct v4l2_streamparm *a) { struct cal_ctx *ctx =3D video_drvdata(file); =20 @@ -425,7 +441,8 @@ static const struct v4l2_ioctl_ops cal_ioctl_legacy_ops= =3D { * ------------------------------------------------------------------ */ =20 -static int cal_mc_enum_fmt_vid_cap(struct file *file, void *priv, +static int cal_mc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { unsigned int i; @@ -509,7 +526,8 @@ static void cal_mc_try_fmt(struct cal_ctx *ctx, struct = v4l2_format *f, format->bytesperline, format->sizeimage); } =20 -static int cal_mc_try_fmt_vid_cap(struct file *file, void *priv, +static int cal_mc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cal_ctx *ctx =3D video_drvdata(file); @@ -518,7 +536,8 @@ static int cal_mc_try_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int cal_mc_s_fmt_vid_cap(struct file *file, void *priv, +static int cal_mc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cal_ctx *ctx =3D video_drvdata(file); @@ -537,7 +556,8 @@ static int cal_mc_s_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int cal_mc_enum_framesizes(struct file *file, void *fh, +static int cal_mc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct cal_ctx *ctx =3D video_drvdata(file); diff --git a/drivers/media/platform/ti/davinci/vpif_capture.c b/drivers/med= ia/platform/ti/davinci/vpif_capture.c index d053972888d1b43161e99a04c4ca5e11664bf5b8..660532e3f8ac4527c3563d20a81= 258bda351ae4a 100644 --- a/drivers/media/platform/ti/davinci/vpif_capture.c +++ b/drivers/media/platform/ti/davinci/vpif_capture.c @@ -741,12 +741,13 @@ static int vpif_set_input( /** * vpif_querystd() - querystd handler * @file: file ptr - * @priv: file handle + * @state: video device state * @std_id: ptr to std id * * This function is called to detect standard at the selected input */ -static int vpif_querystd(struct file *file, void *priv, v4l2_std_id *std_i= d) +static int vpif_querystd(struct file *file, struct video_device_state *sta= te, + v4l2_std_id *std_id) { struct video_device *vdev =3D video_devdata(file); struct channel_obj *ch =3D video_get_drvdata(vdev); @@ -770,10 +771,11 @@ static int vpif_querystd(struct file *file, void *pri= v, v4l2_std_id *std_id) /** * vpif_g_std() - get STD handler * @file: file ptr - * @priv: file handle + * @state: video device state * @std: ptr to std id */ -static int vpif_g_std(struct file *file, void *priv, v4l2_std_id *std) +static int vpif_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *std) { struct vpif_capture_config *config =3D vpif_dev->platform_data; struct video_device *vdev =3D video_devdata(file); @@ -798,10 +800,11 @@ static int vpif_g_std(struct file *file, void *priv, = v4l2_std_id *std) /** * vpif_s_std() - set STD handler * @file: file ptr - * @priv: file handle + * @state: video device state * @std_id: ptr to std id */ -static int vpif_s_std(struct file *file, void *priv, v4l2_std_id std_id) +static int vpif_s_std(struct file *file, struct video_device_state *state, + v4l2_std_id std_id) { struct vpif_capture_config *config =3D vpif_dev->platform_data; struct video_device *vdev =3D video_devdata(file); @@ -846,11 +849,11 @@ static int vpif_s_std(struct file *file, void *priv, = v4l2_std_id std_id) /** * vpif_enum_input() - ENUMINPUT handler * @file: file ptr - * @priv: file handle + * @state: video device state * @input: ptr to input structure */ -static int vpif_enum_input(struct file *file, void *priv, - struct v4l2_input *input) +static int vpif_enum_input(struct file *file, struct video_device_state *s= tate, + struct v4l2_input *input) { =20 struct vpif_capture_config *config =3D vpif_dev->platform_data; @@ -871,10 +874,11 @@ static int vpif_enum_input(struct file *file, void *p= riv, /** * vpif_g_input() - Get INPUT handler * @file: file ptr - * @priv: file handle + * @state: video device state * @index: ptr to input index */ -static int vpif_g_input(struct file *file, void *priv, unsigned int *index) +static int vpif_g_input(struct file *file, struct video_device_state *stat= e, + unsigned int *index) { struct video_device *vdev =3D video_devdata(file); struct channel_obj *ch =3D video_get_drvdata(vdev); @@ -886,10 +890,11 @@ static int vpif_g_input(struct file *file, void *priv= , unsigned int *index) /** * vpif_s_input() - Set INPUT handler * @file: file ptr - * @priv: file handle + * @state: video device state * @index: input index */ -static int vpif_s_input(struct file *file, void *priv, unsigned int index) +static int vpif_s_input(struct file *file, struct video_device_state *stat= e, + unsigned int index) { struct vpif_capture_config *config =3D vpif_dev->platform_data; struct video_device *vdev =3D video_devdata(file); @@ -911,11 +916,12 @@ static int vpif_s_input(struct file *file, void *priv= , unsigned int index) /** * vpif_enum_fmt_vid_cap() - ENUM_FMT handler * @file: file ptr - * @priv: file handle + * @state: video device state * @fmt: ptr to V4L2 format descriptor */ -static int vpif_enum_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_fmtdesc *fmt) +static int vpif_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *fmt) { struct video_device *vdev =3D video_devdata(file); struct channel_obj *ch =3D video_get_drvdata(vdev); @@ -936,10 +942,11 @@ static int vpif_enum_fmt_vid_cap(struct file *file, v= oid *priv, /** * vpif_try_fmt_vid_cap() - TRY_FMT handler * @file: file ptr - * @priv: file handle + * @state: video device state * @fmt: ptr to v4l2 format structure */ -static int vpif_try_fmt_vid_cap(struct file *file, void *priv, +static int vpif_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct video_device *vdev =3D video_devdata(file); @@ -973,11 +980,12 @@ static int vpif_try_fmt_vid_cap(struct file *file, vo= id *priv, /** * vpif_g_fmt_vid_cap() - Set INPUT handler * @file: file ptr - * @priv: file handle + * @state: video device state * @fmt: ptr to v4l2 format structure */ -static int vpif_g_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_format *fmt) +static int vpif_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct video_device *vdev =3D video_devdata(file); struct channel_obj *ch =3D video_get_drvdata(vdev); @@ -1029,11 +1037,12 @@ static int vpif_g_fmt_vid_cap(struct file *file, vo= id *priv, /** * vpif_s_fmt_vid_cap() - Set FMT handler * @file: file ptr - * @priv: file handle + * @state: video device state * @fmt: ptr to v4l2 format structure */ -static int vpif_s_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_format *fmt) +static int vpif_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct video_device *vdev =3D video_devdata(file); struct channel_obj *ch =3D video_get_drvdata(vdev); @@ -1045,7 +1054,7 @@ static int vpif_s_fmt_vid_cap(struct file *file, void= *priv, if (vb2_is_busy(&common->buffer_queue)) return -EBUSY; =20 - ret =3D vpif_try_fmt_vid_cap(file, priv, fmt); + ret =3D vpif_try_fmt_vid_cap(file, state, fmt); if (ret) return ret; =20 @@ -1057,11 +1066,11 @@ static int vpif_s_fmt_vid_cap(struct file *file, vo= id *priv, /** * vpif_querycap() - QUERYCAP handler * @file: file ptr - * @priv: file handle + * @state: video device state * @cap: ptr to v4l2_capability structure */ -static int vpif_querycap(struct file *file, void *priv, - struct v4l2_capability *cap) +static int vpif_querycap(struct file *file, struct video_device_state *sta= te, + struct v4l2_capability *cap) { struct vpif_capture_config *config =3D vpif_dev->platform_data; =20 @@ -1074,11 +1083,12 @@ static int vpif_querycap(struct file *file, void *= priv, /** * vpif_enum_dv_timings() - ENUM_DV_TIMINGS handler * @file: file ptr - * @priv: file handle + * @state: video device state * @timings: input timings */ static int -vpif_enum_dv_timings(struct file *file, void *priv, +vpif_enum_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_enum_dv_timings *timings) { struct vpif_capture_config *config =3D vpif_dev->platform_data; @@ -1108,11 +1118,12 @@ vpif_enum_dv_timings(struct file *file, void *priv, /** * vpif_query_dv_timings() - QUERY_DV_TIMINGS handler * @file: file ptr - * @priv: file handle + * @state: video device state * @timings: input timings */ static int -vpif_query_dv_timings(struct file *file, void *priv, +vpif_query_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct vpif_capture_config *config =3D vpif_dev->platform_data; @@ -1140,11 +1151,12 @@ vpif_query_dv_timings(struct file *file, void *priv, /** * vpif_s_dv_timings() - S_DV_TIMINGS handler * @file: file ptr - * @priv: file handle + * @state: video device state * @timings: digital video timings */ -static int vpif_s_dv_timings(struct file *file, void *priv, - struct v4l2_dv_timings *timings) +static int vpif_s_dv_timings(struct file *file, + struct video_device_state *state, + struct v4l2_dv_timings *timings) { struct vpif_capture_config *config =3D vpif_dev->platform_data; struct video_device *vdev =3D video_devdata(file); @@ -1239,11 +1251,12 @@ static int vpif_s_dv_timings(struct file *file, voi= d *priv, /** * vpif_g_dv_timings() - G_DV_TIMINGS handler * @file: file ptr - * @priv: file handle + * @state: video device state * @timings: digital video timings */ -static int vpif_g_dv_timings(struct file *file, void *priv, - struct v4l2_dv_timings *timings) +static int vpif_g_dv_timings(struct file *file, + struct video_device_state *state, + struct v4l2_dv_timings *timings) { struct vpif_capture_config *config =3D vpif_dev->platform_data; struct video_device *vdev =3D video_devdata(file); @@ -1268,11 +1281,12 @@ static int vpif_g_dv_timings(struct file *file, voi= d *priv, /* * vpif_log_status() - Status information * @file: file ptr - * @priv: file handle + * @state: video device state * * Returns zero. */ -static int vpif_log_status(struct file *filep, void *priv) +static int vpif_log_status(struct file *filep, + struct video_device_state *state) { /* status for sub devices */ v4l2_device_call_all(&vpif_obj.v4l2_dev, 0, core, log_status); diff --git a/drivers/media/platform/ti/davinci/vpif_display.c b/drivers/med= ia/platform/ti/davinci/vpif_display.c index 70c89549f4b61d79bb72157e722e1984a4fca68e..ee33a8d6029ed4fa1331aca8c3f= 9888e3f603af2 100644 --- a/drivers/media/platform/ti/davinci/vpif_display.c +++ b/drivers/media/platform/ti/davinci/vpif_display.c @@ -575,10 +575,11 @@ static void vpif_config_addr(struct channel_obj *ch, = int muxmode) /** * vpif_querycap() - QUERYCAP handler * @file: file ptr - * @priv: file handle + * @state: video device state * @cap: ptr to v4l2_capability structure */ -static int vpif_querycap(struct file *file, void *priv, +static int vpif_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct vpif_display_config *config =3D vpif_dev->platform_data; @@ -589,7 +590,8 @@ static int vpif_querycap(struct file *file, void *priv, return 0; } =20 -static int vpif_enum_fmt_vid_out(struct file *file, void *priv, +static int vpif_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fmt) { if (fmt->index !=3D 0) @@ -600,7 +602,8 @@ static int vpif_enum_fmt_vid_out(struct file *file, voi= d *priv, return 0; } =20 -static int vpif_g_fmt_vid_out(struct file *file, void *priv, +static int vpif_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct video_device *vdev =3D video_devdata(file); @@ -617,7 +620,8 @@ static int vpif_g_fmt_vid_out(struct file *file, void *= priv, return 0; } =20 -static int vpif_try_fmt_vid_out(struct file *file, void *priv, +static int vpif_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct video_device *vdev =3D video_devdata(file); @@ -645,7 +649,8 @@ static int vpif_try_fmt_vid_out(struct file *file, void= *priv, return 0; } =20 -static int vpif_s_fmt_vid_out(struct file *file, void *priv, +static int vpif_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct video_device *vdev =3D video_devdata(file); @@ -657,7 +662,7 @@ static int vpif_s_fmt_vid_out(struct file *file, void *= priv, if (vb2_is_busy(&common->buffer_queue)) return -EBUSY; =20 - ret =3D vpif_try_fmt_vid_out(file, priv, fmt); + ret =3D vpif_try_fmt_vid_out(file, state, fmt); if (ret) return ret; =20 @@ -669,7 +674,8 @@ static int vpif_s_fmt_vid_out(struct file *file, void *= priv, return 0; } =20 -static int vpif_s_std(struct file *file, void *priv, v4l2_std_id std_id) +static int vpif_s_std(struct file *file, struct video_device_state *state, + v4l2_std_id std_id) { struct vpif_display_config *config =3D vpif_dev->platform_data; struct video_device *vdev =3D video_devdata(file); @@ -717,7 +723,8 @@ static int vpif_s_std(struct file *file, void *priv, v4= l2_std_id std_id) return ret; } =20 -static int vpif_g_std(struct file *file, void *priv, v4l2_std_id *std) +static int vpif_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *std) { struct vpif_display_config *config =3D vpif_dev->platform_data; struct video_device *vdev =3D video_devdata(file); @@ -737,7 +744,8 @@ static int vpif_g_std(struct file *file, void *priv, v4= l2_std_id *std) return 0; } =20 -static int vpif_enum_output(struct file *file, void *fh, +static int vpif_enum_output(struct file *file, + struct video_device_state *state, struct v4l2_output *output) { =20 @@ -832,7 +840,8 @@ static int vpif_set_output(struct vpif_display_config *= vpif_cfg, return 0; } =20 -static int vpif_s_output(struct file *file, void *priv, unsigned int i) +static int vpif_s_output(struct file *file, struct video_device_state *sta= te, + unsigned int i) { struct vpif_display_config *config =3D vpif_dev->platform_data; struct video_device *vdev =3D video_devdata(file); @@ -851,7 +860,8 @@ static int vpif_s_output(struct file *file, void *priv,= unsigned int i) return vpif_set_output(config, ch, i); } =20 -static int vpif_g_output(struct file *file, void *priv, unsigned int *i) +static int vpif_g_output(struct file *file, struct video_device_state *sta= te, + unsigned int *i) { struct video_device *vdev =3D video_devdata(file); struct channel_obj *ch =3D video_get_drvdata(vdev); @@ -864,11 +874,12 @@ static int vpif_g_output(struct file *file, void *pri= v, unsigned int *i) /** * vpif_enum_dv_timings() - ENUM_DV_TIMINGS handler * @file: file ptr - * @priv: file handle + * @state: video device state * @timings: input timings */ static int -vpif_enum_dv_timings(struct file *file, void *priv, +vpif_enum_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_enum_dv_timings *timings) { struct vpif_display_config *config =3D vpif_dev->platform_data; @@ -897,11 +908,12 @@ vpif_enum_dv_timings(struct file *file, void *priv, /** * vpif_s_dv_timings() - S_DV_TIMINGS handler * @file: file ptr - * @priv: file handle + * @state: video device state * @timings: digital video timings */ -static int vpif_s_dv_timings(struct file *file, void *priv, - struct v4l2_dv_timings *timings) +static int vpif_s_dv_timings(struct file *file, + struct video_device_state *state, + struct v4l2_dv_timings *timings) { struct vpif_display_config *config =3D vpif_dev->platform_data; struct video_device *vdev =3D video_devdata(file); @@ -996,11 +1008,12 @@ static int vpif_s_dv_timings(struct file *file, void= *priv, /** * vpif_g_dv_timings() - G_DV_TIMINGS handler * @file: file ptr - * @priv: file handle + * @state: video device state * @timings: digital video timings */ -static int vpif_g_dv_timings(struct file *file, void *priv, - struct v4l2_dv_timings *timings) +static int vpif_g_dv_timings(struct file *file, + struct video_device_state *state, + struct v4l2_dv_timings *timings) { struct vpif_display_config *config =3D vpif_dev->platform_data; struct video_device *vdev =3D video_devdata(file); @@ -1028,11 +1041,12 @@ static int vpif_g_dv_timings(struct file *file, voi= d *priv, /* * vpif_log_status() - Status information * @file: file ptr - * @priv: file handle + * @state: video device state * * Returns zero. */ -static int vpif_log_status(struct file *filep, void *priv) +static int vpif_log_status(struct file *filep, + struct video_device_state *state) { /* status for sub devices */ v4l2_device_call_all(&vpif_obj.v4l2_dev, 0, core, log_status); diff --git a/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c b/driver= s/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c index b75aa363d1bf25f8c31b403c3aede0b31333c56b..ac9a87ee06b1090456508c87893= ac0a265c93ae9 100644 --- a/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c +++ b/drivers/media/platform/ti/j721e-csi2rx/j721e-csi2rx.c @@ -269,7 +269,8 @@ static void ti_csi2rx_fill_fmt(const struct ti_csi2rx_f= mt *csi_fmt, pix->sizeimage =3D pix->bytesperline * pix->height; } =20 -static int ti_csi2rx_querycap(struct file *file, void *priv, +static int ti_csi2rx_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, TI_CSI2RX_MODULE_NAME, sizeof(cap->driver)); @@ -278,7 +279,8 @@ static int ti_csi2rx_querycap(struct file *file, void *= priv, return 0; } =20 -static int ti_csi2rx_enum_fmt_vid_cap(struct file *file, void *priv, +static int ti_csi2rx_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { const struct ti_csi2rx_fmt *fmt =3D NULL; @@ -306,7 +308,8 @@ static int ti_csi2rx_enum_fmt_vid_cap(struct file *file= , void *priv, return 0; } =20 -static int ti_csi2rx_g_fmt_vid_cap(struct file *file, void *priv, +static int ti_csi2rx_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ti_csi2rx_dev *csi =3D video_drvdata(file); @@ -316,7 +319,8 @@ static int ti_csi2rx_g_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int ti_csi2rx_try_fmt_vid_cap(struct file *file, void *priv, +static int ti_csi2rx_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { const struct ti_csi2rx_fmt *fmt; @@ -337,7 +341,8 @@ static int ti_csi2rx_try_fmt_vid_cap(struct file *file,= void *priv, return 0; } =20 -static int ti_csi2rx_s_fmt_vid_cap(struct file *file, void *priv, +static int ti_csi2rx_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ti_csi2rx_dev *csi =3D video_drvdata(file); @@ -347,7 +352,7 @@ static int ti_csi2rx_s_fmt_vid_cap(struct file *file, v= oid *priv, if (vb2_is_busy(q)) return -EBUSY; =20 - ret =3D ti_csi2rx_try_fmt_vid_cap(file, priv, f); + ret =3D ti_csi2rx_try_fmt_vid_cap(file, state, f); if (ret < 0) return ret; =20 @@ -356,7 +361,8 @@ static int ti_csi2rx_s_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int ti_csi2rx_enum_framesizes(struct file *file, void *fh, +static int ti_csi2rx_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { const struct ti_csi2rx_fmt *fmt; diff --git a/drivers/media/platform/ti/omap/omap_vout.c b/drivers/media/pla= tform/ti/omap/omap_vout.c index 22782e9f1f4e69dd10e0172ec25f1c203caef93d..ffea499efac8fd3e271a219a6ec= 987f934f8ef9f 100644 --- a/drivers/media/platform/ti/omap/omap_vout.c +++ b/drivers/media/platform/ti/omap/omap_vout.c @@ -568,8 +568,8 @@ static void omap_vout_isr(void *arg, unsigned int irqst= atus) /* * V4L2 ioctls */ -static int vidioc_querycap(struct file *file, void *fh, - struct v4l2_capability *cap) +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct omap_vout_device *vout =3D video_drvdata(file); =20 @@ -580,7 +580,8 @@ static int vidioc_querycap(struct file *file, void *fh, return 0; } =20 -static int vidioc_enum_fmt_vid_out(struct file *file, void *fh, +static int vidioc_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fmt) { int index =3D fmt->index; @@ -594,7 +595,8 @@ static int vidioc_enum_fmt_vid_out(struct file *file, v= oid *fh, return 0; } =20 -static int vidioc_g_fmt_vid_out(struct file *file, void *fh, +static int vidioc_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct omap_vout_device *vout =3D video_drvdata(file); @@ -604,7 +606,8 @@ static int vidioc_g_fmt_vid_out(struct file *file, void= *fh, =20 } =20 -static int vidioc_try_fmt_vid_out(struct file *file, void *fh, +static int vidioc_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct omap_overlay *ovl; @@ -630,7 +633,8 @@ static int vidioc_try_fmt_vid_out(struct file *file, vo= id *fh, return 0; } =20 -static int vidioc_s_fmt_vid_out(struct file *file, void *fh, +static int vidioc_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret, bpp; @@ -696,7 +700,8 @@ static int vidioc_s_fmt_vid_out(struct file *file, void= *fh, return ret; } =20 -static int vidioc_try_fmt_vid_overlay(struct file *file, void *fh, +static int vidioc_try_fmt_vid_overlay(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret =3D 0; @@ -716,7 +721,8 @@ static int vidioc_try_fmt_vid_overlay(struct file *file= , void *fh, return ret; } =20 -static int vidioc_s_fmt_vid_overlay(struct file *file, void *fh, +static int vidioc_s_fmt_vid_overlay(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret =3D 0; @@ -763,7 +769,8 @@ static int vidioc_s_fmt_vid_overlay(struct file *file, = void *fh, return ret; } =20 -static int vidioc_g_fmt_vid_overlay(struct file *file, void *fh, +static int vidioc_g_fmt_vid_overlay(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct omap_overlay *ovl; @@ -787,7 +794,9 @@ static int vidioc_g_fmt_vid_overlay(struct file *file, = void *fh, return 0; } =20 -static int vidioc_g_selection(struct file *file, void *fh, struct v4l2_sel= ection *sel) +static int vidioc_g_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *sel) { struct omap_vout_device *vout =3D video_drvdata(file); struct v4l2_pix_format *pix =3D &vout->pix; @@ -813,7 +822,9 @@ static int vidioc_g_selection(struct file *file, void *= fh, struct v4l2_selection return 0; } =20 -static int vidioc_s_selection(struct file *file, void *fh, struct v4l2_sel= ection *sel) +static int vidioc_s_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *sel) { int ret =3D -EINVAL; struct omap_vout_device *vout =3D video_drvdata(file); @@ -1115,7 +1126,8 @@ static void omap_vout_vb2_stop_streaming(struct vb2_q= ueue *vq) } } =20 -static int vidioc_s_fbuf(struct file *file, void *fh, +static int vidioc_s_fbuf(struct file *file, + struct video_device_state *state, const struct v4l2_framebuffer *a) { int enable =3D 0; @@ -1187,8 +1199,8 @@ static int vidioc_s_fbuf(struct file *file, void *fh, return 0; } =20 -static int vidioc_g_fbuf(struct file *file, void *fh, - struct v4l2_framebuffer *a) +static int vidioc_g_fbuf(struct file *file, + struct video_device_state *state, struct v4l2_framebuffer *a) { struct omap_overlay *ovl; struct omapvideo_info *ovid; @@ -1236,7 +1248,8 @@ static int vidioc_g_fbuf(struct file *file, void *fh, return 0; } =20 -static int vidioc_enum_output(struct file *file, void *priv, +static int vidioc_enum_output(struct file *file, + struct video_device_state *state, struct v4l2_output *out) { if (out->index) @@ -1246,13 +1259,15 @@ static int vidioc_enum_output(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_g_output(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_output(struct file *file, + struct video_device_state *state, unsigned int *i) { *i =3D 0; return 0; } =20 -static int vidioc_s_output(struct file *file, void *priv, unsigned int i) +static int vidioc_s_output(struct file *file, + struct video_device_state *state, unsigned int i) { return i ? -EINVAL : 0; } diff --git a/drivers/media/platform/ti/omap3isp/ispvideo.c b/drivers/media/= platform/ti/omap3isp/ispvideo.c index 0e7f0bf2b3463b7ef6678f7bd836a952e0b707a7..5a8c64399738cb29a1939cb9974= d58b75b64bf1b 100644 --- a/drivers/media/platform/ti/omap3isp/ispvideo.c +++ b/drivers/media/platform/ti/omap3isp/ispvideo.c @@ -639,7 +639,8 @@ void omap3isp_video_resume(struct isp_video *video, int= continuous) */ =20 static int -isp_video_querycap(struct file *file, void *fh, struct v4l2_capability *ca= p) +isp_video_querycap(struct file *file, struct video_device_state *state, + struct v4l2_capability *cap) { struct isp_video *video =3D video_drvdata(file); =20 @@ -655,7 +656,8 @@ isp_video_querycap(struct file *file, void *fh, struct = v4l2_capability *cap) } =20 static int -isp_video_get_format(struct file *file, void *fh, struct v4l2_format *form= at) +isp_video_get_format(struct file *file, struct video_device_state *state, + struct v4l2_format *format) { struct isp_video_fh *vfh =3D file_to_isp_video_fh(file); struct isp_video *video =3D video_drvdata(file); @@ -671,7 +673,8 @@ isp_video_get_format(struct file *file, void *fh, struc= t v4l2_format *format) } =20 static int -isp_video_set_format(struct file *file, void *fh, struct v4l2_format *form= at) +isp_video_set_format(struct file *file, struct video_device_state *state, + struct v4l2_format *format) { struct isp_video_fh *vfh =3D file_to_isp_video_fh(file); struct isp_video *video =3D video_drvdata(file); @@ -729,7 +732,8 @@ isp_video_set_format(struct file *file, void *fh, struc= t v4l2_format *format) } =20 static int -isp_video_try_format(struct file *file, void *fh, struct v4l2_format *form= at) +isp_video_try_format(struct file *file, struct video_device_state *state, + struct v4l2_format *format) { struct isp_video *video =3D video_drvdata(file); struct v4l2_subdev_format fmt =3D { @@ -758,7 +762,8 @@ isp_video_try_format(struct file *file, void *fh, struc= t v4l2_format *format) } =20 static int -isp_video_get_selection(struct file *file, void *fh, struct v4l2_selection= *sel) +isp_video_get_selection(struct file *file, struct video_device_state *stat= e, + struct v4l2_selection *sel) { struct isp_video *video =3D video_drvdata(file); struct v4l2_subdev_format format =3D { @@ -816,7 +821,8 @@ isp_video_get_selection(struct file *file, void *fh, st= ruct v4l2_selection *sel) } =20 static int -isp_video_set_selection(struct file *file, void *fh, struct v4l2_selection= *sel) +isp_video_set_selection(struct file *file, struct video_device_state *stat= e, + struct v4l2_selection *sel) { struct isp_video *video =3D video_drvdata(file); struct v4l2_subdev *subdev; @@ -856,7 +862,8 @@ isp_video_set_selection(struct file *file, void *fh, st= ruct v4l2_selection *sel) } =20 static int -isp_video_get_param(struct file *file, void *fh, struct v4l2_streamparm *a) +isp_video_get_param(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct isp_video_fh *vfh =3D file_to_isp_video_fh(file); struct isp_video *video =3D video_drvdata(file); @@ -874,7 +881,8 @@ isp_video_get_param(struct file *file, void *fh, struct= v4l2_streamparm *a) } =20 static int -isp_video_set_param(struct file *file, void *fh, struct v4l2_streamparm *a) +isp_video_set_param(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct isp_video_fh *vfh =3D file_to_isp_video_fh(file); struct isp_video *video =3D video_drvdata(file); @@ -892,7 +900,8 @@ isp_video_set_param(struct file *file, void *fh, struct= v4l2_streamparm *a) } =20 static int -isp_video_reqbufs(struct file *file, void *fh, struct v4l2_requestbuffers = *rb) +isp_video_reqbufs(struct file *file, struct video_device_state *state, + struct v4l2_requestbuffers *rb) { struct isp_video_fh *vfh =3D file_to_isp_video_fh(file); struct isp_video *video =3D video_drvdata(file); @@ -906,7 +915,8 @@ isp_video_reqbufs(struct file *file, void *fh, struct v= 4l2_requestbuffers *rb) } =20 static int -isp_video_querybuf(struct file *file, void *fh, struct v4l2_buffer *b) +isp_video_querybuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *b) { struct isp_video_fh *vfh =3D file_to_isp_video_fh(file); struct isp_video *video =3D video_drvdata(file); @@ -920,7 +930,8 @@ isp_video_querybuf(struct file *file, void *fh, struct = v4l2_buffer *b) } =20 static int -isp_video_qbuf(struct file *file, void *fh, struct v4l2_buffer *b) +isp_video_qbuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *b) { struct isp_video_fh *vfh =3D file_to_isp_video_fh(file); struct isp_video *video =3D video_drvdata(file); @@ -934,7 +945,8 @@ isp_video_qbuf(struct file *file, void *fh, struct v4l2= _buffer *b) } =20 static int -isp_video_dqbuf(struct file *file, void *fh, struct v4l2_buffer *b) +isp_video_dqbuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *b) { struct isp_video_fh *vfh =3D file_to_isp_video_fh(file); struct isp_video *video =3D video_drvdata(file); @@ -1072,7 +1084,8 @@ static int isp_video_check_external_subdevs(struct is= p_video *video, * not sleep. */ static int -isp_video_streamon(struct file *file, void *fh, enum v4l2_buf_type type) +isp_video_streamon(struct file *file, struct video_device_state *vstate, + enum v4l2_buf_type type) { struct isp_video_fh *vfh =3D file_to_isp_video_fh(file); struct isp_video *video =3D video_drvdata(file); @@ -1178,7 +1191,8 @@ isp_video_streamon(struct file *file, void *fh, enum = v4l2_buf_type type) } =20 static int -isp_video_streamoff(struct file *file, void *fh, enum v4l2_buf_type type) +isp_video_streamoff(struct file *file, struct video_device_state *vstate, + enum v4l2_buf_type type) { struct isp_video_fh *vfh =3D file_to_isp_video_fh(file); struct isp_video *video =3D video_drvdata(file); @@ -1233,7 +1247,8 @@ isp_video_streamoff(struct file *file, void *fh, enum= v4l2_buf_type type) } =20 static int -isp_video_enum_input(struct file *file, void *fh, struct v4l2_input *input) +isp_video_enum_input(struct file *file, struct video_device_state *state, + struct v4l2_input *input) { if (input->index > 0) return -EINVAL; @@ -1245,7 +1260,8 @@ isp_video_enum_input(struct file *file, void *fh, str= uct v4l2_input *input) } =20 static int -isp_video_g_input(struct file *file, void *fh, unsigned int *input) +isp_video_g_input(struct file *file, struct video_device_state *state, + unsigned int *input) { *input =3D 0; =20 @@ -1253,7 +1269,8 @@ isp_video_g_input(struct file *file, void *fh, unsign= ed int *input) } =20 static int -isp_video_s_input(struct file *file, void *fh, unsigned int input) +isp_video_s_input(struct file *file, struct video_device_state *state, + unsigned int input) { return input =3D=3D 0 ? 0 : -EINVAL; } @@ -1351,7 +1368,7 @@ static int isp_video_release(struct file *file) struct isp_video_fh *handle =3D file_to_isp_video_fh(file); =20 /* Disable streaming and free the buffers queue resources. */ - isp_video_streamoff(file, vfh, video->type); + isp_video_streamoff(file, vfh->state, video->type); =20 mutex_lock(&video->queue_lock); vb2_queue_release(&handle->queue); diff --git a/drivers/media/platform/ti/vpe/vpe.c b/drivers/media/platform/t= i/vpe/vpe.c index 6029d4e8e0bd34d60f1addb91a51bf5fd0709341..5f1865ecbb266e4beb4f0f7ba1a= 5b425c2703012 100644 --- a/drivers/media/platform/ti/vpe/vpe.c +++ b/drivers/media/platform/ti/vpe/vpe.c @@ -1521,7 +1521,8 @@ static irqreturn_t vpe_irq(int irq_vpe, void *data) /* * video ioctls */ -static int vpe_querycap(struct file *file, void *priv, +static int vpe_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, VPE_MODULE_NAME, sizeof(cap->driver)); @@ -1554,7 +1555,8 @@ static int __enum_fmt(struct v4l2_fmtdesc *f, u32 typ= e) return 0; } =20 -static int vpe_enum_fmt(struct file *file, void *priv, +static int vpe_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (V4L2_TYPE_IS_OUTPUT(f->type)) @@ -1563,7 +1565,8 @@ static int vpe_enum_fmt(struct file *file, void *priv, return __enum_fmt(f, VPE_FMT_TYPE_CAPTURE); } =20 -static int vpe_g_fmt(struct file *file, void *priv, struct v4l2_format *f) +static int vpe_g_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct v4l2_pix_format_mplane *pix =3D &f->fmt.pix_mp; struct vpe_ctx *ctx =3D to_vpe_ctx(file); @@ -1721,7 +1724,8 @@ static int __vpe_try_fmt(struct vpe_ctx *ctx, struct = v4l2_format *f, return 0; } =20 -static int vpe_try_fmt(struct file *file, void *priv, struct v4l2_format *= f) +static int vpe_try_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct vpe_ctx *ctx =3D to_vpe_ctx(file); struct vpe_fmt *fmt =3D find_format(f); @@ -1784,12 +1788,13 @@ static int __vpe_s_fmt(struct vpe_ctx *ctx, struct = v4l2_format *f) return 0; } =20 -static int vpe_s_fmt(struct file *file, void *priv, struct v4l2_format *f) +static int vpe_s_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { int ret; struct vpe_ctx *ctx =3D to_vpe_ctx(file); =20 - ret =3D vpe_try_fmt(file, priv, f); + ret =3D vpe_try_fmt(file, state, f); if (ret) return ret; =20 @@ -1872,8 +1877,8 @@ static int __vpe_try_selection(struct vpe_ctx *ctx, s= truct v4l2_selection *s) return 0; } =20 -static int vpe_g_selection(struct file *file, void *fh, - struct v4l2_selection *s) +static int vpe_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct vpe_ctx *ctx =3D to_vpe_ctx(file); struct vpe_q_data *q_data; @@ -1936,8 +1941,8 @@ static int vpe_g_selection(struct file *file, void *f= h, } =20 =20 -static int vpe_s_selection(struct file *file, void *fh, - struct v4l2_selection *s) +static int vpe_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct vpe_ctx *ctx =3D to_vpe_ctx(file); struct vpe_q_data *q_data; diff --git a/drivers/media/platform/verisilicon/hantro_v4l2.c b/drivers/med= ia/platform/verisilicon/hantro_v4l2.c index fcf3bd9bcda2d02481fa7e1f20e6b7ca54d6d786..acaafd628bd235c0bc2238b828d= 589ca9b9b2731 100644 --- a/drivers/media/platform/verisilicon/hantro_v4l2.c +++ b/drivers/media/platform/verisilicon/hantro_v4l2.c @@ -171,7 +171,8 @@ hantro_get_default_fmt(const struct hantro_ctx *ctx, bo= ol bitstream, return NULL; } =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct hantro_dev *vpu =3D video_drvdata(file); @@ -182,7 +183,8 @@ static int vidioc_querycap(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_enum_framesizes(struct file *file, void *priv, +static int vidioc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct hantro_ctx *ctx =3D file_to_ctx(file); @@ -281,19 +283,22 @@ static int vidioc_enum_fmt(struct file *file, void *p= riv, return -EINVAL; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { - return vidioc_enum_fmt(file, priv, f, true); + return vidioc_enum_fmt(file, state, f, true); } =20 -static int vidioc_enum_fmt_vid_out(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { - return vidioc_enum_fmt(file, priv, f, false); + return vidioc_enum_fmt(file, state, f, false); } =20 -static int vidioc_g_fmt_out_mplane(struct file *file, void *priv, +static int vidioc_g_fmt_out_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct v4l2_pix_format_mplane *pix_mp =3D &f->fmt.pix_mp; @@ -306,7 +311,8 @@ static int vidioc_g_fmt_out_mplane(struct file *file, v= oid *priv, return 0; } =20 -static int vidioc_g_fmt_cap_mplane(struct file *file, void *priv, +static int vidioc_g_fmt_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct v4l2_pix_format_mplane *pix_mp =3D &f->fmt.pix_mp; @@ -395,13 +401,15 @@ static int hantro_try_fmt(const struct hantro_ctx *ct= x, return 0; } =20 -static int vidioc_try_fmt_cap_mplane(struct file *file, void *priv, +static int vidioc_try_fmt_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return hantro_try_fmt(file_to_ctx(file), &f->fmt.pix_mp, f->type); } =20 -static int vidioc_try_fmt_out_mplane(struct file *file, void *priv, +static int vidioc_try_fmt_out_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return hantro_try_fmt(file_to_ctx(file), &f->fmt.pix_mp, f->type); @@ -646,18 +654,21 @@ static int hantro_set_fmt_cap(struct hantro_ctx *ctx, } =20 static int -vidioc_s_fmt_out_mplane(struct file *file, void *priv, struct v4l2_format = *f) +vidioc_s_fmt_out_mplane(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { return hantro_set_fmt_out(file_to_ctx(file), &f->fmt.pix_mp, HANTRO_AUTO_= POSTPROC); } =20 static int -vidioc_s_fmt_cap_mplane(struct file *file, void *priv, struct v4l2_format = *f) +vidioc_s_fmt_cap_mplane(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { return hantro_set_fmt_cap(file_to_ctx(file), &f->fmt.pix_mp); } =20 -static int vidioc_g_selection(struct file *file, void *priv, +static int vidioc_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct hantro_ctx *ctx =3D file_to_ctx(file); @@ -687,7 +698,8 @@ static int vidioc_g_selection(struct file *file, void *= priv, return 0; } =20 -static int vidioc_s_selection(struct file *file, void *priv, +static int vidioc_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct hantro_ctx *ctx =3D file_to_ctx(file); @@ -733,13 +745,14 @@ static const struct v4l2_event hantro_eos_event =3D { .type =3D V4L2_EVENT_EOS }; =20 -static int vidioc_encoder_cmd(struct file *file, void *priv, +static int vidioc_encoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_encoder_cmd *ec) { struct hantro_ctx *ctx =3D file_to_ctx(file); int ret; =20 - ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, priv, ec); + ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, state, ec); if (ret < 0) return ret; =20 @@ -747,7 +760,7 @@ static int vidioc_encoder_cmd(struct file *file, void *= priv, !vb2_is_streaming(v4l2_m2m_get_dst_vq(ctx->fh.m2m_ctx))) return 0; =20 - ret =3D v4l2_m2m_ioctl_encoder_cmd(file, priv, ec); + ret =3D v4l2_m2m_ioctl_encoder_cmd(file, state, ec); if (ret < 0) return ret; =20 diff --git a/drivers/media/platform/via/via-camera.c b/drivers/media/platfo= rm/via/via-camera.c index 5702eff664d4ef652b22aaeaaacbbd0e16a2e137..ccaa17269e6956d405ea2db2359= e4ac8adf9bd76 100644 --- a/drivers/media/platform/via/via-camera.c +++ b/drivers/media/platform/via/via-camera.c @@ -736,8 +736,8 @@ static const struct v4l2_file_operations viacam_fops = =3D { /* * Only one input. */ -static int viacam_enum_input(struct file *filp, void *priv, - struct v4l2_input *input) +static int viacam_enum_input(struct file *filp, + struct video_device_state *state, struct v4l2_input *input) { if (input->index !=3D 0) return -EINVAL; @@ -747,13 +747,15 @@ static int viacam_enum_input(struct file *filp, void = *priv, return 0; } =20 -static int viacam_g_input(struct file *filp, void *priv, unsigned int *i) +static int viacam_g_input(struct file *filp, struct video_device_state *st= ate, + unsigned int *i) { *i =3D 0; return 0; } =20 -static int viacam_s_input(struct file *filp, void *priv, unsigned int i) +static int viacam_s_input(struct file *filp, struct video_device_state *st= ate, + unsigned int i) { if (i !=3D 0) return -EINVAL; @@ -776,8 +778,8 @@ static const struct v4l2_pix_format viacam_def_pix_form= at =3D { =20 static const u32 via_def_mbus_code =3D MEDIA_BUS_FMT_YUYV8_2X8; =20 -static int viacam_enum_fmt_vid_cap(struct file *filp, void *priv, - struct v4l2_fmtdesc *fmt) +static int viacam_enum_fmt_vid_cap(struct file *filp, + struct video_device_state *state, struct v4l2_fmtdesc *fmt) { if (fmt->index >=3D N_VIA_FMTS) return -EINVAL; @@ -850,8 +852,8 @@ static int viacam_do_try_fmt(struct via_camera *cam, =20 =20 =20 -static int viacam_try_fmt_vid_cap(struct file *filp, void *priv, - struct v4l2_format *fmt) +static int viacam_try_fmt_vid_cap(struct file *filp, + struct video_device_state *state, struct v4l2_format *fmt) { struct via_camera *cam =3D video_drvdata(filp); struct v4l2_format sfmt; @@ -860,8 +862,8 @@ static int viacam_try_fmt_vid_cap(struct file *filp, vo= id *priv, } =20 =20 -static int viacam_g_fmt_vid_cap(struct file *filp, void *priv, - struct v4l2_format *fmt) +static int viacam_g_fmt_vid_cap(struct file *filp, + struct video_device_state *state, struct v4l2_format *fmt) { struct via_camera *cam =3D video_drvdata(filp); =20 @@ -869,8 +871,8 @@ static int viacam_g_fmt_vid_cap(struct file *filp, void= *priv, return 0; } =20 -static int viacam_s_fmt_vid_cap(struct file *filp, void *priv, - struct v4l2_format *fmt) +static int viacam_s_fmt_vid_cap(struct file *filp, + struct video_device_state *state, struct v4l2_format *fmt) { struct via_camera *cam =3D video_drvdata(filp); int ret; @@ -902,8 +904,8 @@ static int viacam_s_fmt_vid_cap(struct file *filp, void= *priv, return ret; } =20 -static int viacam_querycap(struct file *filp, void *priv, - struct v4l2_capability *cap) +static int viacam_querycap(struct file *filp, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, "via-camera", sizeof(cap->driver)); strscpy(cap->card, "via-camera", sizeof(cap->card)); @@ -913,7 +915,8 @@ static int viacam_querycap(struct file *filp, void *pri= v, =20 /* G/S_PARM */ =20 -static int viacam_g_parm(struct file *filp, void *priv, +static int viacam_g_parm(struct file *filp, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct via_camera *cam =3D video_drvdata(filp); @@ -921,7 +924,8 @@ static int viacam_g_parm(struct file *filp, void *priv, return v4l2_g_parm_cap(video_devdata(filp), cam->sensor, parm); } =20 -static int viacam_s_parm(struct file *filp, void *priv, +static int viacam_s_parm(struct file *filp, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct via_camera *cam =3D video_drvdata(filp); @@ -929,7 +933,8 @@ static int viacam_s_parm(struct file *filp, void *priv, return v4l2_s_parm_cap(video_devdata(filp), cam->sensor, parm); } =20 -static int viacam_enum_framesizes(struct file *filp, void *priv, +static int viacam_enum_framesizes(struct file *filp, + struct video_device_state *state, struct v4l2_frmsizeenum *sizes) { unsigned int i; @@ -950,7 +955,8 @@ static int viacam_enum_framesizes(struct file *filp, vo= id *priv, return 0; } =20 -static int viacam_enum_frameintervals(struct file *filp, void *priv, +static int viacam_enum_frameintervals(struct file *filp, + struct video_device_state *state, struct v4l2_frmivalenum *interval) { struct via_camera *cam =3D video_drvdata(filp); diff --git a/drivers/media/platform/xilinx/xilinx-dma.c b/drivers/media/pla= tform/xilinx/xilinx-dma.c index fcfe0883aba5fb8bcf954ce4be956edb39e610cb..8102e09993e4a9ce5428a0a49ef= 01c8e5de223f6 100644 --- a/drivers/media/platform/xilinx/xilinx-dma.c +++ b/drivers/media/platform/xilinx/xilinx-dma.c @@ -467,7 +467,8 @@ static const struct vb2_ops xvip_dma_queue_qops =3D { */ =20 static int -xvip_dma_querycap(struct file *file, void *fh, struct v4l2_capability *cap) +xvip_dma_querycap(struct file *file, struct video_device_state *state, + struct v4l2_capability *cap) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); struct xvip_dma *dma =3D to_xvip_dma(vfh->vdev); @@ -489,7 +490,8 @@ xvip_dma_querycap(struct file *file, void *fh, struct v= 4l2_capability *cap) * clarified through the mailing list. */ static int -xvip_dma_enum_format(struct file *file, void *fh, struct v4l2_fmtdesc *f) +xvip_dma_enum_format(struct file *file, struct video_device_state *state, + struct v4l2_fmtdesc *f) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); struct xvip_dma *dma =3D to_xvip_dma(vfh->vdev); @@ -503,7 +505,8 @@ xvip_dma_enum_format(struct file *file, void *fh, struc= t v4l2_fmtdesc *f) } =20 static int -xvip_dma_get_format(struct file *file, void *fh, struct v4l2_format *forma= t) +xvip_dma_get_format(struct file *file, struct video_device_state *state, + struct v4l2_format *format) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); struct xvip_dma *dma =3D to_xvip_dma(vfh->vdev); @@ -563,7 +566,8 @@ __xvip_dma_try_format(struct xvip_dma *dma, struct v4l2= _pix_format *pix, } =20 static int -xvip_dma_try_format(struct file *file, void *fh, struct v4l2_format *forma= t) +xvip_dma_try_format(struct file *file, struct video_device_state *state, + struct v4l2_format *format) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); struct xvip_dma *dma =3D to_xvip_dma(vfh->vdev); @@ -573,7 +577,8 @@ xvip_dma_try_format(struct file *file, void *fh, struct= v4l2_format *format) } =20 static int -xvip_dma_set_format(struct file *file, void *fh, struct v4l2_format *forma= t) +xvip_dma_set_format(struct file *file, struct video_device_state *state, + struct v4l2_format *format) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); struct xvip_dma *dma =3D to_xvip_dma(vfh->vdev); diff --git a/drivers/media/radio/dsbr100.c b/drivers/media/radio/dsbr100.c index 9a45cda0577993206c7e287ce03467713f16ee41..9978454af6a33e863e320a6c164= 97998a44a1dca 100644 --- a/drivers/media/radio/dsbr100.c +++ b/drivers/media/radio/dsbr100.c @@ -160,7 +160,8 @@ static void dsbr100_getstat(struct dsbr100_device *radi= o) } } =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *v) { struct dsbr100_device *radio =3D video_drvdata(file); @@ -171,7 +172,8 @@ static int vidioc_querycap(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *v) { struct dsbr100_device *radio =3D video_drvdata(file); @@ -192,13 +194,15 @@ static int vidioc_g_tuner(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { return v->index ? -EINVAL : 0; } =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct dsbr100_device *radio =3D video_drvdata(file); @@ -210,7 +214,8 @@ static int vidioc_s_frequency(struct file *file, void *= priv, FREQ_MIN * FREQ_MUL, FREQ_MAX * FREQ_MUL)); } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct dsbr100_device *radio =3D video_drvdata(file); diff --git a/drivers/media/radio/radio-cadet.c b/drivers/media/radio/radio-= cadet.c index 5110754e1a31782b74d4c9dcbfa79642a532543a..842002098e8eeb960e7128310f4= 1e86efe5ce943 100644 --- a/drivers/media/radio/radio-cadet.c +++ b/drivers/media/radio/radio-cadet.c @@ -351,7 +351,8 @@ static ssize_t cadet_read(struct file *file, char __use= r *data, size_t count, lo } =20 =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *v) { strscpy(v->driver, "ADS Cadet", sizeof(v->driver)); @@ -360,7 +361,8 @@ static int vidioc_querycap(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *v) { struct cadet *dev =3D video_drvdata(file); @@ -390,13 +392,15 @@ static int vidioc_g_tuner(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { return v->index ? -EINVAL : 0; } =20 -static int vidioc_enum_freq_bands(struct file *file, void *priv, +static int vidioc_enum_freq_bands(struct file *file, + struct video_device_state *state, struct v4l2_frequency_band *band) { if (band->tuner) @@ -407,7 +411,8 @@ static int vidioc_enum_freq_bands(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct cadet *dev =3D video_drvdata(file); @@ -420,7 +425,8 @@ static int vidioc_g_frequency(struct file *file, void *= priv, } =20 =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct cadet *dev =3D video_drvdata(file); diff --git a/drivers/media/radio/radio-isa.c b/drivers/media/radio/radio-is= a.c index 1a144536ffa7580c8e8d96c149a68eb788c29346..32f483f12ce052ec8ccf870eb42= fae661b5fff67 100644 --- a/drivers/media/radio/radio-isa.c +++ b/drivers/media/radio/radio-isa.c @@ -29,7 +29,8 @@ MODULE_LICENSE("GPL"); #define FREQ_LOW (87U * 16000U) #define FREQ_HIGH (108U * 16000U) =20 -static int radio_isa_querycap(struct file *file, void *priv, +static int radio_isa_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *v) { struct radio_isa_card *isa =3D video_drvdata(file); @@ -40,7 +41,8 @@ static int radio_isa_querycap(struct file *file, void *p= riv, return 0; } =20 -static int radio_isa_g_tuner(struct file *file, void *priv, +static int radio_isa_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *v) { struct radio_isa_card *isa =3D video_drvdata(file); @@ -70,7 +72,8 @@ static int radio_isa_g_tuner(struct file *file, void *pri= v, return 0; } =20 -static int radio_isa_s_tuner(struct file *file, void *priv, +static int radio_isa_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { struct radio_isa_card *isa =3D video_drvdata(file); @@ -85,7 +88,8 @@ static int radio_isa_s_tuner(struct file *file, void *pri= v, return 0; } =20 -static int radio_isa_s_frequency(struct file *file, void *priv, +static int radio_isa_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct radio_isa_card *isa =3D video_drvdata(file); @@ -101,7 +105,8 @@ static int radio_isa_s_frequency(struct file *file, voi= d *priv, return res; } =20 -static int radio_isa_g_frequency(struct file *file, void *priv, +static int radio_isa_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct radio_isa_card *isa =3D video_drvdata(file); @@ -126,7 +131,8 @@ static int radio_isa_s_ctrl(struct v4l2_ctrl *ctrl) return -EINVAL; } =20 -static int radio_isa_log_status(struct file *file, void *priv) +static int radio_isa_log_status(struct file *file, + struct video_device_state *state) { struct radio_isa_card *isa =3D video_drvdata(file); =20 diff --git a/drivers/media/radio/radio-keene.c b/drivers/media/radio/radio-= keene.c index f3b57f0cb1ec4064aa7e81b1c6425f937ca819de..168e1ff2a0ae64a5af57ceefd7e= 57491f1b347e1 100644 --- a/drivers/media/radio/radio-keene.c +++ b/drivers/media/radio/radio-keene.c @@ -160,7 +160,8 @@ static int usb_keene_resume(struct usb_interface *intf) return 0; } =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *v) { struct keene_device *radio =3D video_drvdata(file); @@ -171,7 +172,8 @@ static int vidioc_querycap(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_g_modulator(struct file *file, void *priv, +static int vidioc_g_modulator(struct file *file, + struct video_device_state *state, struct v4l2_modulator *v) { struct keene_device *radio =3D video_drvdata(file); @@ -187,7 +189,8 @@ static int vidioc_g_modulator(struct file *file, void *= priv, return 0; } =20 -static int vidioc_s_modulator(struct file *file, void *priv, +static int vidioc_s_modulator(struct file *file, + struct video_device_state *state, const struct v4l2_modulator *v) { struct keene_device *radio =3D video_drvdata(file); @@ -199,7 +202,8 @@ static int vidioc_s_modulator(struct file *file, void *= priv, return keene_cmd_set(radio); } =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct keene_device *radio =3D video_drvdata(file); @@ -211,7 +215,8 @@ static int vidioc_s_frequency(struct file *file, void *= priv, return keene_cmd_main(radio, freq, true); } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct keene_device *radio =3D video_drvdata(file); diff --git a/drivers/media/radio/radio-ma901.c b/drivers/media/radio/radio-= ma901.c index 657c3dda6648a8ff3bf67630c7cc30d857367fe0..61b745a13fc29e03579a29bb7f2= 894513cf5e872 100644 --- a/drivers/media/radio/radio-ma901.c +++ b/drivers/media/radio/radio-ma901.c @@ -183,7 +183,8 @@ static void usb_ma901radio_disconnect(struct usb_interf= ace *intf) } =20 /* vidioc_querycap - query device capabilities */ -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *v) { struct ma901radio_device *radio =3D video_drvdata(file); @@ -195,7 +196,8 @@ static int vidioc_querycap(struct file *file, void *pri= v, } =20 /* vidioc_g_tuner - get tuner attributes */ -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *v) { struct ma901radio_device *radio =3D video_drvdata(file); @@ -223,7 +225,8 @@ static int vidioc_g_tuner(struct file *file, void *priv, } =20 /* vidioc_s_tuner - set tuner attributes */ -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { struct ma901radio_device *radio =3D video_drvdata(file); @@ -241,7 +244,8 @@ static int vidioc_s_tuner(struct file *file, void *priv, } =20 /* vidioc_s_frequency - set tuner radio frequency */ -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct ma901radio_device *radio =3D video_drvdata(file); @@ -254,7 +258,8 @@ static int vidioc_s_frequency(struct file *file, void *= priv, } =20 /* vidioc_g_frequency - get tuner radio frequency */ -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct ma901radio_device *radio =3D video_drvdata(file); diff --git a/drivers/media/radio/radio-miropcm20.c b/drivers/media/radio/ra= dio-miropcm20.c index 67712ab3d564435c9e7c2c46d103ea7f8166c2ea..f9d5d35a775378a118fd4cc8683= 8273baf8911ba 100644 --- a/drivers/media/radio/radio-miropcm20.c +++ b/drivers/media/radio/radio-miropcm20.c @@ -196,7 +196,8 @@ static int pcm20_setfreq(struct pcm20 *dev, unsigned lo= ng freq) return snd_aci_cmd(aci, ACI_WRITE_TUNE, freql, freqh); } =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *v) { strscpy(v->driver, "Miro PCM20", sizeof(v->driver)); @@ -219,7 +220,8 @@ static bool sanitize(char *p, int size) return ret; } =20 -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *v) { struct pcm20 *dev =3D video_drvdata(file); @@ -248,7 +250,8 @@ static int vidioc_g_tuner(struct file *file, void *priv, return 0; } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { struct pcm20 *dev =3D video_drvdata(file); @@ -264,7 +267,8 @@ static int vidioc_s_tuner(struct file *file, void *priv, return 0; } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct pcm20 *dev =3D video_drvdata(file); @@ -278,7 +282,8 @@ static int vidioc_g_frequency(struct file *file, void *= priv, } =20 =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct pcm20 *dev =3D video_drvdata(file); diff --git a/drivers/media/radio/radio-mr800.c b/drivers/media/radio/radio-= mr800.c index cb0437b4c331250863c9e08c58bf0f32fdad4362..368995ce53ae950cd14d5616ede= 7a3429cdfb9bd 100644 --- a/drivers/media/radio/radio-mr800.c +++ b/drivers/media/radio/radio-mr800.c @@ -252,7 +252,8 @@ static void usb_amradio_disconnect(struct usb_interface= *intf) } =20 /* vidioc_querycap - query device capabilities */ -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *v) { struct amradio_device *radio =3D video_drvdata(file); @@ -264,7 +265,8 @@ static int vidioc_querycap(struct file *file, void *pri= v, } =20 /* vidioc_g_tuner - get tuner attributes */ -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *v) { struct amradio_device *radio =3D video_drvdata(file); @@ -292,7 +294,8 @@ static int vidioc_g_tuner(struct file *file, void *priv, } =20 /* vidioc_s_tuner - set tuner attributes */ -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { struct amradio_device *radio =3D video_drvdata(file); @@ -310,7 +313,8 @@ static int vidioc_s_tuner(struct file *file, void *priv, } =20 /* vidioc_s_frequency - set tuner radio frequency */ -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct amradio_device *radio =3D video_drvdata(file); @@ -321,7 +325,8 @@ static int vidioc_s_frequency(struct file *file, void *= priv, } =20 /* vidioc_g_frequency - get tuner radio frequency */ -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct amradio_device *radio =3D video_drvdata(file); @@ -334,7 +339,8 @@ static int vidioc_g_frequency(struct file *file, void *= priv, return 0; } =20 -static int vidioc_s_hw_freq_seek(struct file *file, void *priv, +static int vidioc_s_hw_freq_seek(struct file *file, + struct video_device_state *state, const struct v4l2_hw_freq_seek *seek) { static u8 buf[8] =3D { diff --git a/drivers/media/radio/radio-raremono.c b/drivers/media/radio/rad= io-raremono.c index f60775b005e1d1dcc63b9d095cfb5320c20888e1..54460ea13ed9e72ef4c0109be9e= 38fc8f1bed665 100644 --- a/drivers/media/radio/radio-raremono.c +++ b/drivers/media/radio/radio-raremono.c @@ -176,7 +176,8 @@ static void usb_raremono_disconnect(struct usb_interfac= e *intf) /* * Linux Video interface */ -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *v) { struct raremono_device *radio =3D video_drvdata(file); @@ -187,7 +188,8 @@ static int vidioc_querycap(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_enum_freq_bands(struct file *file, void *priv, +static int vidioc_enum_freq_bands(struct file *file, + struct video_device_state *state, struct v4l2_frequency_band *band) { if (band->tuner !=3D 0) @@ -201,8 +203,8 @@ static int vidioc_enum_freq_bands(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_g_tuner(struct file *file, void *priv, - struct v4l2_tuner *v) +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *v) { struct raremono_device *radio =3D video_drvdata(file); int ret; @@ -230,13 +232,15 @@ static int vidioc_g_tuner(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { return v->index ? -EINVAL : 0; } =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct raremono_device *radio =3D video_drvdata(file); @@ -257,7 +261,8 @@ static int vidioc_s_frequency(struct file *file, void *= priv, return raremono_cmd_main(radio, band, freq / 16); } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct raremono_device *radio =3D video_drvdata(file); diff --git a/drivers/media/radio/radio-sf16fmi.c b/drivers/media/radio/radi= o-sf16fmi.c index 1fb88c2b916c4510e915b2cb478085134a9f09c3..048f7990a5d4c318b3f7416ec09= 1f6045b8c7a10 100644 --- a/drivers/media/radio/radio-sf16fmi.c +++ b/drivers/media/radio/radio-sf16fmi.c @@ -127,7 +127,8 @@ static void fmi_set_freq(struct fmi *fmi) lm7000_set_freq((fmi->curfreq / 800) * 800, fmi, fmi_set_pins); } =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *v) { strscpy(v->driver, "radio-sf16fmi", sizeof(v->driver)); @@ -136,7 +137,8 @@ static int vidioc_querycap(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *v) { struct fmi *fmi =3D video_drvdata(file); @@ -155,13 +157,15 @@ static int vidioc_g_tuner(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { return v->index ? -EINVAL : 0; } =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct fmi *fmi =3D video_drvdata(file); @@ -175,7 +179,8 @@ static int vidioc_s_frequency(struct file *file, void *= priv, return 0; } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct fmi *fmi =3D video_drvdata(file); diff --git a/drivers/media/radio/radio-si476x.c b/drivers/media/radio/radio= -si476x.c index 9980346cb5ea3897e515a0042cdb6c7b24334b01..9a5bb0259f28101cf3d0838ba65= 13968d7065762 100644 --- a/drivers/media/radio/radio-si476x.c +++ b/drivers/media/radio/radio-si476x.c @@ -321,7 +321,8 @@ v4l2_ctrl_handler_to_radio(struct v4l2_ctrl_handler *d) /* * si476x_vidioc_querycap - query device capabilities */ -static int si476x_radio_querycap(struct file *file, void *priv, +static int si476x_radio_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *capability) { struct si476x_radio *radio =3D video_drvdata(file); @@ -332,7 +333,8 @@ static int si476x_radio_querycap(struct file *file, voi= d *priv, return 0; } =20 -static int si476x_radio_enum_freq_bands(struct file *file, void *priv, +static int si476x_radio_enum_freq_bands(struct file *file, + struct video_device_state *state, struct v4l2_frequency_band *band) { int err; @@ -369,7 +371,8 @@ static int si476x_radio_enum_freq_bands(struct file *fi= le, void *priv, return err; } =20 -static int si476x_radio_g_tuner(struct file *file, void *priv, +static int si476x_radio_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *tuner) { int err; @@ -446,7 +449,8 @@ static int si476x_radio_g_tuner(struct file *file, void= *priv, return err; } =20 -static int si476x_radio_s_tuner(struct file *file, void *priv, +static int si476x_radio_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *tuner) { struct si476x_radio *radio =3D video_drvdata(file); @@ -638,7 +642,8 @@ static int si476x_radio_change_func(struct si476x_radio= *radio, return si476x_radio_do_post_powerup_init(radio, func); } =20 -static int si476x_radio_g_frequency(struct file *file, void *priv, +static int si476x_radio_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { int err; @@ -673,7 +678,8 @@ static int si476x_radio_g_frequency(struct file *file, = void *priv, return err; } =20 -static int si476x_radio_s_frequency(struct file *file, void *priv, +static int si476x_radio_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { int err; @@ -725,7 +731,8 @@ static int si476x_radio_s_frequency(struct file *file, = void *priv, return err; } =20 -static int si476x_radio_s_hw_freq_seek(struct file *file, void *priv, +static int si476x_radio_s_hw_freq_seek(struct file *file, + struct video_device_state *state, const struct v4l2_hw_freq_seek *seek) { int err; @@ -992,7 +999,8 @@ static int si476x_radio_s_ctrl(struct v4l2_ctrl *ctrl) } =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -static int si476x_radio_g_register(struct file *file, void *fh, +static int si476x_radio_g_register(struct file *file, + struct video_device_state *state, struct v4l2_dbg_register *reg) { int err; @@ -1008,7 +1016,9 @@ static int si476x_radio_g_register(struct file *file,= void *fh, =20 return err; } -static int si476x_radio_s_register(struct file *file, void *fh, + +static int si476x_radio_s_register(struct file *file, + struct video_device_state *state, const struct v4l2_dbg_register *reg) { =20 diff --git a/drivers/media/radio/radio-tea5764.c b/drivers/media/radio/radi= o-tea5764.c index dd85b0b1bcd962d59acdbefb8c74e469914daf3f..a4f4837e896f50b7aa9c82aaa8a= 880620f5d3988 100644 --- a/drivers/media/radio/radio-tea5764.c +++ b/drivers/media/radio/radio-tea5764.c @@ -272,7 +272,8 @@ static void tea5764_mute(struct tea5764_device *radio, = int on) } =20 /* V4L2 vidioc */ -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *v) { struct tea5764_device *radio =3D video_drvdata(file); @@ -285,7 +286,8 @@ static int vidioc_querycap(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *v) { struct tea5764_device *radio =3D video_drvdata(file); @@ -311,7 +313,8 @@ static int vidioc_g_tuner(struct file *file, void *priv, return 0; } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { struct tea5764_device *radio =3D video_drvdata(file); @@ -323,7 +326,8 @@ static int vidioc_s_tuner(struct file *file, void *priv, return 0; } =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct tea5764_device *radio =3D video_drvdata(file); @@ -347,7 +351,8 @@ static int vidioc_s_frequency(struct file *file, void *= priv, return 0; } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct tea5764_device *radio =3D video_drvdata(file); diff --git a/drivers/media/radio/radio-tea5777.c b/drivers/media/radio/radi= o-tea5777.c index fb9de7bbcd195e193d1c91661b0e8900bbefc9aa..5d2f0b182fc4891233168d92db3= ea803d450e19a 100644 --- a/drivers/media/radio/radio-tea5777.c +++ b/drivers/media/radio/radio-tea5777.c @@ -251,7 +251,8 @@ static int radio_tea5777_update_read_reg(struct radio_t= ea5777 *tea, int wait) * Linux Video interface */ =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *v) { struct radio_tea5777 *tea =3D video_drvdata(file); @@ -263,7 +264,8 @@ static int vidioc_querycap(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_enum_freq_bands(struct file *file, void *priv, +static int vidioc_enum_freq_bands(struct file *file, + struct video_device_state *state, struct v4l2_frequency_band *band) { struct radio_tea5777 *tea =3D video_drvdata(file); @@ -276,7 +278,8 @@ static int vidioc_enum_freq_bands(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *v) { struct radio_tea5777 *tea =3D video_drvdata(file); @@ -318,7 +321,8 @@ static int vidioc_g_tuner(struct file *file, void *priv, return 0; } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { struct radio_tea5777 *tea =3D video_drvdata(file); @@ -337,7 +341,8 @@ static int vidioc_s_tuner(struct file *file, void *priv, return 0; } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct radio_tea5777 *tea =3D video_drvdata(file); @@ -349,7 +354,8 @@ static int vidioc_g_frequency(struct file *file, void *= priv, return 0; } =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct radio_tea5777 *tea =3D video_drvdata(file); @@ -366,7 +372,8 @@ static int vidioc_s_frequency(struct file *file, void *= priv, return radio_tea5777_set_freq(tea); } =20 -static int vidioc_s_hw_freq_seek(struct file *file, void *fh, +static int vidioc_s_hw_freq_seek(struct file *file, + struct video_device_state *state, const struct v4l2_hw_freq_seek *a) { struct radio_tea5777 *tea =3D video_drvdata(file); diff --git a/drivers/media/radio/radio-timb.c b/drivers/media/radio/radio-t= imb.c index a6069b106fd3048b2c730e9c45fd82f0b7302bfb..8d5e4eb0b964b56e2bac71bd626= 779d224638d9f 100644 --- a/drivers/media/radio/radio-timb.c +++ b/drivers/media/radio/radio-timb.c @@ -27,9 +27,9 @@ struct timbradio { struct mutex lock; }; =20 - -static int timbradio_vidioc_querycap(struct file *file, void *priv, - struct v4l2_capability *v) +static int timbradio_vidioc_querycap(struct file *file, + struct video_device_state *state, + struct v4l2_capability *v) { strscpy(v->driver, DRIVER_NAME, sizeof(v->driver)); strscpy(v->card, "Timberdale Radio", sizeof(v->card)); @@ -37,29 +37,33 @@ static int timbradio_vidioc_querycap(struct file *file,= void *priv, return 0; } =20 -static int timbradio_vidioc_g_tuner(struct file *file, void *priv, - struct v4l2_tuner *v) +static int timbradio_vidioc_g_tuner(struct file *file, + struct video_device_state *state, + struct v4l2_tuner *v) { struct timbradio *tr =3D video_drvdata(file); return v4l2_subdev_call(tr->sd_tuner, tuner, g_tuner, v); } =20 -static int timbradio_vidioc_s_tuner(struct file *file, void *priv, - const struct v4l2_tuner *v) +static int timbradio_vidioc_s_tuner(struct file *file, + struct video_device_state *state, + const struct v4l2_tuner *v) { struct timbradio *tr =3D video_drvdata(file); return v4l2_subdev_call(tr->sd_tuner, tuner, s_tuner, v); } =20 -static int timbradio_vidioc_s_frequency(struct file *file, void *priv, - const struct v4l2_frequency *f) +static int timbradio_vidioc_s_frequency(struct file *file, + struct video_device_state *state, + const struct v4l2_frequency *f) { struct timbradio *tr =3D video_drvdata(file); return v4l2_subdev_call(tr->sd_tuner, tuner, s_frequency, f); } =20 -static int timbradio_vidioc_g_frequency(struct file *file, void *priv, - struct v4l2_frequency *f) +static int timbradio_vidioc_g_frequency(struct file *file, + struct video_device_state *state, + struct v4l2_frequency *f) { struct timbradio *tr =3D video_drvdata(file); return v4l2_subdev_call(tr->sd_tuner, tuner, g_frequency, f); diff --git a/drivers/media/radio/si470x/radio-si470x-common.c b/drivers/med= ia/radio/si470x/radio-si470x-common.c index af0a709100994c1c39a83ac6fcabefebf2783459..26d515903ea583a174760595678= 24b60a9bb2b69 100644 --- a/drivers/media/radio/si470x/radio-si470x-common.c +++ b/drivers/media/radio/si470x/radio-si470x-common.c @@ -597,8 +597,8 @@ static int si470x_s_ctrl(struct v4l2_ctrl *ctrl) /* * si470x_vidioc_g_tuner - get tuner attributes */ -static int si470x_vidioc_g_tuner(struct file *file, void *priv, - struct v4l2_tuner *tuner) +static int si470x_vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *tuner) { struct si470x_device *radio =3D video_drvdata(file); int retval =3D 0; @@ -657,7 +657,8 @@ static int si470x_vidioc_g_tuner(struct file *file, voi= d *priv, /* * si470x_vidioc_s_tuner - set tuner attributes */ -static int si470x_vidioc_s_tuner(struct file *file, void *priv, +static int si470x_vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *tuner) { struct si470x_device *radio =3D video_drvdata(file); @@ -683,8 +684,8 @@ static int si470x_vidioc_s_tuner(struct file *file, voi= d *priv, /* * si470x_vidioc_g_frequency - get tuner or modulator radio frequency */ -static int si470x_vidioc_g_frequency(struct file *file, void *priv, - struct v4l2_frequency *freq) +static int si470x_vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *freq) { struct si470x_device *radio =3D video_drvdata(file); =20 @@ -699,7 +700,8 @@ static int si470x_vidioc_g_frequency(struct file *file,= void *priv, /* * si470x_vidioc_s_frequency - set tuner or modulator radio frequency */ -static int si470x_vidioc_s_frequency(struct file *file, void *priv, +static int si470x_vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *freq) { struct si470x_device *radio =3D video_drvdata(file); @@ -722,7 +724,8 @@ static int si470x_vidioc_s_frequency(struct file *file,= void *priv, /* * si470x_vidioc_s_hw_freq_seek - set hardware frequency seek */ -static int si470x_vidioc_s_hw_freq_seek(struct file *file, void *priv, +static int si470x_vidioc_s_hw_freq_seek(struct file *file, + struct video_device_state *state, const struct v4l2_hw_freq_seek *seek) { struct si470x_device *radio =3D video_drvdata(file); @@ -739,7 +742,8 @@ static int si470x_vidioc_s_hw_freq_seek(struct file *fi= le, void *priv, /* * si470x_vidioc_enum_freq_bands - enumerate supported bands */ -static int si470x_vidioc_enum_freq_bands(struct file *file, void *priv, +static int si470x_vidioc_enum_freq_bands(struct file *file, + struct video_device_state *state, struct v4l2_frequency_band *band) { if (band->tuner !=3D 0) @@ -755,12 +759,13 @@ const struct v4l2_ctrl_ops si470x_ctrl_ops =3D { }; EXPORT_SYMBOL_GPL(si470x_ctrl_ops); =20 -static int si470x_vidioc_querycap(struct file *file, void *priv, +static int si470x_vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *capability) { struct si470x_device *radio =3D video_drvdata(file); =20 - return radio->vidioc_querycap(file, priv, capability); + return radio->vidioc_querycap(file, state, capability); }; =20 /* diff --git a/drivers/media/radio/si4713/radio-platform-si4713.c b/drivers/m= edia/radio/si4713/radio-platform-si4713.c index 4132968110e3c54e86642bef480793ee06adb883..903e89336af47c03da9258d8ab8= 2a7a8647f5494 100644 --- a/drivers/media/radio/si4713/radio-platform-si4713.c +++ b/drivers/media/radio/si4713/radio-platform-si4713.c @@ -55,7 +55,8 @@ static const struct v4l2_file_operations radio_si4713_fop= s =3D { /* Video4Linux Interface */ =20 /* radio_si4713_querycap - query device capabilities */ -static int radio_si4713_querycap(struct file *file, void *priv, +static int radio_si4713_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *capability) { strscpy(capability->driver, "radio-si4713", sizeof(capability->driver)); @@ -75,35 +76,40 @@ static inline struct v4l2_device *get_v4l2_dev(struct f= ile *file) return &((struct radio_si4713_device *)video_drvdata(file))->v4l2_dev; } =20 -static int radio_si4713_g_modulator(struct file *file, void *priv, +static int radio_si4713_g_modulator(struct file *file, + struct video_device_state *state, struct v4l2_modulator *vm) { return v4l2_device_call_until_err(get_v4l2_dev(file), 0, tuner, g_modulator, vm); } =20 -static int radio_si4713_s_modulator(struct file *file, void *priv, +static int radio_si4713_s_modulator(struct file *file, + struct video_device_state *state, const struct v4l2_modulator *vm) { return v4l2_device_call_until_err(get_v4l2_dev(file), 0, tuner, s_modulator, vm); } =20 -static int radio_si4713_g_frequency(struct file *file, void *priv, +static int radio_si4713_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *vf) { return v4l2_device_call_until_err(get_v4l2_dev(file), 0, tuner, g_frequency, vf); } =20 -static int radio_si4713_s_frequency(struct file *file, void *priv, +static int radio_si4713_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *vf) { return v4l2_device_call_until_err(get_v4l2_dev(file), 0, tuner, s_frequency, vf); } =20 -static long radio_si4713_default(struct file *file, void *priv, +static long radio_si4713_default(struct file *file, + struct video_device_state *state, bool valid_prio, unsigned int cmd, void *arg) { return v4l2_device_call_until_err(get_v4l2_dev(file), 0, core, diff --git a/drivers/media/radio/si4713/radio-usb-si4713.c b/drivers/media/= radio/si4713/radio-usb-si4713.c index 2cf36c8abddeacdb70f35feab8994245cc43d32f..d566d8b848db97d8a0e897dd276= e6734ae3dbd54 100644 --- a/drivers/media/radio/si4713/radio-usb-si4713.c +++ b/drivers/media/radio/si4713/radio-usb-si4713.c @@ -62,7 +62,8 @@ static inline struct si4713_usb_device *to_si4713_dev(str= uct v4l2_device *v4l2_d return container_of(v4l2_dev, struct si4713_usb_device, v4l2_dev); } =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *v) { struct si4713_usb_device *radio =3D video_drvdata(file); @@ -73,7 +74,8 @@ static int vidioc_querycap(struct file *file, void *priv, return 0; } =20 -static int vidioc_g_modulator(struct file *file, void *priv, +static int vidioc_g_modulator(struct file *file, + struct video_device_state *state, struct v4l2_modulator *vm) { struct si4713_usb_device *radio =3D video_drvdata(file); @@ -81,7 +83,8 @@ static int vidioc_g_modulator(struct file *file, void *pr= iv, return v4l2_subdev_call(radio->v4l2_subdev, tuner, g_modulator, vm); } =20 -static int vidioc_s_modulator(struct file *file, void *priv, +static int vidioc_s_modulator(struct file *file, + struct video_device_state *state, const struct v4l2_modulator *vm) { struct si4713_usb_device *radio =3D video_drvdata(file); @@ -89,7 +92,8 @@ static int vidioc_s_modulator(struct file *file, void *pr= iv, return v4l2_subdev_call(radio->v4l2_subdev, tuner, s_modulator, vm); } =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *vf) { struct si4713_usb_device *radio =3D video_drvdata(file); @@ -97,7 +101,8 @@ static int vidioc_s_frequency(struct file *file, void *p= riv, return v4l2_subdev_call(radio->v4l2_subdev, tuner, s_frequency, vf); } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *vf) { struct si4713_usb_device *radio =3D video_drvdata(file); diff --git a/drivers/media/radio/tea575x.c b/drivers/media/radio/tea575x.c index c37315226c427ac3e382055e0d3f8057d8ef6870..659f43bb1e8d9ae8e096c93e416= 5fa9e6b900ffb 100644 --- a/drivers/media/radio/tea575x.c +++ b/drivers/media/radio/tea575x.c @@ -217,7 +217,8 @@ EXPORT_SYMBOL(snd_tea575x_set_freq); * Linux Video interface */ =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *v) { struct snd_tea575x *tea =3D video_drvdata(file); @@ -262,7 +263,8 @@ int snd_tea575x_enum_freq_bands(struct snd_tea575x *tea, } EXPORT_SYMBOL(snd_tea575x_enum_freq_bands); =20 -static int vidioc_enum_freq_bands(struct file *file, void *priv, +static int vidioc_enum_freq_bands(struct file *file, + struct video_device_state *state, struct v4l2_frequency_band *band) { struct snd_tea575x *tea =3D video_drvdata(file); @@ -294,7 +296,8 @@ int snd_tea575x_g_tuner(struct snd_tea575x *tea, struct= v4l2_tuner *v) } EXPORT_SYMBOL(snd_tea575x_g_tuner); =20 -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *v) { struct snd_tea575x *tea =3D video_drvdata(file); @@ -302,7 +305,8 @@ static int vidioc_g_tuner(struct file *file, void *priv, return snd_tea575x_g_tuner(tea, v); } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { struct snd_tea575x *tea =3D video_drvdata(file); @@ -320,7 +324,8 @@ static int vidioc_s_tuner(struct file *file, void *priv, return 0; } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct snd_tea575x *tea =3D video_drvdata(file); @@ -332,7 +337,8 @@ static int vidioc_g_frequency(struct file *file, void *= priv, return 0; } =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct snd_tea575x *tea =3D video_drvdata(file); @@ -440,7 +446,8 @@ int snd_tea575x_s_hw_freq_seek(struct file *file, struc= t snd_tea575x *tea, } EXPORT_SYMBOL(snd_tea575x_s_hw_freq_seek); =20 -static int vidioc_s_hw_freq_seek(struct file *file, void *fh, +static int vidioc_s_hw_freq_seek(struct file *file, + struct video_device_state *state, const struct v4l2_hw_freq_seek *a) { struct snd_tea575x *tea =3D video_drvdata(file); diff --git a/drivers/media/test-drivers/vicodec/vicodec-core.c b/drivers/me= dia/test-drivers/vicodec/vicodec-core.c index a3df3a33237e2f2b22b74d5b65065f952b9a78d8..df5d6969ea02e44c9b0e489a0b1= 9e69751f421f3 100644 --- a/drivers/media/test-drivers/vicodec/vicodec-core.c +++ b/drivers/media/test-drivers/vicodec/vicodec-core.c @@ -694,7 +694,8 @@ static const struct v4l2_fwht_pixfmt_info *find_fmt(u32= fmt) return info; } =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, VICODEC_NAME, sizeof(cap->driver)); @@ -742,7 +743,8 @@ static int enum_fmt(struct v4l2_fmtdesc *f, struct vico= dec_ctx *ctx, return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct vicodec_ctx *ctx =3D file2ctx(file); @@ -750,7 +752,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, v= oid *priv, return enum_fmt(f, ctx, false); } =20 -static int vidioc_enum_fmt_vid_out(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct vicodec_ctx *ctx =3D file2ctx(file); @@ -816,13 +819,15 @@ static int vidioc_g_fmt(struct vicodec_ctx *ctx, stru= ct v4l2_format *f) return 0; } =20 -static int vidioc_g_fmt_vid_out(struct file *file, void *priv, +static int vidioc_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return vidioc_g_fmt(file2ctx(file), f); } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return vidioc_g_fmt(file2ctx(file), f); @@ -889,7 +894,8 @@ static int vidioc_try_fmt(struct vicodec_ctx *ctx, stru= ct v4l2_format *f) return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vicodec_ctx *ctx =3D file2ctx(file); @@ -926,7 +932,8 @@ static int vidioc_try_fmt_vid_cap(struct file *file, vo= id *priv, return vidioc_try_fmt(ctx, f); } =20 -static int vidioc_try_fmt_vid_out(struct file *file, void *priv, +static int vidioc_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vicodec_ctx *ctx =3D file2ctx(file); @@ -1042,19 +1049,21 @@ static int vidioc_s_fmt(struct vicodec_ctx *ctx, st= ruct v4l2_format *f) return 0; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret; =20 - ret =3D vidioc_try_fmt_vid_cap(file, priv, f); + ret =3D vidioc_try_fmt_vid_cap(file, state, f); if (ret) return ret; =20 return vidioc_s_fmt(file2ctx(file), f); } =20 -static int vidioc_s_fmt_vid_out(struct file *file, void *priv, +static int vidioc_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vicodec_ctx *ctx =3D file2ctx(file); @@ -1069,7 +1078,7 @@ static int vidioc_s_fmt_vid_out(struct file *file, vo= id *priv, q_data =3D get_q_data(ctx, f->type); q_data_cap =3D get_q_data(ctx, V4L2_BUF_TYPE_VIDEO_CAPTURE); =20 - ret =3D vidioc_try_fmt_vid_out(file, priv, f); + ret =3D vidioc_try_fmt_vid_out(file, state, f); if (ret) return ret; =20 @@ -1131,7 +1140,8 @@ static int vidioc_s_fmt_vid_out(struct file *file, vo= id *priv, return ret; } =20 -static int vidioc_g_selection(struct file *file, void *priv, +static int vidioc_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct vicodec_ctx *ctx =3D file2ctx(file); @@ -1180,7 +1190,8 @@ static int vidioc_g_selection(struct file *file, void= *priv, return -EINVAL; } =20 -static int vidioc_s_selection(struct file *file, void *priv, +static int vidioc_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct vicodec_ctx *ctx =3D file2ctx(file); @@ -1207,20 +1218,21 @@ static int vidioc_s_selection(struct file *file, vo= id *priv, return 0; } =20 -static int vicodec_encoder_cmd(struct file *file, void *priv, +static int vicodec_encoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_encoder_cmd *ec) { struct vicodec_ctx *ctx =3D file2ctx(file); int ret; =20 - ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, priv, ec); + ret =3D v4l2_m2m_ioctl_try_encoder_cmd(file, state, ec); if (ret < 0) return ret; =20 if (!vb2_is_streaming(&ctx->fh.m2m_ctx->out_q_ctx.q)) return 0; =20 - ret =3D v4l2_m2m_ioctl_encoder_cmd(file, priv, ec); + ret =3D v4l2_m2m_ioctl_encoder_cmd(file, state, ec); if (ret < 0) return ret; =20 @@ -1235,7 +1247,8 @@ static int vicodec_encoder_cmd(struct file *file, voi= d *priv, return 0; } =20 -static int vicodec_decoder_cmd(struct file *file, void *priv, +static int vicodec_decoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_decoder_cmd *dc) { struct vicodec_ctx *ctx =3D file2ctx(file); @@ -1247,14 +1260,14 @@ static int vicodec_decoder_cmd(struct file *file, v= oid *priv, */ WARN_ON(ctx->is_stateless); =20 - ret =3D v4l2_m2m_ioctl_try_decoder_cmd(file, priv, dc); + ret =3D v4l2_m2m_ioctl_try_decoder_cmd(file, state, dc); if (ret < 0) return ret; =20 if (!vb2_is_streaming(&ctx->fh.m2m_ctx->out_q_ctx.q)) return 0; =20 - ret =3D v4l2_m2m_ioctl_decoder_cmd(file, priv, dc); + ret =3D v4l2_m2m_ioctl_decoder_cmd(file, state, dc); if (ret < 0) return ret; =20 @@ -1269,7 +1282,8 @@ static int vicodec_decoder_cmd(struct file *file, voi= d *priv, return 0; } =20 -static int vicodec_enum_framesizes(struct file *file, void *priv, +static int vicodec_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { switch (fsize->pixel_format) { diff --git a/drivers/media/test-drivers/vim2m.c b/drivers/media/test-driver= s/vim2m.c index 86c32699111adc838d4304ec0c0f0026db128d70..c89890bfede5fe1818fd2d4b0b4= 749aaa815f33a 100644 --- a/drivers/media/test-drivers/vim2m.c +++ b/drivers/media/test-drivers/vim2m.c @@ -648,7 +648,8 @@ static void device_work(struct work_struct *w) /* * video ioctls */ -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, MEM2MEM_NAME, sizeof(cap->driver)); @@ -689,19 +690,22 @@ static int enum_fmt(struct v4l2_fmtdesc *f, u32 type) return -EINVAL; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return enum_fmt(f, MEM2MEM_CAPTURE); } =20 -static int vidioc_enum_fmt_vid_out(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return enum_fmt(f, MEM2MEM_OUTPUT); } =20 -static int vidioc_enum_framesizes(struct file *file, void *priv, +static int vidioc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { if (fsize->index !=3D 0) @@ -778,7 +782,8 @@ static int vidioc_g_fmt_mplane(struct vim2m_ctx *ctx, s= truct v4l2_format *f) return 0; } =20 -static int vidioc_g_fmt_vid_out(struct file *file, void *priv, +static int vidioc_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vim2m_dev *dev =3D video_drvdata(file); @@ -789,7 +794,8 @@ static int vidioc_g_fmt_vid_out(struct file *file, void= *priv, return vidioc_g_fmt(file2ctx(file), f); } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vim2m_dev *dev =3D video_drvdata(file); @@ -800,7 +806,8 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void= *priv, return vidioc_g_fmt(file2ctx(file), f); } =20 -static int vidioc_g_fmt_vid_out_mplane(struct file *file, void *priv, +static int vidioc_g_fmt_vid_out_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vim2m_dev *dev =3D video_drvdata(file); @@ -811,7 +818,8 @@ static int vidioc_g_fmt_vid_out_mplane(struct file *fil= e, void *priv, return vidioc_g_fmt_mplane(file2ctx(file), f); } =20 -static int vidioc_g_fmt_vid_cap_mplane(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vim2m_dev *dev =3D video_drvdata(file); @@ -848,7 +856,8 @@ static int vidioc_try_fmt(struct v4l2_format *f, bool i= s_mplane) return ret; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vim2m_fmt *fmt; @@ -877,7 +886,8 @@ static int vidioc_try_fmt_vid_cap(struct file *file, vo= id *priv, return vidioc_try_fmt(f, false); } =20 -static int vidioc_try_fmt_vid_cap_mplane(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vim2m_fmt *fmt; @@ -906,7 +916,8 @@ static int vidioc_try_fmt_vid_cap_mplane(struct file *f= ile, void *priv, return vidioc_try_fmt(f, true); } =20 -static int vidioc_try_fmt_vid_out(struct file *file, void *priv, +static int vidioc_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vim2m_fmt *fmt; @@ -933,7 +944,8 @@ static int vidioc_try_fmt_vid_out(struct file *file, vo= id *priv, return vidioc_try_fmt(f, false); } =20 -static int vidioc_try_fmt_vid_out_mplane(struct file *file, void *priv, +static int vidioc_try_fmt_vid_out_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vim2m_fmt *fmt; @@ -1007,7 +1019,8 @@ static int vidioc_s_fmt(struct vim2m_ctx *ctx, struct= v4l2_format *f) return 0; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret; @@ -1016,14 +1029,15 @@ static int vidioc_s_fmt_vid_cap(struct file *file, = void *priv, if (dev->multiplanar) return -ENOTTY; =20 - ret =3D vidioc_try_fmt_vid_cap(file, priv, f); + ret =3D vidioc_try_fmt_vid_cap(file, state, f); if (ret) return ret; =20 return vidioc_s_fmt(file2ctx(file), f); } =20 -static int vidioc_s_fmt_vid_cap_mplane(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret; @@ -1032,14 +1046,15 @@ static int vidioc_s_fmt_vid_cap_mplane(struct file = *file, void *priv, if (!dev->multiplanar) return -ENOTTY; =20 - ret =3D vidioc_try_fmt_vid_cap_mplane(file, priv, f); + ret =3D vidioc_try_fmt_vid_cap_mplane(file, state, f); if (ret) return ret; =20 return vidioc_s_fmt(file2ctx(file), f); } =20 -static int vidioc_s_fmt_vid_out(struct file *file, void *priv, +static int vidioc_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vim2m_ctx *ctx =3D file2ctx(file); @@ -1049,7 +1064,7 @@ static int vidioc_s_fmt_vid_out(struct file *file, vo= id *priv, if (dev->multiplanar) return -ENOTTY; =20 - ret =3D vidioc_try_fmt_vid_out(file, priv, f); + ret =3D vidioc_try_fmt_vid_out(file, state, f); if (ret) return ret; =20 @@ -1063,7 +1078,8 @@ static int vidioc_s_fmt_vid_out(struct file *file, vo= id *priv, return ret; } =20 -static int vidioc_s_fmt_vid_out_mplane(struct file *file, void *priv, +static int vidioc_s_fmt_vid_out_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vim2m_ctx *ctx =3D file2ctx(file); @@ -1073,7 +1089,7 @@ static int vidioc_s_fmt_vid_out_mplane(struct file *f= ile, void *priv, if (!dev->multiplanar) return -ENOTTY; =20 - ret =3D vidioc_try_fmt_vid_out_mplane(file, priv, f); + ret =3D vidioc_try_fmt_vid_out_mplane(file, state, f); if (ret) return ret; =20 diff --git a/drivers/media/test-drivers/vimc/vimc-capture.c b/drivers/media= /test-drivers/vimc/vimc-capture.c index 7f6124025fc9dc9716251565c504bc33ad81b345..447a76a55e68e0cf79a3087164d= 602e493dce4cd 100644 --- a/drivers/media/test-drivers/vimc/vimc-capture.c +++ b/drivers/media/test-drivers/vimc/vimc-capture.c @@ -52,7 +52,8 @@ struct vimc_capture_buffer { struct list_head list; }; =20 -static int vimc_capture_querycap(struct file *file, void *priv, +static int vimc_capture_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, VIMC_PDEV_NAME, sizeof(cap->driver)); @@ -70,7 +71,8 @@ static void vimc_capture_get_format(struct vimc_ent_devic= e *ved, *fmt =3D vcapture->format; } =20 -static int vimc_capture_g_fmt_vid_cap(struct file *file, void *priv, +static int vimc_capture_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vimc_capture_device *vcapture =3D video_drvdata(file); @@ -80,7 +82,8 @@ static int vimc_capture_g_fmt_vid_cap(struct file *file, = void *priv, return 0; } =20 -static int vimc_capture_try_fmt_vid_cap(struct file *file, void *priv, +static int vimc_capture_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct v4l2_pix_format *format =3D &f->fmt.pix; @@ -112,7 +115,8 @@ static int vimc_capture_try_fmt_vid_cap(struct file *fi= le, void *priv, return 0; } =20 -static int vimc_capture_s_fmt_vid_cap(struct file *file, void *priv, +static int vimc_capture_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vimc_capture_device *vcapture =3D video_drvdata(file); @@ -122,7 +126,7 @@ static int vimc_capture_s_fmt_vid_cap(struct file *file= , void *priv, if (vb2_is_busy(&vcapture->queue)) return -EBUSY; =20 - ret =3D vimc_capture_try_fmt_vid_cap(file, priv, f); + ret =3D vimc_capture_try_fmt_vid_cap(file, state, f); if (ret) return ret; =20 @@ -145,7 +149,8 @@ static int vimc_capture_s_fmt_vid_cap(struct file *file= , void *priv, return 0; } =20 -static int vimc_capture_enum_fmt_vid_cap(struct file *file, void *priv, +static int vimc_capture_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { const struct vimc_pix_map *vpix; @@ -167,7 +172,8 @@ static int vimc_capture_enum_fmt_vid_cap(struct file *f= ile, void *priv, return 0; } =20 -static int vimc_capture_enum_framesizes(struct file *file, void *priv, +static int vimc_capture_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { const struct vimc_pix_map *vpix; diff --git a/drivers/media/test-drivers/visl/visl-video.c b/drivers/media/t= est-drivers/visl/visl-video.c index 8be505d8908c98bb50118dfa2f491d5ac68772ec..bcba5959432df24d4011c3be20c= 3acd226540991 100644 --- a/drivers/media/test-drivers/visl/visl-video.c +++ b/drivers/media/test-drivers/visl/visl-video.c @@ -332,7 +332,8 @@ static struct visl_q_data *get_q_data(struct visl_ctx *= ctx, return NULL; } =20 -static int visl_querycap(struct file *file, void *priv, +static int visl_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, VISL_NAME, sizeof(cap->driver)); @@ -343,7 +344,8 @@ static int visl_querycap(struct file *file, void *priv, return 0; } =20 -static int visl_enum_fmt_vid_cap(struct file *file, void *priv, +static int visl_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct visl_ctx *ctx =3D visl_file_to_ctx(file); @@ -365,7 +367,8 @@ static int visl_enum_fmt_vid_cap(struct file *file, voi= d *priv, return 0; } =20 -static int visl_enum_fmt_vid_out(struct file *file, void *priv, +static int visl_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index >=3D ARRAY_SIZE(visl_coded_fmts)) @@ -375,7 +378,8 @@ static int visl_enum_fmt_vid_out(struct file *file, voi= d *priv, return 0; } =20 -static int visl_g_fmt_vid_cap(struct file *file, void *priv, +static int visl_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct visl_ctx *ctx =3D visl_file_to_ctx(file); @@ -384,7 +388,8 @@ static int visl_g_fmt_vid_cap(struct file *file, void *= priv, return 0; } =20 -static int visl_g_fmt_vid_out(struct file *file, void *priv, +static int visl_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct visl_ctx *ctx =3D visl_file_to_ctx(file); @@ -393,7 +398,8 @@ static int visl_g_fmt_vid_out(struct file *file, void *= priv, return 0; } =20 -static int visl_try_fmt_vid_cap(struct file *file, void *priv, +static int visl_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct v4l2_pix_format_mplane *pix_mp =3D &f->fmt.pix_mp; @@ -423,7 +429,8 @@ static int visl_try_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int visl_try_fmt_vid_out(struct file *file, void *priv, +static int visl_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct v4l2_pix_format_mplane *pix_mp =3D &f->fmt.pix_mp; @@ -449,7 +456,8 @@ static int visl_try_fmt_vid_out(struct file *file, void= *priv, return 0; } =20 -static int visl_s_fmt_vid_out(struct file *file, void *priv, +static int visl_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct visl_ctx *ctx =3D visl_file_to_ctx(file); @@ -465,7 +473,7 @@ static int visl_s_fmt_vid_out(struct file *file, void *= priv, dprintk(ctx->dev, "Trying to set the OUTPUT format to:\n"); visl_print_fmt(ctx, f); =20 - ret =3D visl_try_fmt_vid_out(file, priv, f); + ret =3D visl_try_fmt_vid_out(file, state, f); if (ret) return ret; =20 @@ -489,7 +497,8 @@ static int visl_s_fmt_vid_out(struct file *file, void *= priv, return 0; } =20 -static int visl_s_fmt_vid_cap(struct file *file, void *priv, +static int visl_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct visl_ctx *ctx =3D visl_file_to_ctx(file); @@ -498,7 +507,7 @@ static int visl_s_fmt_vid_cap(struct file *file, void *= priv, dprintk(ctx->dev, "Trying to set the CAPTURE format to:\n"); visl_print_fmt(ctx, f); =20 - ret =3D visl_try_fmt_vid_cap(file, priv, f); + ret =3D visl_try_fmt_vid_cap(file, state, f); if (ret) return ret; =20 @@ -511,7 +520,8 @@ static int visl_s_fmt_vid_cap(struct file *file, void *= priv, return 0; } =20 -static int visl_enum_framesizes(struct file *file, void *priv, +static int visl_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { const struct visl_coded_format_desc *fmt; diff --git a/drivers/media/test-drivers/vivid/vivid-core.c b/drivers/media/= test-drivers/vivid/vivid-core.c index 86506be36acb0cfacede5f000b95c0bc491ab5a8..d24c06dbae5ec38e9254a309c3d= 0869c48f45f34 100644 --- a/drivers/media/test-drivers/vivid/vivid-core.c +++ b/drivers/media/test-drivers/vivid/vivid-core.c @@ -258,7 +258,8 @@ static const u8 vivid_hdmi_edid[256] =3D { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, }; =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct vivid_dev *dev =3D video_drvdata(file); @@ -277,49 +278,57 @@ static int vidioc_querycap(struct file *file, void *= priv, return 0; } =20 -static int vidioc_s_hw_freq_seek(struct file *file, void *priv, const stru= ct v4l2_hw_freq_seek *a) +static int vidioc_s_hw_freq_seek(struct file *file, + struct video_device_state *state, + const struct v4l2_hw_freq_seek *a) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_RADIO) - return vivid_radio_rx_s_hw_freq_seek(file, priv, a); + return vivid_radio_rx_s_hw_freq_seek(file, state, a); return -ENOTTY; } =20 -static int vidioc_enum_freq_bands(struct file *file, void *priv, struct v4= l2_frequency_band *band) +static int vidioc_enum_freq_bands(struct file *file, + struct video_device_state *state, + struct v4l2_frequency_band *band) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_RADIO) - return vivid_radio_rx_enum_freq_bands(file, priv, band); + return vivid_radio_rx_enum_freq_bands(file, state, band); if (vdev->vfl_type =3D=3D VFL_TYPE_SDR) - return vivid_sdr_enum_freq_bands(file, priv, band); + return vivid_sdr_enum_freq_bands(file, state, band); return -ENOTTY; } =20 -static int vidioc_g_tuner(struct file *file, void *priv, struct v4l2_tuner= *vt) +static int vidioc_g_tuner(struct file *file, struct video_device_state *st= ate, + struct v4l2_tuner *vt) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_RADIO) - return vivid_radio_rx_g_tuner(file, priv, vt); + return vivid_radio_rx_g_tuner(file, state, vt); if (vdev->vfl_type =3D=3D VFL_TYPE_SDR) - return vivid_sdr_g_tuner(file, priv, vt); - return vivid_video_g_tuner(file, priv, vt); + return vivid_sdr_g_tuner(file, state, vt); + return vivid_video_g_tuner(file, state, vt); } =20 -static int vidioc_s_tuner(struct file *file, void *priv, const struct v4l2= _tuner *vt) +static int vidioc_s_tuner(struct file *file, struct video_device_state *st= ate, + const struct v4l2_tuner *vt) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_RADIO) - return vivid_radio_rx_s_tuner(file, priv, vt); + return vivid_radio_rx_s_tuner(file, state, vt); if (vdev->vfl_type =3D=3D VFL_TYPE_SDR) - return vivid_sdr_s_tuner(file, priv, vt); - return vivid_video_s_tuner(file, priv, vt); + return vivid_sdr_s_tuner(file, state, vt); + return vivid_video_s_tuner(file, state, vt); } =20 -static int vidioc_g_frequency(struct file *file, void *priv, struct v4l2_f= requency *vf) +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, + struct v4l2_frequency *vf) { struct vivid_dev *dev =3D video_drvdata(file); struct video_device *vdev =3D video_devdata(file); @@ -329,11 +338,13 @@ static int vidioc_g_frequency(struct file *file, void= *priv, struct v4l2_frequen vdev->vfl_dir =3D=3D VFL_DIR_RX ? &dev->radio_rx_freq : &dev->radio_tx_freq, vf); if (vdev->vfl_type =3D=3D VFL_TYPE_SDR) - return vivid_sdr_g_frequency(file, priv, vf); - return vivid_video_g_frequency(file, priv, vf); + return vivid_sdr_g_frequency(file, state, vf); + return vivid_video_g_frequency(file, state, vf); } =20 -static int vidioc_s_frequency(struct file *file, void *priv, const struct = v4l2_frequency *vf) +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, + const struct v4l2_frequency *vf) { struct vivid_dev *dev =3D video_drvdata(file); struct video_device *vdev =3D video_devdata(file); @@ -343,113 +354,125 @@ static int vidioc_s_frequency(struct file *file, vo= id *priv, const struct v4l2_f vdev->vfl_dir =3D=3D VFL_DIR_RX ? &dev->radio_rx_freq : &dev->radio_tx_freq, vf); if (vdev->vfl_type =3D=3D VFL_TYPE_SDR) - return vivid_sdr_s_frequency(file, priv, vf); - return vivid_video_s_frequency(file, priv, vf); + return vivid_sdr_s_frequency(file, state, vf); + return vivid_video_s_frequency(file, state, vf); } =20 -static int vidioc_overlay(struct file *file, void *priv, unsigned i) +static int vidioc_overlay(struct file *file, struct video_device_state *st= ate, + unsigned int i) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_dir =3D=3D VFL_DIR_RX) return -ENOTTY; - return vivid_vid_out_overlay(file, priv, i); + return vivid_vid_out_overlay(file, state, i); } =20 -static int vidioc_g_fbuf(struct file *file, void *priv, struct v4l2_frameb= uffer *a) +static int vidioc_g_fbuf(struct file *file, struct video_device_state *sta= te, + struct v4l2_framebuffer *a) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_dir =3D=3D VFL_DIR_RX) return -ENOTTY; - return vivid_vid_out_g_fbuf(file, priv, a); + return vivid_vid_out_g_fbuf(file, state, a); } =20 -static int vidioc_s_fbuf(struct file *file, void *priv, const struct v4l2_= framebuffer *a) +static int vidioc_s_fbuf(struct file *file, struct video_device_state *sta= te, + const struct v4l2_framebuffer *a) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_dir =3D=3D VFL_DIR_RX) return -ENOTTY; - return vivid_vid_out_s_fbuf(file, priv, a); + return vivid_vid_out_s_fbuf(file, state, a); } =20 -static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id id) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_dir =3D=3D VFL_DIR_RX) - return vivid_vid_cap_s_std(file, priv, id); - return vivid_vid_out_s_std(file, priv, id); + return vivid_vid_cap_s_std(file, state, id); + return vivid_vid_out_s_std(file, state, id); } =20 -static int vidioc_s_dv_timings(struct file *file, void *priv, struct v4l2_= dv_timings *timings) +static int vidioc_s_dv_timings(struct file *file, + struct video_device_state *state, + struct v4l2_dv_timings *timings) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_dir =3D=3D VFL_DIR_RX) - return vivid_vid_cap_s_dv_timings(file, priv, timings); - return vivid_vid_out_s_dv_timings(file, priv, timings); + return vivid_vid_cap_s_dv_timings(file, state, timings); + return vivid_vid_out_s_dv_timings(file, state, timings); } =20 -static int vidioc_g_pixelaspect(struct file *file, void *priv, - int type, struct v4l2_fract *f) +static int vidioc_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_dir =3D=3D VFL_DIR_RX) - return vivid_vid_cap_g_pixelaspect(file, priv, type, f); - return vivid_vid_out_g_pixelaspect(file, priv, type, f); + return vivid_vid_cap_g_pixelaspect(file, state, type, f); + return vivid_vid_out_g_pixelaspect(file, state, type, f); } =20 -static int vidioc_g_selection(struct file *file, void *priv, +static int vidioc_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_dir =3D=3D VFL_DIR_RX) - return vivid_vid_cap_g_selection(file, priv, sel); - return vivid_vid_out_g_selection(file, priv, sel); + return vivid_vid_cap_g_selection(file, state, sel); + return vivid_vid_out_g_selection(file, state, sel); } =20 -static int vidioc_s_selection(struct file *file, void *priv, +static int vidioc_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_dir =3D=3D VFL_DIR_RX) - return vivid_vid_cap_s_selection(file, priv, sel); - return vivid_vid_out_s_selection(file, priv, sel); + return vivid_vid_cap_s_selection(file, state, sel); + return vivid_vid_out_s_selection(file, state, sel); } =20 -static int vidioc_g_parm(struct file *file, void *priv, +static int vidioc_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_TOUCH) - return vivid_g_parm_tch(file, priv, parm); + return vivid_g_parm_tch(file, state, parm); if (vdev->vfl_dir =3D=3D VFL_DIR_RX) - return vivid_vid_cap_g_parm(file, priv, parm); - return vivid_vid_out_g_parm(file, priv, parm); + return vivid_vid_cap_g_parm(file, state, parm); + return vivid_vid_out_g_parm(file, state, parm); } =20 -static int vidioc_s_parm(struct file *file, void *priv, +static int vidioc_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_dir =3D=3D VFL_DIR_RX) - return vivid_vid_cap_s_parm(file, priv, parm); + return vivid_vid_cap_s_parm(file, state, parm); return -ENOTTY; } =20 -static int vidioc_log_status(struct file *file, void *priv) +static int vidioc_log_status(struct file *file, + struct video_device_state *state) { struct vivid_dev *dev =3D video_drvdata(file); struct video_device *vdev =3D video_devdata(file); =20 - v4l2_ctrl_log_status(file, priv); + v4l2_ctrl_log_status(file, state); if (vdev->vfl_dir =3D=3D VFL_DIR_RX && vdev->vfl_type =3D=3D VFL_TYPE_VID= EO) tpg_log_status(&dev->tpg); return 0; @@ -484,102 +507,112 @@ static __poll_t vivid_radio_poll(struct file *file,= struct poll_table_struct *wa return vivid_radio_tx_poll(file, wait); } =20 -static int vivid_enum_input(struct file *file, void *priv, +static int vivid_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_TOUCH) - return vivid_enum_input_tch(file, priv, inp); - return vidioc_enum_input(file, priv, inp); + return vivid_enum_input_tch(file, state, inp); + return vidioc_enum_input(file, state, inp); } =20 -static int vivid_g_input(struct file *file, void *priv, unsigned int *i) +static int vivid_g_input(struct file *file, struct video_device_state *sta= te, + unsigned int *i) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_TOUCH) - return vivid_g_input_tch(file, priv, i); - return vidioc_g_input(file, priv, i); + return vivid_g_input_tch(file, state, i); + return vidioc_g_input(file, state, i); } =20 -static int vivid_s_input(struct file *file, void *priv, unsigned int i) +static int vivid_s_input(struct file *file, struct video_device_state *sta= te, + unsigned int i) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_TOUCH) - return vivid_s_input_tch(file, priv, i); - return vidioc_s_input(file, priv, i); + return vivid_s_input_tch(file, state, i); + return vidioc_s_input(file, state, i); } =20 -static int vivid_enum_fmt_cap(struct file *file, void *priv, +static int vivid_enum_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_TOUCH) - return vivid_enum_fmt_tch(file, priv, f); - return vivid_enum_fmt_vid(file, priv, f); + return vivid_enum_fmt_tch(file, state, f); + return vivid_enum_fmt_vid(file, state, f); } =20 -static int vivid_g_fmt_cap(struct file *file, void *priv, +static int vivid_g_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_TOUCH) - return vivid_g_fmt_tch(file, priv, f); - return vidioc_g_fmt_vid_cap(file, priv, f); + return vivid_g_fmt_tch(file, state, f); + return vidioc_g_fmt_vid_cap(file, state, f); } =20 -static int vivid_try_fmt_cap(struct file *file, void *priv, +static int vivid_try_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_TOUCH) - return vivid_g_fmt_tch(file, priv, f); - return vidioc_try_fmt_vid_cap(file, priv, f); + return vivid_g_fmt_tch(file, state, f); + return vidioc_try_fmt_vid_cap(file, state, f); } =20 -static int vivid_s_fmt_cap(struct file *file, void *priv, +static int vivid_s_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_TOUCH) - return vivid_g_fmt_tch(file, priv, f); - return vidioc_s_fmt_vid_cap(file, priv, f); + return vivid_g_fmt_tch(file, state, f); + return vidioc_s_fmt_vid_cap(file, state, f); } =20 -static int vivid_g_fmt_cap_mplane(struct file *file, void *priv, +static int vivid_g_fmt_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_TOUCH) - return vivid_g_fmt_tch_mplane(file, priv, f); - return vidioc_g_fmt_vid_cap_mplane(file, priv, f); + return vivid_g_fmt_tch_mplane(file, state, f); + return vidioc_g_fmt_vid_cap_mplane(file, state, f); } =20 -static int vivid_try_fmt_cap_mplane(struct file *file, void *priv, +static int vivid_try_fmt_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_TOUCH) - return vivid_g_fmt_tch_mplane(file, priv, f); - return vidioc_try_fmt_vid_cap_mplane(file, priv, f); + return vivid_g_fmt_tch_mplane(file, state, f); + return vidioc_try_fmt_vid_cap_mplane(file, state, f); } =20 -static int vivid_s_fmt_cap_mplane(struct file *file, void *priv, +static int vivid_s_fmt_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct video_device *vdev =3D video_devdata(file); =20 if (vdev->vfl_type =3D=3D VFL_TYPE_TOUCH) - return vivid_g_fmt_tch_mplane(file, priv, f); - return vidioc_s_fmt_vid_cap_mplane(file, priv, f); + return vivid_g_fmt_tch_mplane(file, state, f); + return vidioc_s_fmt_vid_cap_mplane(file, state, f); } =20 static bool vivid_is_in_use(bool valid, struct video_device *vdev) @@ -689,7 +722,8 @@ static const struct v4l2_file_operations vivid_radio_fo= ps =3D { .unlocked_ioctl =3D video_ioctl2, }; =20 -static int vidioc_reqbufs(struct file *file, void *priv, +static int vidioc_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *p) { struct video_device *vdev =3D video_devdata(file); @@ -706,10 +740,11 @@ static int vidioc_reqbufs(struct file *file, void *pr= iv, return r; } =20 - return vb2_ioctl_reqbufs(file, priv, p); + return vb2_ioctl_reqbufs(file, state, p); } =20 -static int vidioc_create_bufs(struct file *file, void *priv, +static int vidioc_create_bufs(struct file *file, + struct video_device_state *state, struct v4l2_create_buffers *p) { struct video_device *vdev =3D video_devdata(file); @@ -726,7 +761,7 @@ static int vidioc_create_bufs(struct file *file, void *= priv, return r; } =20 - return vb2_ioctl_create_bufs(file, priv, p); + return vb2_ioctl_create_bufs(file, state, p); } =20 static const struct v4l2_ioctl_ops vivid_ioctl_ops =3D { diff --git a/drivers/media/test-drivers/vivid/vivid-meta-cap.c b/drivers/me= dia/test-drivers/vivid/vivid-meta-cap.c index c7aaecc0b5a24726639a253accfc50383a84e846..3206ccdeb377f54b76d8fde199a= a6e4049ff8aae 100644 --- a/drivers/media/test-drivers/vivid/vivid-meta-cap.c +++ b/drivers/media/test-drivers/vivid/vivid-meta-cap.c @@ -124,7 +124,8 @@ const struct vb2_ops vivid_meta_cap_qops =3D { .buf_request_complete =3D meta_cap_buf_request_complete, }; =20 -int vidioc_enum_fmt_meta_cap(struct file *file, void *priv, +int vidioc_enum_fmt_meta_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct vivid_dev *dev =3D video_drvdata(file); @@ -140,7 +141,8 @@ int vidioc_enum_fmt_meta_cap(struct file *file, void *= priv, return 0; } =20 -int vidioc_g_fmt_meta_cap(struct file *file, void *priv, +int vidioc_g_fmt_meta_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); diff --git a/drivers/media/test-drivers/vivid/vivid-meta-cap.h b/drivers/me= dia/test-drivers/vivid/vivid-meta-cap.h index 4670d00d1576df0e41a961ad5d5040d92787dfa1..c11758df76c3f86d0972b653ebb= eefe4d8601d22 100644 --- a/drivers/media/test-drivers/vivid/vivid-meta-cap.h +++ b/drivers/media/test-drivers/vivid/vivid-meta-cap.h @@ -18,10 +18,12 @@ struct vivid_uvc_meta_buf { void vivid_meta_cap_fillbuff(struct vivid_dev *dev, struct vivid_buffer *buf, u64 soe); =20 -int vidioc_enum_fmt_meta_cap(struct file *file, void *priv, +int vidioc_enum_fmt_meta_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f); =20 -int vidioc_g_fmt_meta_cap(struct file *file, void *priv, +int vidioc_g_fmt_meta_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f); =20 extern const struct vb2_ops vivid_meta_cap_qops; diff --git a/drivers/media/test-drivers/vivid/vivid-meta-out.c b/drivers/me= dia/test-drivers/vivid/vivid-meta-out.c index 55e5e5dec2f2ab1bdc01a2d1d479a6f1eb758299..9b6b556c475f713e23098d9b62d= ce71945295dac 100644 --- a/drivers/media/test-drivers/vivid/vivid-meta-out.c +++ b/drivers/media/test-drivers/vivid/vivid-meta-out.c @@ -124,7 +124,8 @@ const struct vb2_ops vivid_meta_out_qops =3D { .buf_request_complete =3D meta_out_buf_request_complete, }; =20 -int vidioc_enum_fmt_meta_out(struct file *file, void *priv, +int vidioc_enum_fmt_meta_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct vivid_dev *dev =3D video_drvdata(file); @@ -140,7 +141,8 @@ int vidioc_enum_fmt_meta_out(struct file *file, void *= priv, return 0; } =20 -int vidioc_g_fmt_meta_out(struct file *file, void *priv, +int vidioc_g_fmt_meta_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); diff --git a/drivers/media/test-drivers/vivid/vivid-meta-out.h b/drivers/me= dia/test-drivers/vivid/vivid-meta-out.h index 0c639b7c284276f4c5e5180b765dbc17d884927f..dc3594de999a052708fb3594456= 5e939357ac36a 100644 --- a/drivers/media/test-drivers/vivid/vivid-meta-out.h +++ b/drivers/media/test-drivers/vivid/vivid-meta-out.h @@ -13,11 +13,14 @@ struct vivid_meta_out_buf { }; =20 void vivid_meta_out_process(struct vivid_dev *dev, struct vivid_buffer *bu= f); -int vidioc_enum_fmt_meta_out(struct file *file, void *priv, +int vidioc_enum_fmt_meta_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f); -int vidioc_g_fmt_meta_out(struct file *file, void *priv, +int vidioc_g_fmt_meta_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f); -int vidioc_s_fmt_meta_out(struct file *file, void *priv, +int vidioc_s_fmt_meta_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f); =20 extern const struct vb2_ops vivid_meta_out_qops; diff --git a/drivers/media/test-drivers/vivid/vivid-radio-rx.c b/drivers/me= dia/test-drivers/vivid/vivid-radio-rx.c index b5e3026f883ee69d48db552623d7961677eb91fd..7ff89e6488fcde1d8ff2a1a996a= 3ac8d2d0dca83 100644 --- a/drivers/media/test-drivers/vivid/vivid-radio-rx.c +++ b/drivers/media/test-drivers/vivid/vivid-radio-rx.c @@ -133,7 +133,9 @@ __poll_t vivid_radio_rx_poll(struct file *file, struct = poll_table_struct *wait) return EPOLLIN | EPOLLRDNORM | v4l2_ctrl_poll(file, wait); } =20 -int vivid_radio_rx_enum_freq_bands(struct file *file, void *priv, struct v= 4l2_frequency_band *band) +int vivid_radio_rx_enum_freq_bands(struct file *file, + struct video_device_state *state, + struct v4l2_frequency_band *band) { if (band->tuner !=3D 0) return -EINVAL; @@ -145,7 +147,9 @@ int vivid_radio_rx_enum_freq_bands(struct file *file, v= oid *priv, struct v4l2_fr return 0; } =20 -int vivid_radio_rx_s_hw_freq_seek(struct file *file, void *priv, const str= uct v4l2_hw_freq_seek *a) +int vivid_radio_rx_s_hw_freq_seek(struct file *file, + struct video_device_state *state, + const struct v4l2_hw_freq_seek *a) { struct vivid_dev *dev =3D video_drvdata(file); unsigned low, high; @@ -214,7 +218,9 @@ int vivid_radio_rx_s_hw_freq_seek(struct file *file, vo= id *priv, const struct v4 return 0; } =20 -int vivid_radio_rx_g_tuner(struct file *file, void *priv, struct v4l2_tune= r *vt) +int vivid_radio_rx_g_tuner(struct file *file, + struct video_device_state *state, + struct v4l2_tuner *vt) { struct vivid_dev *dev =3D video_drvdata(file); int delta =3D 800; @@ -267,7 +273,9 @@ int vivid_radio_rx_g_tuner(struct file *file, void *pri= v, struct v4l2_tuner *vt) return 0; } =20 -int vivid_radio_rx_s_tuner(struct file *file, void *priv, const struct v4l= 2_tuner *vt) +int vivid_radio_rx_s_tuner(struct file *file, + struct video_device_state *state, + const struct v4l2_tuner *vt) { struct vivid_dev *dev =3D video_drvdata(file); =20 diff --git a/drivers/media/test-drivers/vivid/vivid-radio-rx.h b/drivers/me= dia/test-drivers/vivid/vivid-radio-rx.h index a2ae17c78ecee08d42cd3a8e8d30b01caec1bb99..30dcb534862b80d2447e089c310= 41406ae07e284 100644 --- a/drivers/media/test-drivers/vivid/vivid-radio-rx.h +++ b/drivers/media/test-drivers/vivid/vivid-radio-rx.h @@ -11,9 +11,17 @@ ssize_t vivid_radio_rx_read(struct file *, char __user *, size_t, loff_t *= ); __poll_t vivid_radio_rx_poll(struct file *file, struct poll_table_struct *= wait); =20 -int vivid_radio_rx_enum_freq_bands(struct file *file, void *priv, struct v= 4l2_frequency_band *band); -int vivid_radio_rx_s_hw_freq_seek(struct file *file, void *priv, const str= uct v4l2_hw_freq_seek *a); -int vivid_radio_rx_g_tuner(struct file *file, void *priv, struct v4l2_tune= r *vt); -int vivid_radio_rx_s_tuner(struct file *file, void *priv, const struct v4l= 2_tuner *vt); +int vivid_radio_rx_enum_freq_bands(struct file *file, + struct video_device_state *state, + struct v4l2_frequency_band *band); +int vivid_radio_rx_s_hw_freq_seek(struct file *file, + struct video_device_state *state, + const struct v4l2_hw_freq_seek *a); +int vivid_radio_rx_g_tuner(struct file *file, + struct video_device_state *state, + struct v4l2_tuner *vt); +int vivid_radio_rx_s_tuner(struct file *file, + struct video_device_state *state, + const struct v4l2_tuner *vt); =20 #endif diff --git a/drivers/media/test-drivers/vivid/vivid-radio-tx.c b/drivers/me= dia/test-drivers/vivid/vivid-radio-tx.c index ada60722066eaceef1371d711e5bc408ff0fa6b3..a81b74b45a6441a43c0773326d2= a39d4fc5544f7 100644 --- a/drivers/media/test-drivers/vivid/vivid-radio-tx.c +++ b/drivers/media/test-drivers/vivid/vivid-radio-tx.c @@ -96,7 +96,8 @@ __poll_t vivid_radio_tx_poll(struct file *file, struct po= ll_table_struct *wait) return EPOLLOUT | EPOLLWRNORM | v4l2_ctrl_poll(file, wait); } =20 -int vidioc_g_modulator(struct file *file, void *priv, struct v4l2_modulato= r *a) +int vidioc_g_modulator(struct file *file, struct video_device_state *state, + struct v4l2_modulator *a) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -115,7 +116,8 @@ int vidioc_g_modulator(struct file *file, void *priv, s= truct v4l2_modulator *a) return 0; } =20 -int vidioc_s_modulator(struct file *file, void *priv, const struct v4l2_mo= dulator *a) +int vidioc_s_modulator(struct file *file, struct video_device_state *state, + const struct v4l2_modulator *a) { struct vivid_dev *dev =3D video_drvdata(file); =20 diff --git a/drivers/media/test-drivers/vivid/vivid-radio-tx.h b/drivers/me= dia/test-drivers/vivid/vivid-radio-tx.h index 20cb6f1363ffd07805d1c7c86f6d4111ac5948a5..d2e636e20dac373058d04e72f41= c7d3a0f0d6f9b 100644 --- a/drivers/media/test-drivers/vivid/vivid-radio-tx.h +++ b/drivers/media/test-drivers/vivid/vivid-radio-tx.h @@ -11,7 +11,9 @@ ssize_t vivid_radio_tx_write(struct file *, const char __user *, size_t, l= off_t *); __poll_t vivid_radio_tx_poll(struct file *file, struct poll_table_struct *= wait); =20 -int vidioc_g_modulator(struct file *file, void *priv, struct v4l2_modulato= r *a); -int vidioc_s_modulator(struct file *file, void *priv, const struct v4l2_mo= dulator *a); +int vidioc_g_modulator(struct file *file, struct video_device_state *state, + struct v4l2_modulator *a); +int vidioc_s_modulator(struct file *file, struct video_device_state *state, + const struct v4l2_modulator *a); =20 #endif diff --git a/drivers/media/test-drivers/vivid/vivid-sdr-cap.c b/drivers/med= ia/test-drivers/vivid/vivid-sdr-cap.c index 2664a593e8e1b5b03b0aec03169359c238cca205..0a8b78f423ba56425b917491bb1= cfa256a558137 100644 --- a/drivers/media/test-drivers/vivid/vivid-sdr-cap.c +++ b/drivers/media/test-drivers/vivid/vivid-sdr-cap.c @@ -344,7 +344,8 @@ const struct vb2_ops vivid_sdr_cap_qops =3D { .buf_request_complete =3D sdr_cap_buf_request_complete, }; =20 -int vivid_sdr_enum_freq_bands(struct file *file, void *priv, +int vivid_sdr_enum_freq_bands(struct file *file, + struct video_device_state *state, struct v4l2_frequency_band *band) { switch (band->tuner) { @@ -363,8 +364,8 @@ int vivid_sdr_enum_freq_bands(struct file *file, void *= priv, } } =20 -int vivid_sdr_g_frequency(struct file *file, void *priv, - struct v4l2_frequency *vf) +int vivid_sdr_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *vf) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -382,7 +383,8 @@ int vivid_sdr_g_frequency(struct file *file, void *priv, } } =20 -int vivid_sdr_s_frequency(struct file *file, void *priv, +int vivid_sdr_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *vf) { struct vivid_dev *dev =3D video_drvdata(file); @@ -423,7 +425,8 @@ int vivid_sdr_s_frequency(struct file *file, void *priv, } } =20 -int vivid_sdr_g_tuner(struct file *file, void *priv, struct v4l2_tuner *vt) +int vivid_sdr_g_tuner(struct file *file, struct video_device_state *state, + struct v4l2_tuner *vt) { switch (vt->index) { case 0: @@ -447,14 +450,17 @@ int vivid_sdr_g_tuner(struct file *file, void *priv, = struct v4l2_tuner *vt) } } =20 -int vivid_sdr_s_tuner(struct file *file, void *priv, const struct v4l2_tun= er *vt) +int vivid_sdr_s_tuner(struct file *file, struct video_device_state *state, + const struct v4l2_tuner *vt) { if (vt->index > 1) return -EINVAL; return 0; } =20 -int vidioc_enum_fmt_sdr_cap(struct file *file, void *priv, struct v4l2_fmt= desc *f) +int vidioc_enum_fmt_sdr_cap(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f) { if (f->index >=3D ARRAY_SIZE(formats)) return -EINVAL; @@ -462,7 +468,8 @@ int vidioc_enum_fmt_sdr_cap(struct file *file, void *pr= iv, struct v4l2_fmtdesc * return 0; } =20 -int vidioc_g_fmt_sdr_cap(struct file *file, void *priv, struct v4l2_format= *f) +int vidioc_g_fmt_sdr_cap(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -471,7 +478,8 @@ int vidioc_g_fmt_sdr_cap(struct file *file, void *priv,= struct v4l2_format *f) return 0; } =20 -int vidioc_s_fmt_sdr_cap(struct file *file, void *priv, struct v4l2_format= *f) +int vidioc_s_fmt_sdr_cap(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); struct vb2_queue *q =3D &dev->vb_sdr_cap_q; @@ -495,7 +503,9 @@ int vidioc_s_fmt_sdr_cap(struct file *file, void *priv,= struct v4l2_format *f) return 0; } =20 -int vidioc_try_fmt_sdr_cap(struct file *file, void *priv, struct v4l2_form= at *f) +int vidioc_try_fmt_sdr_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { int i; =20 diff --git a/drivers/media/test-drivers/vivid/vivid-sdr-cap.h b/drivers/med= ia/test-drivers/vivid/vivid-sdr-cap.h index 3d8eeabbfc1073e6aab1ce493442a4ae10b36369..55417622cf6c8bf2166abcb7c65= e0a346e0ec5bb 100644 --- a/drivers/media/test-drivers/vivid/vivid-sdr-cap.h +++ b/drivers/media/test-drivers/vivid/vivid-sdr-cap.h @@ -8,15 +8,27 @@ #ifndef _VIVID_SDR_CAP_H_ #define _VIVID_SDR_CAP_H_ =20 -int vivid_sdr_enum_freq_bands(struct file *file, void *priv, struct v4l2_f= requency_band *band); -int vivid_sdr_g_frequency(struct file *file, void *priv, struct v4l2_frequ= ency *vf); -int vivid_sdr_s_frequency(struct file *file, void *priv, const struct v4l2= _frequency *vf); -int vivid_sdr_g_tuner(struct file *file, void *priv, struct v4l2_tuner *vt= ); -int vivid_sdr_s_tuner(struct file *file, void *priv, const struct v4l2_tun= er *vt); -int vidioc_enum_fmt_sdr_cap(struct file *file, void *priv, struct v4l2_fmt= desc *f); -int vidioc_g_fmt_sdr_cap(struct file *file, void *priv, struct v4l2_format= *f); -int vidioc_s_fmt_sdr_cap(struct file *file, void *priv, struct v4l2_format= *f); -int vidioc_try_fmt_sdr_cap(struct file *file, void *priv, struct v4l2_form= at *f); +int vivid_sdr_enum_freq_bands(struct file *file, + struct video_device_state *state, + struct v4l2_frequency_band *band); +int vivid_sdr_g_frequency(struct file *file, struct video_device_state *st= ate, + struct v4l2_frequency *vf); +int vivid_sdr_s_frequency(struct file *file, struct video_device_state *st= ate, + const struct v4l2_frequency *vf); +int vivid_sdr_g_tuner(struct file *file, struct video_device_state *state, + struct v4l2_tuner *vt); +int vivid_sdr_s_tuner(struct file *file, struct video_device_state *state, + const struct v4l2_tuner *vt); +int vidioc_enum_fmt_sdr_cap(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f); +int vidioc_g_fmt_sdr_cap(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f); +int vidioc_s_fmt_sdr_cap(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f); +int vidioc_try_fmt_sdr_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f); void vivid_sdr_cap_process(struct vivid_dev *dev, struct vivid_buffer *buf= ); =20 extern const struct vb2_ops vivid_sdr_cap_qops; diff --git a/drivers/media/test-drivers/vivid/vivid-touch-cap.c b/drivers/m= edia/test-drivers/vivid/vivid-touch-cap.c index 36a781fa17bc3daaf1d949a7f1c94ebb9aecb7c0..e246d7006913e959089d7bff84f= beb9f3eb3cb13 100644 --- a/drivers/media/test-drivers/vivid/vivid-touch-cap.c +++ b/drivers/media/test-drivers/vivid/vivid-touch-cap.c @@ -112,7 +112,8 @@ const struct vb2_ops vivid_touch_cap_qops =3D { .buf_request_complete =3D touch_cap_buf_request_complete, }; =20 -int vivid_enum_fmt_tch(struct file *file, void *priv, struct v4l2_fmtdesc= *f) +int vivid_enum_fmt_tch(struct file *file, struct video_device_state *state, + struct v4l2_fmtdesc *f) { if (f->index) return -EINVAL; @@ -121,7 +122,8 @@ int vivid_enum_fmt_tch(struct file *file, void *priv, = struct v4l2_fmtdesc *f) return 0; } =20 -int vivid_g_fmt_tch(struct file *file, void *priv, struct v4l2_format *f) +int vivid_g_fmt_tch(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -131,7 +133,9 @@ int vivid_g_fmt_tch(struct file *file, void *priv, stru= ct v4l2_format *f) return 0; } =20 -int vivid_g_fmt_tch_mplane(struct file *file, void *priv, struct v4l2_form= at *f) +int vivid_g_fmt_tch_mplane(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); struct v4l2_format sp_fmt; @@ -144,7 +148,8 @@ int vivid_g_fmt_tch_mplane(struct file *file, void *pri= v, struct v4l2_format *f) return 0; } =20 -int vivid_g_parm_tch(struct file *file, void *priv, +int vivid_g_parm_tch(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct vivid_dev *dev =3D video_drvdata(file); @@ -160,7 +165,8 @@ int vivid_g_parm_tch(struct file *file, void *priv, return 0; } =20 -int vivid_enum_input_tch(struct file *file, void *priv, struct v4l2_input = *inp) +int vivid_enum_input_tch(struct file *file, struct video_device_state *sta= te, + struct v4l2_input *inp) { if (inp->index) return -EINVAL; @@ -171,7 +177,8 @@ int vivid_enum_input_tch(struct file *file, void *priv,= struct v4l2_input *inp) return 0; } =20 -int vivid_g_input_tch(struct file *file, void *priv, unsigned int *i) +int vivid_g_input_tch(struct file *file, struct video_device_state *state, + unsigned int *i) { *i =3D 0; return 0; @@ -194,7 +201,8 @@ int vivid_set_touch(struct vivid_dev *dev, unsigned int= i) return 0; } =20 -int vivid_s_input_tch(struct file *file, void *priv, unsigned int i) +int vivid_s_input_tch(struct file *file, struct video_device_state *state, + unsigned int i) { return vivid_set_touch(video_drvdata(file), i); } diff --git a/drivers/media/test-drivers/vivid/vivid-touch-cap.h b/drivers/m= edia/test-drivers/vivid/vivid-touch-cap.h index 07e514046ae80f1347aec00f1da1cdaa7acc4721..19dd5cb343fc67815d3c3b84d30= ed99c634167a3 100644 --- a/drivers/media/test-drivers/vivid/vivid-touch-cap.h +++ b/drivers/media/test-drivers/vivid/vivid-touch-cap.h @@ -26,14 +26,22 @@ enum vivid_tch_test { =20 extern const struct vb2_ops vivid_touch_cap_qops; =20 -int vivid_enum_fmt_tch(struct file *file, void *priv, struct v4l2_fmtdesc= *f); -int vivid_g_fmt_tch(struct file *file, void *priv, struct v4l2_format *f); -int vivid_g_fmt_tch_mplane(struct file *file, void *priv, struct v4l2_form= at *f); -int vivid_enum_input_tch(struct file *file, void *priv, struct v4l2_input = *inp); -int vivid_g_input_tch(struct file *file, void *priv, unsigned int *i); -int vivid_s_input_tch(struct file *file, void *priv, unsigned int i); +int vivid_enum_fmt_tch(struct file *file, struct video_device_state *state, + struct v4l2_fmtdesc *f); +int vivid_g_fmt_tch(struct file *file, struct video_device_state *state, + struct v4l2_format *f); +int vivid_g_fmt_tch_mplane(struct file *file, + struct video_device_state *state, + struct v4l2_format *f); +int vivid_enum_input_tch(struct file *file, struct video_device_state *sta= te, + struct v4l2_input *inp); +int vivid_g_input_tch(struct file *file, struct video_device_state *state, + unsigned int *i); +int vivid_s_input_tch(struct file *file, struct video_device_state *state, + unsigned int i); void vivid_fillbuff_tch(struct vivid_dev *dev, struct vivid_buffer *buf); int vivid_set_touch(struct vivid_dev *dev, unsigned int i); -int vivid_g_parm_tch(struct file *file, void *priv, +int vivid_g_parm_tch(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm); #endif diff --git a/drivers/media/test-drivers/vivid/vivid-vbi-cap.c b/drivers/med= ia/test-drivers/vivid/vivid-vbi-cap.c index 791382a54b4f0a111cf32a4dca82e57a8c1c2da9..fa2fc5613fd8df12886a985da70= dda65183b012e 100644 --- a/drivers/media/test-drivers/vivid/vivid-vbi-cap.c +++ b/drivers/media/test-drivers/vivid/vivid-vbi-cap.c @@ -232,7 +232,8 @@ const struct vb2_ops vivid_vbi_cap_qops =3D { .buf_request_complete =3D vbi_cap_buf_request_complete, }; =20 -int vidioc_g_fmt_vbi_cap(struct file *file, void *priv, +int vidioc_g_fmt_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); @@ -245,11 +246,12 @@ int vidioc_g_fmt_vbi_cap(struct file *file, void *pri= v, return 0; } =20 -int vidioc_s_fmt_vbi_cap(struct file *file, void *priv, +int vidioc_s_fmt_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); - int ret =3D vidioc_g_fmt_vbi_cap(file, priv, f); + int ret =3D vidioc_g_fmt_vbi_cap(file, state, f); =20 if (ret) return ret; @@ -282,7 +284,9 @@ void vivid_fill_service_lines(struct v4l2_sliced_vbi_fo= rmat *vbi, u32 service_se } } =20 -int vidioc_g_fmt_sliced_vbi_cap(struct file *file, void *priv, struct v4l2= _format *fmt) +int vidioc_g_fmt_sliced_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct vivid_dev *dev =3D video_drvdata(file); struct v4l2_sliced_vbi_format *vbi =3D &fmt->fmt.sliced; @@ -294,7 +298,9 @@ int vidioc_g_fmt_sliced_vbi_cap(struct file *file, void= *priv, struct v4l2_forma return 0; } =20 -int vidioc_try_fmt_sliced_vbi_cap(struct file *file, void *priv, struct v4= l2_format *fmt) +int vidioc_try_fmt_sliced_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct vivid_dev *dev =3D video_drvdata(file); struct v4l2_sliced_vbi_format *vbi =3D &fmt->fmt.sliced; @@ -310,11 +316,13 @@ int vidioc_try_fmt_sliced_vbi_cap(struct file *file, = void *priv, struct v4l2_for return 0; } =20 -int vidioc_s_fmt_sliced_vbi_cap(struct file *file, void *priv, struct v4l2= _format *fmt) +int vidioc_s_fmt_sliced_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct vivid_dev *dev =3D video_drvdata(file); struct v4l2_sliced_vbi_format *vbi =3D &fmt->fmt.sliced; - int ret =3D vidioc_try_fmt_sliced_vbi_cap(file, priv, fmt); + int ret =3D vidioc_try_fmt_sliced_vbi_cap(file, state, fmt); =20 if (ret) return ret; @@ -324,7 +332,9 @@ int vidioc_s_fmt_sliced_vbi_cap(struct file *file, void= *priv, struct v4l2_forma return 0; } =20 -int vidioc_g_sliced_vbi_cap(struct file *file, void *priv, struct v4l2_sli= ced_vbi_cap *cap) +int vidioc_g_sliced_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_sliced_vbi_cap *cap) { struct vivid_dev *dev =3D video_drvdata(file); struct video_device *vdev =3D video_devdata(file); diff --git a/drivers/media/test-drivers/vivid/vivid-vbi-cap.h b/drivers/med= ia/test-drivers/vivid/vivid-vbi-cap.h index ec2d200c9e0d3506abf12e198ff4c308fdf68f90..054a939863aad7d30be10ed1325= 6583a4fe0227e 100644 --- a/drivers/media/test-drivers/vivid/vivid-vbi-cap.h +++ b/drivers/media/test-drivers/vivid/vivid-vbi-cap.h @@ -12,14 +12,24 @@ void vivid_fill_time_of_day_packet(u8 *packet); void vivid_raw_vbi_cap_process(struct vivid_dev *dev, struct vivid_buffer = *buf); void vivid_sliced_vbi_cap_process(struct vivid_dev *dev, struct vivid_buff= er *buf); void vivid_sliced_vbi_out_process(struct vivid_dev *dev, struct vivid_buff= er *buf); -int vidioc_g_fmt_vbi_cap(struct file *file, void *priv, +int vidioc_g_fmt_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f); -int vidioc_s_fmt_vbi_cap(struct file *file, void *priv, +int vidioc_s_fmt_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f); -int vidioc_g_fmt_sliced_vbi_cap(struct file *file, void *priv, struct v4l2= _format *fmt); -int vidioc_try_fmt_sliced_vbi_cap(struct file *file, void *priv, struct v4= l2_format *fmt); -int vidioc_s_fmt_sliced_vbi_cap(struct file *file, void *priv, struct v4l2= _format *fmt); -int vidioc_g_sliced_vbi_cap(struct file *file, void *priv, struct v4l2_sli= ced_vbi_cap *cap); +int vidioc_g_fmt_sliced_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt); +int vidioc_try_fmt_sliced_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt); +int vidioc_s_fmt_sliced_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt); +int vidioc_g_sliced_vbi_cap(struct file *file, + struct video_device_state *state, + struct v4l2_sliced_vbi_cap *cap); =20 void vivid_fill_service_lines(struct v4l2_sliced_vbi_format *vbi, u32 serv= ice_set); =20 diff --git a/drivers/media/test-drivers/vivid/vivid-vbi-out.c b/drivers/med= ia/test-drivers/vivid/vivid-vbi-out.c index 7b3ea96744bb04e37644bc288c5879ac2812fbb3..c7396b7c199bded792fc20a575d= b30f4a0b8a234 100644 --- a/drivers/media/test-drivers/vivid/vivid-vbi-out.c +++ b/drivers/media/test-drivers/vivid/vivid-vbi-out.c @@ -130,7 +130,8 @@ const struct vb2_ops vivid_vbi_out_qops =3D { .buf_request_complete =3D vbi_out_buf_request_complete, }; =20 -int vidioc_g_fmt_vbi_out(struct file *file, void *priv, +int vidioc_g_fmt_vbi_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); @@ -153,11 +154,12 @@ int vidioc_g_fmt_vbi_out(struct file *file, void *pri= v, return 0; } =20 -int vidioc_s_fmt_vbi_out(struct file *file, void *priv, +int vidioc_s_fmt_vbi_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); - int ret =3D vidioc_g_fmt_vbi_out(file, priv, f); + int ret =3D vidioc_g_fmt_vbi_out(file, state, f); =20 if (ret) return ret; @@ -168,7 +170,9 @@ int vidioc_s_fmt_vbi_out(struct file *file, void *priv, return 0; } =20 -int vidioc_g_fmt_sliced_vbi_out(struct file *file, void *priv, struct v4l2= _format *fmt) +int vidioc_g_fmt_sliced_vbi_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct vivid_dev *dev =3D video_drvdata(file); struct v4l2_sliced_vbi_format *vbi =3D &fmt->fmt.sliced; @@ -180,7 +184,9 @@ int vidioc_g_fmt_sliced_vbi_out(struct file *file, void= *priv, struct v4l2_forma return 0; } =20 -int vidioc_try_fmt_sliced_vbi_out(struct file *file, void *priv, struct v4= l2_format *fmt) +int vidioc_try_fmt_sliced_vbi_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt) { struct vivid_dev *dev =3D video_drvdata(file); struct v4l2_sliced_vbi_format *vbi =3D &fmt->fmt.sliced; @@ -196,12 +202,12 @@ int vidioc_try_fmt_sliced_vbi_out(struct file *file, = void *priv, struct v4l2_for return 0; } =20 -int vidioc_s_fmt_sliced_vbi_out(struct file *file, void *priv, - struct v4l2_format *fmt) +int vidioc_s_fmt_sliced_vbi_out(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct vivid_dev *dev =3D video_drvdata(file); struct v4l2_sliced_vbi_format *vbi =3D &fmt->fmt.sliced; - int ret =3D vidioc_try_fmt_sliced_vbi_out(file, priv, fmt); + int ret =3D vidioc_try_fmt_sliced_vbi_out(file, state, fmt); =20 if (ret) return ret; diff --git a/drivers/media/test-drivers/vivid/vivid-vbi-out.h b/drivers/med= ia/test-drivers/vivid/vivid-vbi-out.h index a28e55519ade286066d38732ca6815786e18ff90..9759860f9bb1600c71b02314c12= f6d54faf2425d 100644 --- a/drivers/media/test-drivers/vivid/vivid-vbi-out.h +++ b/drivers/media/test-drivers/vivid/vivid-vbi-out.h @@ -9,13 +9,21 @@ #define _VIVID_VBI_OUT_H_ =20 void vivid_sliced_vbi_out_process(struct vivid_dev *dev, struct vivid_buff= er *buf); -int vidioc_g_fmt_vbi_out(struct file *file, void *priv, +int vidioc_g_fmt_vbi_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f); -int vidioc_s_fmt_vbi_out(struct file *file, void *priv, +int vidioc_s_fmt_vbi_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f); -int vidioc_g_fmt_sliced_vbi_out(struct file *file, void *priv, struct v4l2= _format *fmt); -int vidioc_try_fmt_sliced_vbi_out(struct file *file, void *priv, struct v4= l2_format *fmt); -int vidioc_s_fmt_sliced_vbi_out(struct file *file, void *priv, struct v4l2= _format *fmt); +int vidioc_g_fmt_sliced_vbi_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt); +int vidioc_try_fmt_sliced_vbi_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt); +int vidioc_s_fmt_sliced_vbi_out(struct file *file, + struct video_device_state *state, + struct v4l2_format *fmt); =20 extern const struct vb2_ops vivid_vbi_out_qops; =20 diff --git a/drivers/media/test-drivers/vivid/vivid-vid-cap.c b/drivers/med= ia/test-drivers/vivid/vivid-vid-cap.c index 8b3162e8203271e7708b4b8a7389da9873aff40c..094cbd5792448cc89d455fcae8e= fd05a769c09fc 100644 --- a/drivers/media/test-drivers/vivid/vivid-vid-cap.c +++ b/drivers/media/test-drivers/vivid/vivid-vid-cap.c @@ -518,7 +518,8 @@ static unsigned vivid_quantization_cap(struct vivid_dev= *dev) return dev->quantization_out; } =20 -int vivid_g_fmt_vid_cap(struct file *file, void *priv, +int vivid_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); @@ -547,7 +548,8 @@ int vivid_g_fmt_vid_cap(struct file *file, void *priv, return 0; } =20 -int vivid_try_fmt_vid_cap(struct file *file, void *priv, +int vivid_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct v4l2_pix_format_mplane *mp =3D &f->fmt.pix_mp; @@ -660,7 +662,8 @@ int vivid_try_fmt_vid_cap(struct file *file, void *priv, return 0; } =20 -int vivid_s_fmt_vid_cap(struct file *file, void *priv, +int vivid_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct v4l2_pix_format_mplane *mp =3D &f->fmt.pix_mp; @@ -668,7 +671,7 @@ int vivid_s_fmt_vid_cap(struct file *file, void *priv, struct v4l2_rect *crop =3D &dev->crop_cap; struct v4l2_rect *compose =3D &dev->compose_cap; struct vb2_queue *q =3D &dev->vb_vid_cap_q; - int ret =3D vivid_try_fmt_vid_cap(file, priv, f); + int ret =3D vivid_try_fmt_vid_cap(file, state, f); unsigned factor =3D 1; unsigned p; unsigned i; @@ -793,67 +796,74 @@ int vivid_s_fmt_vid_cap(struct file *file, void *priv, return 0; } =20 -int vidioc_g_fmt_vid_cap_mplane(struct file *file, void *priv, +int vidioc_g_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 if (!dev->multiplanar) return -ENOTTY; - return vivid_g_fmt_vid_cap(file, priv, f); + return vivid_g_fmt_vid_cap(file, state, f); } =20 -int vidioc_try_fmt_vid_cap_mplane(struct file *file, void *priv, +int vidioc_try_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 if (!dev->multiplanar) return -ENOTTY; - return vivid_try_fmt_vid_cap(file, priv, f); + return vivid_try_fmt_vid_cap(file, state, f); } =20 -int vidioc_s_fmt_vid_cap_mplane(struct file *file, void *priv, +int vidioc_s_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 if (!dev->multiplanar) return -ENOTTY; - return vivid_s_fmt_vid_cap(file, priv, f); + return vivid_s_fmt_vid_cap(file, state, f); } =20 -int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 if (dev->multiplanar) return -ENOTTY; - return fmt_sp2mp_func(file, priv, f, vivid_g_fmt_vid_cap); + return fmt_sp2mp_func(file, state, f, vivid_g_fmt_vid_cap); } =20 -int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 if (dev->multiplanar) return -ENOTTY; - return fmt_sp2mp_func(file, priv, f, vivid_try_fmt_vid_cap); + return fmt_sp2mp_func(file, state, f, vivid_try_fmt_vid_cap); } =20 -int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 if (dev->multiplanar) return -ENOTTY; - return fmt_sp2mp_func(file, priv, f, vivid_s_fmt_vid_cap); + return fmt_sp2mp_func(file, state, f, vivid_s_fmt_vid_cap); } =20 -int vivid_vid_cap_g_selection(struct file *file, void *priv, +int vivid_vid_cap_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct vivid_dev *dev =3D video_drvdata(file); @@ -899,7 +909,9 @@ int vivid_vid_cap_g_selection(struct file *file, void *= priv, return 0; } =20 -int vivid_vid_cap_s_selection(struct file *file, void *priv, struct v4l2_s= election *s) +int vivid_vid_cap_s_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s) { struct vivid_dev *dev =3D video_drvdata(file); struct v4l2_rect *crop =3D &dev->crop_cap; @@ -1031,8 +1043,9 @@ int vivid_vid_cap_s_selection(struct file *file, void= *priv, struct v4l2_selecti return 0; } =20 -int vivid_vid_cap_g_pixelaspect(struct file *file, void *priv, - int type, struct v4l2_fract *f) +int vivid_vid_cap_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -1059,7 +1072,8 @@ static const struct v4l2_audio vivid_audio_inputs[] = =3D { { 1, "Line-In", V4L2_AUDCAP_STEREO }, }; =20 -int vidioc_enum_input(struct file *file, void *priv, +int vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { struct vivid_dev *dev =3D video_drvdata(file); @@ -1128,7 +1142,8 @@ int vidioc_enum_input(struct file *file, void *priv, return 0; } =20 -int vidioc_g_input(struct file *file, void *priv, unsigned *i) +int vidioc_g_input(struct file *file, struct video_device_state *state, + unsigned int *i) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -1136,7 +1151,8 @@ int vidioc_g_input(struct file *file, void *priv, uns= igned *i) return 0; } =20 -int vidioc_s_input(struct file *file, void *priv, unsigned i) +int vidioc_s_input(struct file *file, struct video_device_state *state, + unsigned int i) { struct vivid_dev *dev =3D video_drvdata(file); struct v4l2_bt_timings *bt =3D &dev->dv_timings_cap[dev->input].bt; @@ -1222,7 +1238,8 @@ int vidioc_s_input(struct file *file, void *priv, uns= igned i) return 0; } =20 -int vidioc_enumaudio(struct file *file, void *priv, struct v4l2_audio *vin) +int vidioc_enumaudio(struct file *file, struct video_device_state *state, + struct v4l2_audio *vin) { if (vin->index >=3D ARRAY_SIZE(vivid_audio_inputs)) return -EINVAL; @@ -1230,7 +1247,8 @@ int vidioc_enumaudio(struct file *file, void *priv, s= truct v4l2_audio *vin) return 0; } =20 -int vidioc_g_audio(struct file *file, void *priv, struct v4l2_audio *vin) +int vidioc_g_audio(struct file *file, struct video_device_state *state, + struct v4l2_audio *vin) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -1240,7 +1258,8 @@ int vidioc_g_audio(struct file *file, void *priv, str= uct v4l2_audio *vin) return 0; } =20 -int vidioc_s_audio(struct file *file, void *priv, const struct v4l2_audio = *vin) +int vidioc_s_audio(struct file *file, struct video_device_state *state, + const struct v4l2_audio *vin) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -1252,7 +1271,9 @@ int vidioc_s_audio(struct file *file, void *priv, con= st struct v4l2_audio *vin) return 0; } =20 -int vivid_video_g_frequency(struct file *file, void *priv, struct v4l2_fre= quency *vf) +int vivid_video_g_frequency(struct file *file, + struct video_device_state *state, + struct v4l2_frequency *vf) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -1262,7 +1283,9 @@ int vivid_video_g_frequency(struct file *file, void *= priv, struct v4l2_frequency return 0; } =20 -int vivid_video_s_frequency(struct file *file, void *priv, const struct v4= l2_frequency *vf) +int vivid_video_s_frequency(struct file *file, + struct video_device_state *state, + const struct v4l2_frequency *vf) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -1274,7 +1297,8 @@ int vivid_video_s_frequency(struct file *file, void *= priv, const struct v4l2_fre return 0; } =20 -int vivid_video_s_tuner(struct file *file, void *priv, const struct v4l2_t= uner *vt) +int vivid_video_s_tuner(struct file *file, struct video_device_state *stat= e, + const struct v4l2_tuner *vt) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -1286,7 +1310,8 @@ int vivid_video_s_tuner(struct file *file, void *priv= , const struct v4l2_tuner * return 0; } =20 -int vivid_video_g_tuner(struct file *file, void *priv, struct v4l2_tuner *= vt) +int vivid_video_g_tuner(struct file *file, struct video_device_state *stat= e, + struct v4l2_tuner *vt) { struct vivid_dev *dev =3D video_drvdata(file); enum tpg_quality qual; @@ -1377,7 +1402,8 @@ const char * const vivid_ctrl_standard_strings[] =3D { NULL, }; =20 -int vidioc_querystd(struct file *file, void *priv, v4l2_std_id *id) +int vidioc_querystd(struct file *file, struct video_device_state *state, + v4l2_std_id *id) { struct vivid_dev *dev =3D video_drvdata(file); unsigned int last =3D dev->query_std_last[dev->input]; @@ -1404,7 +1430,8 @@ int vidioc_querystd(struct file *file, void *priv, v4= l2_std_id *id) return 0; } =20 -int vivid_vid_cap_s_std(struct file *file, void *priv, v4l2_std_id id) +int vivid_vid_cap_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id id) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -1490,7 +1517,8 @@ static bool valid_cvt_gtf_timings(struct v4l2_dv_timi= ngs *timings) return false; } =20 -int vivid_vid_cap_s_dv_timings(struct file *file, void *priv, +int vivid_vid_cap_s_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct vivid_dev *dev =3D video_drvdata(file); @@ -1513,7 +1541,8 @@ int vivid_vid_cap_s_dv_timings(struct file *file, voi= d *priv, return 0; } =20 -int vidioc_query_dv_timings(struct file *file, void *priv, +int vidioc_query_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct vivid_dev *dev =3D video_drvdata(file); @@ -1600,7 +1629,8 @@ void vivid_update_connected_outputs(struct vivid_dev = *dev) } } =20 -int vidioc_s_edid(struct file *file, void *priv, +int vidioc_s_edid(struct file *file, + struct video_device_state *state, struct v4l2_edid *edid) { struct vivid_dev *dev =3D video_drvdata(file); @@ -1638,7 +1668,8 @@ int vidioc_s_edid(struct file *file, void *priv, return 0; } =20 -int vidioc_enum_framesizes(struct file *file, void *priv, +int vidioc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct vivid_dev *dev =3D video_drvdata(file); @@ -1667,7 +1698,8 @@ int vidioc_enum_framesizes(struct file *file, void *p= riv, } =20 /* timeperframe is arbitrary and continuous */ -int vidioc_enum_frameintervals(struct file *file, void *priv, +int vidioc_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fival) { struct vivid_dev *dev =3D video_drvdata(file); @@ -1703,7 +1735,8 @@ int vidioc_enum_frameintervals(struct file *file, voi= d *priv, return 0; } =20 -int vivid_vid_cap_g_parm(struct file *file, void *priv, +int vivid_vid_cap_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct vivid_dev *dev =3D video_drvdata(file); @@ -1719,7 +1752,8 @@ int vivid_vid_cap_g_parm(struct file *file, void *pri= v, return 0; } =20 -int vivid_vid_cap_s_parm(struct file *file, void *priv, +int vivid_vid_cap_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct vivid_dev *dev =3D video_drvdata(file); @@ -1732,7 +1766,7 @@ int vivid_vid_cap_s_parm(struct file *file, void *pri= v, V4L2_BUF_TYPE_VIDEO_CAPTURE)) return -EINVAL; if (!vivid_is_webcam(dev)) - return vivid_vid_cap_g_parm(file, priv, parm); + return vivid_vid_cap_g_parm(file, state, parm); =20 tpf =3D parm->parm.capture.timeperframe; =20 diff --git a/drivers/media/test-drivers/vivid/vivid-vid-cap.h b/drivers/med= ia/test-drivers/vivid/vivid-vid-cap.h index 38a99f7e038eaa13477d5ce8ff7d4497b557f905..175cf0d388dc6821414593c9112= fe171953fc8d0 100644 --- a/drivers/media/test-drivers/vivid/vivid-vid-cap.h +++ b/drivers/media/test-drivers/vivid/vivid-vid-cap.h @@ -19,40 +19,87 @@ extern const char * const vivid_ctrl_standard_strings[]; =20 extern const struct vb2_ops vivid_vid_cap_qops; =20 -int vivid_g_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format = *f); -int vivid_try_fmt_vid_cap(struct file *file, void *priv, struct v4l2_forma= t *f); -int vivid_s_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format = *f); -int vidioc_g_fmt_vid_cap_mplane(struct file *file, void *priv, struct v4l2= _format *f); -int vidioc_try_fmt_vid_cap_mplane(struct file *file, void *priv, struct v4= l2_format *f); -int vidioc_s_fmt_vid_cap_mplane(struct file *file, void *priv, struct v4l2= _format *f); -int vidioc_g_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format= *f); -int vidioc_try_fmt_vid_cap(struct file *file, void *priv, struct v4l2_form= at *f); -int vidioc_s_fmt_vid_cap(struct file *file, void *priv, struct v4l2_format= *f); -int vivid_vid_cap_g_selection(struct file *file, void *priv, struct v4l2_s= election *sel); -int vivid_vid_cap_s_selection(struct file *file, void *priv, struct v4l2_s= election *s); -int vivid_vid_cap_g_pixelaspect(struct file *file, void *priv, int type, s= truct v4l2_fract *f); -int vidioc_enum_fmt_vid_overlay(struct file *file, void *priv, struct v4l= 2_fmtdesc *f); -int vidioc_g_fmt_vid_overlay(struct file *file, void *priv, struct v4l2_fo= rmat *f); -int vidioc_try_fmt_vid_overlay(struct file *file, void *priv, struct v4l2_= format *f); -int vidioc_s_fmt_vid_overlay(struct file *file, void *priv, struct v4l2_fo= rmat *f); -int vidioc_enum_input(struct file *file, void *priv, struct v4l2_input *in= p); -int vidioc_g_input(struct file *file, void *priv, unsigned *i); -int vidioc_s_input(struct file *file, void *priv, unsigned i); -int vidioc_enumaudio(struct file *file, void *priv, struct v4l2_audio *vin= ); -int vidioc_g_audio(struct file *file, void *priv, struct v4l2_audio *vin); -int vidioc_s_audio(struct file *file, void *priv, const struct v4l2_audio = *vin); -int vivid_video_g_frequency(struct file *file, void *priv, struct v4l2_fre= quency *vf); -int vivid_video_s_frequency(struct file *file, void *priv, const struct v4= l2_frequency *vf); -int vivid_video_s_tuner(struct file *file, void *priv, const struct v4l2_t= uner *vt); -int vivid_video_g_tuner(struct file *file, void *priv, struct v4l2_tuner *= vt); -int vidioc_querystd(struct file *file, void *priv, v4l2_std_id *id); -int vivid_vid_cap_s_std(struct file *file, void *priv, v4l2_std_id id); -int vivid_vid_cap_s_dv_timings(struct file *file, void *priv, struct v4l2_= dv_timings *timings); -int vidioc_query_dv_timings(struct file *file, void *priv, struct v4l2_dv_= timings *timings); -int vidioc_s_edid(struct file *file, void *priv, struct v4l2_edid *edid); -int vidioc_enum_framesizes(struct file *file, void *priv, struct v4l2_frms= izeenum *fsize); -int vidioc_enum_frameintervals(struct file *file, void *priv, struct v4l2_= frmivalenum *fival); -int vivid_vid_cap_g_parm(struct file *file, void *priv, struct v4l2_stream= parm *parm); -int vivid_vid_cap_s_parm(struct file *file, void *priv, struct v4l2_stream= parm *parm); +int vivid_g_fmt_vid_cap(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f); +int vivid_try_fmt_vid_cap(struct file *file, struct video_device_state *st= ate, + struct v4l2_format *f); +int vivid_s_fmt_vid_cap(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f); +int vidioc_g_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, + struct v4l2_format *f); +int vidioc_try_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, + struct v4l2_format *f); +int vidioc_s_fmt_vid_cap_mplane(struct file *file, + struct video_device_state *state, + struct v4l2_format *f); +int vidioc_g_fmt_vid_cap(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f); +int vidioc_try_fmt_vid_cap(struct file *file, struct video_device_state *s= tate, + struct v4l2_format *f); +int vidioc_s_fmt_vid_cap(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f); +int vivid_vid_cap_g_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *sel); +int vivid_vid_cap_s_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s); +int vivid_vid_cap_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f); +int vidioc_enum_fmt_vid_overlay(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f); +int vidioc_g_fmt_vid_overlay(struct file *file, + struct video_device_state *state, + struct v4l2_format *f); +int vidioc_try_fmt_vid_overlay(struct file *file, + struct video_device_state *state, + struct v4l2_format *f); +int vidioc_s_fmt_vid_overlay(struct file *file, + struct video_device_state *state, + struct v4l2_format *f); +int vidioc_enum_input(struct file *file, struct video_device_state *state, + struct v4l2_input *inp); +int vidioc_g_input(struct file *file, struct video_device_state *state, + unsigned int *i); +int vidioc_s_input(struct file *file, struct video_device_state *state, + unsigned int i); +int vidioc_enumaudio(struct file *file, struct video_device_state *state, + struct v4l2_audio *vin); +int vidioc_g_audio(struct file *file, struct video_device_state *state, + struct v4l2_audio *vin); +int vidioc_s_audio(struct file *file, struct video_device_state *state, + const struct v4l2_audio *vin); +int vivid_video_g_frequency(struct file *file, struct video_device_state *= state, + struct v4l2_frequency *vf); +int vivid_video_s_frequency(struct file *file, struct video_device_state *= state, + const struct v4l2_frequency *vf); +int vivid_video_s_tuner(struct file *file, struct video_device_state *stat= e, + const struct v4l2_tuner *vt); +int vivid_video_g_tuner(struct file *file, struct video_device_state *stat= e, + struct v4l2_tuner *vt); +int vidioc_querystd(struct file *file, struct video_device_state *state, + v4l2_std_id *id); +int vivid_vid_cap_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id id); +int vivid_vid_cap_s_dv_timings(struct file *file, + struct video_device_state *state, + struct v4l2_dv_timings *timings); +int vidioc_query_dv_timings(struct file *file, struct video_device_state *= state, + struct v4l2_dv_timings *timings); +int vidioc_s_edid(struct file *file, struct video_device_state *state, + struct v4l2_edid *edid); +int vidioc_enum_framesizes(struct file *file, struct video_device_state *s= tate, + struct v4l2_frmsizeenum *fsize); +int vidioc_enum_frameintervals(struct file *file, + struct video_device_state *state, + struct v4l2_frmivalenum *fival); +int vivid_vid_cap_g_parm(struct file *file, struct video_device_state *sta= te, + struct v4l2_streamparm *parm); +int vivid_vid_cap_s_parm(struct file *file, struct video_device_state *sta= te, + struct v4l2_streamparm *parm); =20 #endif diff --git a/drivers/media/test-drivers/vivid/vivid-vid-common.c b/drivers/= media/test-drivers/vivid/vivid-vid-common.c index 786a1aa3b26b7058a025895ba1b1f4cf03940376..30b7c9d4ff7d7b33d09b5d99276= c0cca4159e054 100644 --- a/drivers/media/test-drivers/vivid/vivid-vid-common.c +++ b/drivers/media/test-drivers/vivid/vivid-vid-common.c @@ -886,8 +886,8 @@ void fmt_sp2mp(const struct v4l2_format *sp_fmt, struct= v4l2_format *mp_fmt) memset(ppix->reserved, 0, sizeof(ppix->reserved)); } =20 -int fmt_sp2mp_func(struct file *file, void *priv, - struct v4l2_format *f, fmtfunc func) +int fmt_sp2mp_func(struct file *file, struct video_device_state *state, st= ruct v4l2_format *f, + fmtfunc func) { struct v4l2_format fmt; struct v4l2_pix_format_mplane *mp =3D &fmt.fmt.pix_mp; @@ -898,7 +898,7 @@ int fmt_sp2mp_func(struct file *file, void *priv, /* Converts to a mplane format */ fmt_sp2mp(f, &fmt); /* Passes it to the generic mplane format function */ - ret =3D func(file, priv, &fmt); + ret =3D func(file, state, &fmt); /* Copies back the mplane data to the single plane format */ pix->width =3D mp->width; pix->height =3D mp->height; @@ -963,7 +963,8 @@ int vivid_vid_adjust_sel(unsigned flags, struct v4l2_re= ct *r) return 0; } =20 -int vivid_enum_fmt_vid(struct file *file, void *priv, +int vivid_enum_fmt_vid(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct vivid_dev *dev =3D video_drvdata(file); @@ -1004,7 +1005,8 @@ int vivid_enum_fmt_vid(struct file *file, void *priv, return 0; } =20 -int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *id) +int vidioc_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *id) { struct vivid_dev *dev =3D video_drvdata(file); struct video_device *vdev =3D video_devdata(file); @@ -1021,7 +1023,8 @@ int vidioc_g_std(struct file *file, void *priv, v4l2_= std_id *id) return 0; } =20 -int vidioc_g_dv_timings(struct file *file, void *priv, +int vidioc_g_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct vivid_dev *dev =3D video_drvdata(file); @@ -1039,7 +1042,8 @@ int vidioc_g_dv_timings(struct file *file, void *priv, return 0; } =20 -int vidioc_enum_dv_timings(struct file *file, void *priv, +int vidioc_enum_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_enum_dv_timings *timings) { struct vivid_dev *dev =3D video_drvdata(file); @@ -1056,7 +1060,8 @@ int vidioc_enum_dv_timings(struct file *file, void *p= riv, NULL, NULL); } =20 -int vidioc_dv_timings_cap(struct file *file, void *priv, +int vidioc_dv_timings_cap(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings_cap *cap) { struct vivid_dev *dev =3D video_drvdata(file); @@ -1073,7 +1078,8 @@ int vidioc_dv_timings_cap(struct file *file, void *pr= iv, return 0; } =20 -int vidioc_g_edid(struct file *file, void *priv, +int vidioc_g_edid(struct file *file, + struct video_device_state *state, struct v4l2_edid *edid) { struct vivid_dev *dev =3D video_drvdata(file); diff --git a/drivers/media/test-drivers/vivid/vivid-vid-common.h b/drivers/= media/test-drivers/vivid/vivid-vid-common.h index fb5878174dba4cc1ed65846f85bca4020cae09cc..00a2ab66eae0b97c4d1a0dc6565= d49682e577c32 100644 --- a/drivers/media/test-drivers/vivid/vivid-vid-common.h +++ b/drivers/media/test-drivers/vivid/vivid-vid-common.h @@ -8,34 +8,44 @@ #ifndef _VIVID_VID_COMMON_H_ #define _VIVID_VID_COMMON_H_ =20 -typedef int (*fmtfunc)(struct file *file, void *priv, struct v4l2_format *= f); +typedef int (*fmtfunc)(struct file *file, struct video_device_state *state, + struct v4l2_format *f); =20 /* * Conversion function that converts a single-planar format to a * single-plane multiplanar format. */ void fmt_sp2mp(const struct v4l2_format *sp_fmt, struct v4l2_format *mp_fm= t); -int fmt_sp2mp_func(struct file *file, void *priv, - struct v4l2_format *f, fmtfunc func); +int fmt_sp2mp_func(struct file *file, struct video_device_state *state, + struct v4l2_format *f, fmtfunc func); =20 extern const struct v4l2_dv_timings_cap vivid_dv_timings_cap; =20 -const struct vivid_fmt *vivid_get_format(struct vivid_dev *dev, u32 pixelf= ormat); +const struct vivid_fmt *vivid_get_format(struct vivid_dev *dev, + u32 pixelformat); =20 struct vivid_dev *vivid_input_is_connected_to(struct vivid_dev *dev); struct vivid_dev *vivid_output_is_connected_to(struct vivid_dev *dev); bool vivid_vid_can_loop(struct vivid_dev *dev); void vivid_send_source_change(struct vivid_dev *dev, unsigned int type); -void vivid_send_input_source_change(struct vivid_dev *dev, unsigned int in= put_index); +void vivid_send_input_source_change(struct vivid_dev *dev, + unsigned int input_index); =20 int vivid_vid_adjust_sel(unsigned flags, struct v4l2_rect *r); =20 -int vivid_enum_fmt_vid(struct file *file, void *priv, struct v4l2_fmtdesc= *f); -int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *id); -int vidioc_g_dv_timings(struct file *file, void *priv, struct v4l2_dv_timi= ngs *timings); -int vidioc_enum_dv_timings(struct file *file, void *priv, struct v4l2_enum= _dv_timings *timings); -int vidioc_dv_timings_cap(struct file *file, void *priv, struct v4l2_dv_ti= mings_cap *cap); -int vidioc_g_edid(struct file *file, void *priv, struct v4l2_edid *edid); -int vidioc_subscribe_event(struct v4l2_fh *fh, const struct v4l2_event_sub= scription *sub); +int vivid_enum_fmt_vid(struct file *file, struct video_device_state *state, + struct v4l2_fmtdesc *f); +int vidioc_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *id); +int vidioc_g_dv_timings(struct file *file, struct video_device_state *stat= e, + struct v4l2_dv_timings *timings); +int vidioc_enum_dv_timings(struct file *file, struct video_device_state *s= tate, + struct v4l2_enum_dv_timings *timings); +int vidioc_dv_timings_cap(struct file *file, struct video_device_state *st= ate, + struct v4l2_dv_timings_cap *cap); +int vidioc_g_edid(struct file *file, struct video_device_state *state, + struct v4l2_edid *edid); +int vidioc_subscribe_event(struct v4l2_fh *fh, + const struct v4l2_event_subscription *sub); =20 #endif diff --git a/drivers/media/test-drivers/vivid/vivid-vid-out.c b/drivers/med= ia/test-drivers/vivid/vivid-vid-out.c index 8c037b90833e74563654a60f8c8ecc292e21151c..bb56490ea4c8a14eabf677a8e16= d9b223503d497 100644 --- a/drivers/media/test-drivers/vivid/vivid-vid-out.c +++ b/drivers/media/test-drivers/vivid/vivid-vid-out.c @@ -308,8 +308,8 @@ static enum tpg_pixel_aspect vivid_get_pixel_aspect(con= st struct vivid_dev *dev) return TPG_PIXEL_ASPECT_SQUARE; } =20 -int vivid_g_fmt_vid_out(struct file *file, void *priv, - struct v4l2_format *f) +int vivid_g_fmt_vid_out(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); struct v4l2_pix_format_mplane *mp =3D &f->fmt.pix_mp; @@ -340,8 +340,8 @@ int vivid_g_fmt_vid_out(struct file *file, void *priv, return 0; } =20 -int vivid_try_fmt_vid_out(struct file *file, void *priv, - struct v4l2_format *f) +int vivid_try_fmt_vid_out(struct file *file, struct video_device_state *st= ate, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); struct v4l2_bt_timings *bt =3D &dev->dv_timings_out.bt; @@ -438,15 +438,15 @@ int vivid_try_fmt_vid_out(struct file *file, void *pr= iv, return 0; } =20 -int vivid_s_fmt_vid_out(struct file *file, void *priv, - struct v4l2_format *f) +int vivid_s_fmt_vid_out(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct v4l2_pix_format_mplane *mp =3D &f->fmt.pix_mp; struct vivid_dev *dev =3D video_drvdata(file); struct v4l2_rect *crop =3D &dev->crop_out; struct v4l2_rect *compose =3D &dev->compose_out; struct vb2_queue *q =3D &dev->vb_vid_out_q; - int ret =3D vivid_try_fmt_vid_out(file, priv, f); + int ret =3D vivid_try_fmt_vid_out(file, state, f); unsigned factor =3D 1; unsigned p; =20 @@ -568,67 +568,70 @@ int vivid_s_fmt_vid_out(struct file *file, void *priv, return 0; } =20 -int vidioc_g_fmt_vid_out_mplane(struct file *file, void *priv, - struct v4l2_format *f) +int vidioc_g_fmt_vid_out_mplane(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 if (!dev->multiplanar) return -ENOTTY; - return vivid_g_fmt_vid_out(file, priv, f); + return vivid_g_fmt_vid_out(file, state, f); } =20 -int vidioc_try_fmt_vid_out_mplane(struct file *file, void *priv, - struct v4l2_format *f) +int vidioc_try_fmt_vid_out_mplane(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 if (!dev->multiplanar) return -ENOTTY; - return vivid_try_fmt_vid_out(file, priv, f); + return vivid_try_fmt_vid_out(file, state, f); } =20 -int vidioc_s_fmt_vid_out_mplane(struct file *file, void *priv, - struct v4l2_format *f) +int vidioc_s_fmt_vid_out_mplane(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 if (!dev->multiplanar) return -ENOTTY; - return vivid_s_fmt_vid_out(file, priv, f); + return vivid_s_fmt_vid_out(file, state, f); } =20 -int vidioc_g_fmt_vid_out(struct file *file, void *priv, - struct v4l2_format *f) +int vidioc_g_fmt_vid_out(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 if (dev->multiplanar) return -ENOTTY; - return fmt_sp2mp_func(file, priv, f, vivid_g_fmt_vid_out); + return fmt_sp2mp_func(file, state, f, vivid_g_fmt_vid_out); } =20 -int vidioc_try_fmt_vid_out(struct file *file, void *priv, - struct v4l2_format *f) +int vidioc_try_fmt_vid_out(struct file *file, struct video_device_state *s= tate, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 if (dev->multiplanar) return -ENOTTY; - return fmt_sp2mp_func(file, priv, f, vivid_try_fmt_vid_out); + return fmt_sp2mp_func(file, state, f, vivid_try_fmt_vid_out); } =20 -int vidioc_s_fmt_vid_out(struct file *file, void *priv, - struct v4l2_format *f) +int vidioc_s_fmt_vid_out(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); =20 if (dev->multiplanar) return -ENOTTY; - return fmt_sp2mp_func(file, priv, f, vivid_s_fmt_vid_out); + return fmt_sp2mp_func(file, state, f, vivid_s_fmt_vid_out); } =20 -int vivid_vid_out_g_selection(struct file *file, void *priv, +int vivid_vid_out_g_selection(struct file *file, struct video_device_state= *state, struct v4l2_selection *sel) { struct vivid_dev *dev =3D video_drvdata(file); @@ -672,7 +675,9 @@ int vivid_vid_out_g_selection(struct file *file, void *= priv, return 0; } =20 -int vivid_vid_out_s_selection(struct file *file, void *priv, struct v4l2_s= election *s) +int vivid_vid_out_s_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s) { struct vivid_dev *dev =3D video_drvdata(file); struct v4l2_rect *crop =3D &dev->crop_out; @@ -798,7 +803,7 @@ int vivid_vid_out_s_selection(struct file *file, void *= priv, struct v4l2_selecti return 0; } =20 -int vivid_vid_out_g_pixelaspect(struct file *file, void *priv, +int vivid_vid_out_g_pixelaspect(struct file *file, struct video_device_sta= te *state, int type, struct v4l2_fract *f) { struct vivid_dev *dev =3D video_drvdata(file); @@ -821,8 +826,9 @@ int vivid_vid_out_g_pixelaspect(struct file *file, void= *priv, return 0; } =20 -int vidioc_g_fmt_vid_out_overlay(struct file *file, void *priv, - struct v4l2_format *f) +int vidioc_g_fmt_vid_out_overlay(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); const struct v4l2_rect *compose =3D &dev->compose_out; @@ -840,8 +846,9 @@ int vidioc_g_fmt_vid_out_overlay(struct file *file, voi= d *priv, return 0; } =20 -int vidioc_try_fmt_vid_out_overlay(struct file *file, void *priv, - struct v4l2_format *f) +int vidioc_try_fmt_vid_out_overlay(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); const struct v4l2_rect *compose =3D &dev->compose_out; @@ -863,12 +870,13 @@ int vidioc_try_fmt_vid_out_overlay(struct file *file,= void *priv, return 0; } =20 -int vidioc_s_fmt_vid_out_overlay(struct file *file, void *priv, - struct v4l2_format *f) +int vidioc_s_fmt_vid_out_overlay(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct vivid_dev *dev =3D video_drvdata(file); struct v4l2_window *win =3D &f->fmt.win; - int ret =3D vidioc_try_fmt_vid_out_overlay(file, priv, f); + int ret =3D vidioc_try_fmt_vid_out_overlay(file, state, f); =20 if (ret) return ret; @@ -880,7 +888,8 @@ int vidioc_s_fmt_vid_out_overlay(struct file *file, voi= d *priv, return ret; } =20 -int vivid_vid_out_overlay(struct file *file, void *priv, unsigned i) +int vivid_vid_out_overlay(struct file *file, struct video_device_state *st= ate, + unsigned int i) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -893,8 +902,8 @@ int vivid_vid_out_overlay(struct file *file, void *priv= , unsigned i) return 0; } =20 -int vivid_vid_out_g_fbuf(struct file *file, void *priv, - struct v4l2_framebuffer *a) +int vivid_vid_out_g_fbuf(struct file *file, struct video_device_state *sta= te, + struct v4l2_framebuffer *a) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -920,8 +929,8 @@ int vivid_vid_out_g_fbuf(struct file *file, void *priv, return 0; } =20 -int vivid_vid_out_s_fbuf(struct file *file, void *priv, - const struct v4l2_framebuffer *a) +int vivid_vid_out_s_fbuf(struct file *file, struct video_device_state *sta= te, + const struct v4l2_framebuffer *a) { struct vivid_dev *dev =3D video_drvdata(file); const unsigned chroma_flags =3D V4L2_FBUF_FLAG_CHROMAKEY | @@ -952,8 +961,8 @@ static const struct v4l2_audioout vivid_audio_outputs[]= =3D { { 1, "Line-Out 2" }, }; =20 -int vidioc_enum_output(struct file *file, void *priv, - struct v4l2_output *out) +int vidioc_enum_output(struct file *file, struct video_device_state *state, + struct v4l2_output *out) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -979,7 +988,8 @@ int vidioc_enum_output(struct file *file, void *priv, return 0; } =20 -int vidioc_g_output(struct file *file, void *priv, unsigned *o) +int vidioc_g_output(struct file *file, struct video_device_state *state, + unsigned int *o) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -987,7 +997,8 @@ int vidioc_g_output(struct file *file, void *priv, unsi= gned *o) return 0; } =20 -int vidioc_s_output(struct file *file, void *priv, unsigned o) +int vidioc_s_output(struct file *file, struct video_device_state *state, + unsigned int o) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -1016,7 +1027,8 @@ int vidioc_s_output(struct file *file, void *priv, un= signed o) return 0; } =20 -int vidioc_enumaudout(struct file *file, void *priv, struct v4l2_audioout = *vout) +int vidioc_enumaudout(struct file *file, struct video_device_state *state, + struct v4l2_audioout *vout) { if (vout->index >=3D ARRAY_SIZE(vivid_audio_outputs)) return -EINVAL; @@ -1024,7 +1036,8 @@ int vidioc_enumaudout(struct file *file, void *priv, = struct v4l2_audioout *vout) return 0; } =20 -int vidioc_g_audout(struct file *file, void *priv, struct v4l2_audioout *v= out) +int vidioc_g_audout(struct file *file, struct video_device_state *state, + struct v4l2_audioout *vout) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -1034,7 +1047,8 @@ int vidioc_g_audout(struct file *file, void *priv, st= ruct v4l2_audioout *vout) return 0; } =20 -int vidioc_s_audout(struct file *file, void *priv, const struct v4l2_audio= out *vout) +int vidioc_s_audout(struct file *file, struct video_device_state *state, + const struct v4l2_audioout *vout) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -1046,7 +1060,8 @@ int vidioc_s_audout(struct file *file, void *priv, co= nst struct v4l2_audioout *v return 0; } =20 -int vivid_vid_out_s_std(struct file *file, void *priv, v4l2_std_id id) +int vivid_vid_out_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id id) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -1072,8 +1087,9 @@ static bool valid_cvt_gtf_timings(struct v4l2_dv_timi= ngs *timings) return false; } =20 -int vivid_vid_out_s_dv_timings(struct file *file, void *priv, - struct v4l2_dv_timings *timings) +int vivid_vid_out_s_dv_timings(struct file *file, + struct video_device_state *state, + struct v4l2_dv_timings *timings) { struct vivid_dev *dev =3D video_drvdata(file); if (!vivid_is_hdmi_out(dev)) @@ -1091,8 +1107,8 @@ int vivid_vid_out_s_dv_timings(struct file *file, voi= d *priv, return 0; } =20 -int vivid_vid_out_g_parm(struct file *file, void *priv, - struct v4l2_streamparm *parm) +int vivid_vid_out_g_parm(struct file *file, struct video_device_state *sta= te, + struct v4l2_streamparm *parm) { struct vivid_dev *dev =3D video_drvdata(file); =20 @@ -1109,7 +1125,7 @@ int vivid_vid_out_g_parm(struct file *file, void *pri= v, } =20 int vidioc_subscribe_event(struct v4l2_fh *fh, - const struct v4l2_event_subscription *sub) + const struct v4l2_event_subscription *sub) { switch (sub->type) { case V4L2_EVENT_SOURCE_CHANGE: diff --git a/drivers/media/test-drivers/vivid/vivid-vid-out.h b/drivers/med= ia/test-drivers/vivid/vivid-vid-out.h index 1d03891a5de576a59441c0b2d77e0c3815e3c05c..58a9e7736987a2a4d05f7acd4e1= 8c5f3729287f9 100644 --- a/drivers/media/test-drivers/vivid/vivid-vid-out.h +++ b/drivers/media/test-drivers/vivid/vivid-vid-out.h @@ -12,33 +12,72 @@ extern const struct vb2_ops vivid_vid_out_qops; =20 void vivid_update_format_out(struct vivid_dev *dev); =20 -int vivid_g_fmt_vid_out(struct file *file, void *priv, struct v4l2_format = *f); -int vivid_try_fmt_vid_out(struct file *file, void *priv, struct v4l2_forma= t *f); -int vivid_s_fmt_vid_out(struct file *file, void *priv, struct v4l2_format = *f); -int vidioc_g_fmt_vid_out_mplane(struct file *file, void *priv, struct v4l2= _format *f); -int vidioc_try_fmt_vid_out_mplane(struct file *file, void *priv, struct v4= l2_format *f); -int vidioc_s_fmt_vid_out_mplane(struct file *file, void *priv, struct v4l2= _format *f); -int vidioc_g_fmt_vid_out(struct file *file, void *priv, struct v4l2_format= *f); -int vidioc_try_fmt_vid_out(struct file *file, void *priv, struct v4l2_form= at *f); -int vidioc_s_fmt_vid_out(struct file *file, void *priv, struct v4l2_format= *f); -int vivid_vid_out_g_selection(struct file *file, void *priv, struct v4l2_s= election *sel); -int vivid_vid_out_s_selection(struct file *file, void *priv, struct v4l2_s= election *s); -int vivid_vid_out_g_pixelaspect(struct file *file, void *priv, int type, s= truct v4l2_fract *f); -int vidioc_enum_fmt_vid_out_overlay(struct file *file, void *priv, struct= v4l2_fmtdesc *f); -int vidioc_g_fmt_vid_out_overlay(struct file *file, void *priv, struct v4l= 2_format *f); -int vidioc_try_fmt_vid_out_overlay(struct file *file, void *priv, struct v= 4l2_format *f); -int vidioc_s_fmt_vid_out_overlay(struct file *file, void *priv, struct v4l= 2_format *f); -int vivid_vid_out_overlay(struct file *file, void *priv, unsigned i); -int vivid_vid_out_g_fbuf(struct file *file, void *priv, struct v4l2_frameb= uffer *a); -int vivid_vid_out_s_fbuf(struct file *file, void *priv, const struct v4l2_= framebuffer *a); -int vidioc_enum_output(struct file *file, void *priv, struct v4l2_output *= out); -int vidioc_g_output(struct file *file, void *priv, unsigned *i); -int vidioc_s_output(struct file *file, void *priv, unsigned i); -int vidioc_enumaudout(struct file *file, void *priv, struct v4l2_audioout = *vout); -int vidioc_g_audout(struct file *file, void *priv, struct v4l2_audioout *v= out); -int vidioc_s_audout(struct file *file, void *priv, const struct v4l2_audio= out *vout); -int vivid_vid_out_s_std(struct file *file, void *priv, v4l2_std_id id); -int vivid_vid_out_s_dv_timings(struct file *file, void *priv, struct v4l2_= dv_timings *timings); -int vivid_vid_out_g_parm(struct file *file, void *priv, struct v4l2_stream= parm *parm); +int vivid_g_fmt_vid_out(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f); +int vivid_try_fmt_vid_out(struct file *file, struct video_device_state *st= ate, + struct v4l2_format *f); +int vivid_s_fmt_vid_out(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f); +int vidioc_g_fmt_vid_out_mplane(struct file *file, + struct video_device_state *state, + struct v4l2_format *f); +int vidioc_try_fmt_vid_out_mplane(struct file *file, + struct video_device_state *state, + struct v4l2_format *f); +int vidioc_s_fmt_vid_out_mplane(struct file *file, + struct video_device_state *state, + struct v4l2_format *f); +int vidioc_g_fmt_vid_out(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f); +int vidioc_try_fmt_vid_out(struct file *file, struct video_device_state *s= tate, + struct v4l2_format *f); +int vidioc_s_fmt_vid_out(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f); +int vivid_vid_out_g_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *sel); +int vivid_vid_out_s_selection(struct file *file, + struct video_device_state *state, + struct v4l2_selection *s); +int vivid_vid_out_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f); +int vidioc_enum_fmt_vid_out_overlay(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f); +int vidioc_g_fmt_vid_out_overlay(struct file *file, + struct video_device_state *state, + struct v4l2_format *f); +int vidioc_try_fmt_vid_out_overlay(struct file *file, + struct video_device_state *state, + struct v4l2_format *f); +int vidioc_s_fmt_vid_out_overlay(struct file *file, + struct video_device_state *state, + struct v4l2_format *f); +int vivid_vid_out_overlay(struct file *file, struct video_device_state *st= ate, + unsigned int i); +int vivid_vid_out_g_fbuf(struct file *file, struct video_device_state *sta= te, + struct v4l2_framebuffer *a); +int vivid_vid_out_s_fbuf(struct file *file, struct video_device_state *sta= te, + const struct v4l2_framebuffer *a); +int vidioc_enum_output(struct file *file, struct video_device_state *state, + struct v4l2_output *out); +int vidioc_g_output(struct file *file, struct video_device_state *state, + unsigned int *i); +int vidioc_s_output(struct file *file, struct video_device_state *state, + unsigned int i); +int vidioc_enumaudout(struct file *file, struct video_device_state *state, + struct v4l2_audioout *vout); +int vidioc_g_audout(struct file *file, struct video_device_state *state, + struct v4l2_audioout *vout); +int vidioc_s_audout(struct file *file, struct video_device_state *state, + const struct v4l2_audioout *vout); +int vivid_vid_out_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id id); +int vivid_vid_out_s_dv_timings(struct file *file, + struct video_device_state *state, + struct v4l2_dv_timings *timings); +int vivid_vid_out_g_parm(struct file *file, struct video_device_state *sta= te, + struct v4l2_streamparm *parm); =20 #endif diff --git a/drivers/media/usb/airspy/airspy.c b/drivers/media/usb/airspy/a= irspy.c index 08f0920cf6ca2f2f0fcc8e9a7b1632488d9af5f5..c91db6296c2327fdd6e16874c99= c56470578511c 100644 --- a/drivers/media/usb/airspy/airspy.c +++ b/drivers/media/usb/airspy/airspy.c @@ -605,8 +605,8 @@ static const struct vb2_ops airspy_vb2_ops =3D { .stop_streaming =3D airspy_stop_streaming, }; =20 -static int airspy_querycap(struct file *file, void *fh, - struct v4l2_capability *cap) +static int airspy_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct airspy *s =3D video_drvdata(file); =20 @@ -616,8 +616,8 @@ static int airspy_querycap(struct file *file, void *fh, return 0; } =20 -static int airspy_enum_fmt_sdr_cap(struct file *file, void *priv, - struct v4l2_fmtdesc *f) +static int airspy_enum_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index >=3D NUM_FORMATS) return -EINVAL; @@ -627,8 +627,8 @@ static int airspy_enum_fmt_sdr_cap(struct file *file, v= oid *priv, return 0; } =20 -static int airspy_g_fmt_sdr_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int airspy_g_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct airspy *s =3D video_drvdata(file); =20 @@ -638,8 +638,8 @@ static int airspy_g_fmt_sdr_cap(struct file *file, void= *priv, return 0; } =20 -static int airspy_s_fmt_sdr_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int airspy_s_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct airspy *s =3D video_drvdata(file); struct vb2_queue *q =3D &s->vb_queue; @@ -665,8 +665,8 @@ static int airspy_s_fmt_sdr_cap(struct file *file, void= *priv, return 0; } =20 -static int airspy_try_fmt_sdr_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int airspy_try_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int i; =20 @@ -683,8 +683,8 @@ static int airspy_try_fmt_sdr_cap(struct file *file, vo= id *priv, return 0; } =20 -static int airspy_s_tuner(struct file *file, void *priv, - const struct v4l2_tuner *v) +static int airspy_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { int ret; =20 @@ -698,7 +698,8 @@ static int airspy_s_tuner(struct file *file, void *priv, return ret; } =20 -static int airspy_g_tuner(struct file *file, void *priv, struct v4l2_tuner= *v) +static int airspy_g_tuner(struct file *file, struct video_device_state *st= ate, + struct v4l2_tuner *v) { int ret; =20 @@ -723,8 +724,8 @@ static int airspy_g_tuner(struct file *file, void *priv= , struct v4l2_tuner *v) return ret; } =20 -static int airspy_g_frequency(struct file *file, void *priv, - struct v4l2_frequency *f) +static int airspy_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct airspy *s =3D video_drvdata(file); int ret; @@ -746,7 +747,8 @@ static int airspy_g_frequency(struct file *file, void *= priv, return ret; } =20 -static int airspy_s_frequency(struct file *file, void *priv, +static int airspy_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct airspy *s =3D video_drvdata(file); @@ -776,7 +778,8 @@ static int airspy_s_frequency(struct file *file, void *= priv, return ret; } =20 -static int airspy_enum_freq_bands(struct file *file, void *priv, +static int airspy_enum_freq_bands(struct file *file, + struct video_device_state *state, struct v4l2_frequency_band *band) { int ret; diff --git a/drivers/media/usb/au0828/au0828-video.c b/drivers/media/usb/au= 0828/au0828-video.c index fbaa542c8259ac007ed441280d06a2770e4134f4..ec2a9c2b5390b632b0ba11a1be7= 6fba145fd9a88 100644 --- a/drivers/media/usb/au0828/au0828-video.c +++ b/drivers/media/usb/au0828/au0828-video.c @@ -1173,7 +1173,8 @@ static int au0828_set_format(struct au0828_dev *dev, = unsigned int cmd, return 0; } =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct au0828_dev *dev =3D video_drvdata(file); @@ -1193,7 +1194,8 @@ static int vidioc_querycap(struct file *file, void *= priv, return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index) @@ -1206,7 +1208,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file,= void *priv, return 0; } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct au0828_dev *dev =3D video_drvdata(file); @@ -1224,7 +1227,8 @@ static int vidioc_g_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct au0828_dev *dev =3D video_drvdata(file); @@ -1235,7 +1239,8 @@ static int vidioc_try_fmt_vid_cap(struct file *file, = void *priv, return au0828_set_format(dev, VIDIOC_TRY_FMT, f); } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct au0828_dev *dev =3D video_drvdata(file); @@ -1259,7 +1264,8 @@ static int vidioc_s_fmt_vid_cap(struct file *file, vo= id *priv, return rc; } =20 -static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id norm) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id norm) { struct au0828_dev *dev =3D video_drvdata(file); =20 @@ -1291,7 +1297,8 @@ static int vidioc_s_std(struct file *file, void *priv= , v4l2_std_id norm) return 0; } =20 -static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *norm) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *norm) { struct au0828_dev *dev =3D video_drvdata(file); =20 @@ -1302,7 +1309,8 @@ static int vidioc_g_std(struct file *file, void *priv= , v4l2_std_id *norm) return 0; } =20 -static int vidioc_enum_input(struct file *file, void *priv, +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *input) { struct au0828_dev *dev =3D video_drvdata(file); @@ -1343,7 +1351,8 @@ static int vidioc_enum_input(struct file *file, void = *priv, return 0; } =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { struct au0828_dev *dev =3D video_drvdata(file); =20 @@ -1410,7 +1419,8 @@ static void au0828_s_input(struct au0828_dev *dev, in= t index) AUVI_INPUT(index).amux, 0, 0); } =20 -static int vidioc_s_input(struct file *file, void *priv, unsigned int inde= x) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int index) { struct au0828_dev *dev =3D video_drvdata(file); struct video_device *vfd =3D video_devdata(file); @@ -1436,7 +1446,9 @@ static int vidioc_s_input(struct file *file, void *pr= iv, unsigned int index) return v4l_enable_media_source(vfd); } =20 -static int vidioc_enumaudio(struct file *file, void *priv, struct v4l2_aud= io *a) +static int vidioc_enumaudio(struct file *file, + struct video_device_state *state, + struct v4l2_audio *a) { if (a->index > 1) return -EINVAL; @@ -1452,7 +1464,8 @@ static int vidioc_enumaudio(struct file *file, void *= priv, struct v4l2_audio *a) return 0; } =20 -static int vidioc_g_audio(struct file *file, void *priv, struct v4l2_audio= *a) +static int vidioc_g_audio(struct file *file, struct video_device_state *st= ate, + struct v4l2_audio *a) { struct au0828_dev *dev =3D video_drvdata(file); =20 @@ -1469,7 +1482,8 @@ static int vidioc_g_audio(struct file *file, void *pr= iv, struct v4l2_audio *a) return 0; } =20 -static int vidioc_s_audio(struct file *file, void *priv, const struct v4l2= _audio *a) +static int vidioc_s_audio(struct file *file, struct video_device_state *st= ate, + const struct v4l2_audio *a) { struct au0828_dev *dev =3D video_drvdata(file); =20 @@ -1481,7 +1495,8 @@ static int vidioc_s_audio(struct file *file, void *pr= iv, const struct v4l2_audio return 0; } =20 -static int vidioc_g_tuner(struct file *file, void *priv, struct v4l2_tuner= *t) +static int vidioc_g_tuner(struct file *file, struct video_device_state *st= ate, + struct v4l2_tuner *t) { struct au0828_dev *dev =3D video_drvdata(file); struct video_device *vfd =3D video_devdata(file); @@ -1506,7 +1521,8 @@ static int vidioc_g_tuner(struct file *file, void *pr= iv, struct v4l2_tuner *t) return 0; } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *t) { struct au0828_dev *dev =3D video_drvdata(file); @@ -1529,7 +1545,8 @@ static int vidioc_s_tuner(struct file *file, void *pr= iv, =20 } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *freq) { struct au0828_dev *dev =3D video_drvdata(file); @@ -1542,7 +1559,8 @@ static int vidioc_g_frequency(struct file *file, void= *priv, return 0; } =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *freq) { struct au0828_dev *dev =3D video_drvdata(file); @@ -1572,7 +1590,8 @@ static int vidioc_s_frequency(struct file *file, void= *priv, =20 /* RAW VBI ioctls */ =20 -static int vidioc_g_fmt_vbi_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { struct au0828_dev *dev =3D video_drvdata(file); @@ -1595,8 +1614,9 @@ static int vidioc_g_fmt_vbi_cap(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_g_pixelaspect(struct file *file, void *priv, - int type, struct v4l2_fract *f) +static int vidioc_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f) { struct au0828_dev *dev =3D video_drvdata(file); =20 @@ -1612,7 +1632,8 @@ static int vidioc_g_pixelaspect(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_g_selection(struct file *file, void *priv, +static int vidioc_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct au0828_dev *dev =3D video_drvdata(file); @@ -1635,7 +1656,8 @@ static int vidioc_g_selection(struct file *file, void= *priv, } =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -static int vidioc_g_register(struct file *file, void *priv, +static int vidioc_g_register(struct file *file, + struct video_device_state *state, struct v4l2_dbg_register *reg) { struct au0828_dev *dev =3D video_drvdata(file); @@ -1648,7 +1670,8 @@ static int vidioc_g_register(struct file *file, void = *priv, return 0; } =20 -static int vidioc_s_register(struct file *file, void *priv, +static int vidioc_s_register(struct file *file, + struct video_device_state *state, const struct v4l2_dbg_register *reg) { struct au0828_dev *dev =3D video_drvdata(file); @@ -1660,13 +1683,14 @@ static int vidioc_s_register(struct file *file, voi= d *priv, } #endif =20 -static int vidioc_log_status(struct file *file, void *fh) +static int vidioc_log_status(struct file *file, + struct video_device_state *state) { struct video_device *vdev =3D video_devdata(file); =20 dprintk(1, "%s called\n", __func__); =20 - v4l2_ctrl_log_status(file, fh); + v4l2_ctrl_log_status(file, state); v4l2_device_call_all(vdev->v4l2_dev, 0, core, log_status); return 0; } diff --git a/drivers/media/usb/cx231xx/cx231xx-417.c b/drivers/media/usb/cx= 231xx/cx231xx-417.c index c695a97e202b7134f66d9b1438ebabfcf5628def..183a46a46ba491956807024d3d6= 11c8b15d4f7de 100644 --- a/drivers/media/usb/cx231xx/cx231xx-417.c +++ b/drivers/media/usb/cx231xx/cx231xx-417.c @@ -1462,8 +1462,9 @@ static const struct vb2_ops cx231xx_video_qops =3D { =20 /* ------------------------------------------------------------------ */ =20 -static int vidioc_g_pixelaspect(struct file *file, void *priv, - int type, struct v4l2_fract *f) +static int vidioc_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f) { struct cx231xx *dev =3D video_drvdata(file); bool is_50hz =3D dev->encodernorm.id & V4L2_STD_625_50; @@ -1477,7 +1478,8 @@ static int vidioc_g_pixelaspect(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_g_selection(struct file *file, void *priv, +static int vidioc_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct cx231xx *dev =3D video_drvdata(file); @@ -1499,7 +1501,8 @@ static int vidioc_g_selection(struct file *file, void= *priv, return 0; } =20 -static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *norm) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *norm) { struct cx231xx *dev =3D video_drvdata(file); =20 @@ -1507,7 +1510,8 @@ static int vidioc_g_std(struct file *file, void *priv= , v4l2_std_id *norm) return 0; } =20 -static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id id) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id id) { struct cx231xx *dev =3D video_drvdata(file); unsigned int i; @@ -1538,7 +1542,8 @@ static int vidioc_s_std(struct file *file, void *priv= , v4l2_std_id id) return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index !=3D 0) @@ -1549,7 +1554,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file,= void *priv, return 0; } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx231xx *dev =3D video_drvdata(file); @@ -1568,7 +1574,8 @@ static int vidioc_g_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx231xx *dev =3D video_drvdata(file); @@ -1585,12 +1592,13 @@ static int vidioc_try_fmt_vid_cap(struct file *file= , void *priv, return 0; } =20 -static int vidioc_log_status(struct file *file, void *priv) +static int vidioc_log_status(struct file *file, + struct video_device_state *state) { struct cx231xx *dev =3D video_drvdata(file); =20 call_all(dev, core, log_status); - return v4l2_ctrl_log_status(file, priv); + return v4l2_ctrl_log_status(file, state); } =20 static const struct v4l2_file_operations mpeg_fops =3D { diff --git a/drivers/media/usb/cx231xx/cx231xx-video.c b/drivers/media/usb/= cx231xx/cx231xx-video.c index 2cd4e333bc4b012f97df98f8771f2508d81c3b3c..a751b55fc60e3df69e03a89fc48= 154b63bc9138c 100644 --- a/drivers/media/usb/cx231xx/cx231xx-video.c +++ b/drivers/media/usb/cx231xx/cx231xx-video.c @@ -825,7 +825,8 @@ void video_mux(struct cx231xx *dev, int index) IOCTL vidioc handling ------------------------------------------------------------------*/ =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx231xx *dev =3D video_drvdata(file); @@ -853,7 +854,8 @@ static struct cx231xx_fmt *format_by_fourcc(unsigned in= t fourcc) return NULL; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx231xx *dev =3D video_drvdata(file); @@ -885,7 +887,8 @@ static int vidioc_try_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx231xx *dev =3D video_drvdata(file); @@ -894,7 +897,7 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void= *priv, }; int rc; =20 - rc =3D vidioc_try_fmt_vid_cap(file, priv, f); + rc =3D vidioc_try_fmt_vid_cap(file, state, f); if (rc) return rc; =20 @@ -915,7 +918,8 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void= *priv, return rc; } =20 -static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *id) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *id) { struct cx231xx *dev =3D video_drvdata(file); =20 @@ -923,7 +927,8 @@ static int vidioc_g_std(struct file *file, void *priv, = v4l2_std_id *id) return 0; } =20 -static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id norm) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id norm) { struct cx231xx *dev =3D video_drvdata(file); struct v4l2_subdev_format format =3D { @@ -1012,7 +1017,8 @@ void cx231xx_v4l2_create_entities(struct cx231xx *dev) #endif } =20 -int cx231xx_enum_input(struct file *file, void *priv, +int cx231xx_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct cx231xx *dev =3D video_drvdata(file); @@ -1052,7 +1058,8 @@ int cx231xx_enum_input(struct file *file, void *priv, return 0; } =20 -int cx231xx_g_input(struct file *file, void *priv, unsigned int *i) +int cx231xx_g_input(struct file *file, struct video_device_state *state, + unsigned int *i) { struct cx231xx *dev =3D video_drvdata(file); =20 @@ -1061,7 +1068,8 @@ int cx231xx_g_input(struct file *file, void *priv, un= signed int *i) return 0; } =20 -int cx231xx_s_input(struct file *file, void *priv, unsigned int i) +int cx231xx_s_input(struct file *file, struct video_device_state *state, + unsigned int i) { struct cx231xx *dev =3D video_drvdata(file); =20 @@ -1085,7 +1093,8 @@ int cx231xx_s_input(struct file *file, void *priv, un= signed int i) return 0; } =20 -int cx231xx_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t) +int cx231xx_g_tuner(struct file *file, struct video_device_state *state, + struct v4l2_tuner *t) { struct cx231xx *dev =3D video_drvdata(file); =20 @@ -1103,14 +1112,16 @@ int cx231xx_g_tuner(struct file *file, void *priv, = struct v4l2_tuner *t) return 0; } =20 -int cx231xx_s_tuner(struct file *file, void *priv, const struct v4l2_tuner= *t) +int cx231xx_s_tuner(struct file *file, struct video_device_state *state, + const struct v4l2_tuner *t) { if (0 !=3D t->index) return -EINVAL; return 0; } =20 -int cx231xx_g_frequency(struct file *file, void *priv, +int cx231xx_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct cx231xx *dev =3D video_drvdata(file); @@ -1123,7 +1134,8 @@ int cx231xx_g_frequency(struct file *file, void *priv, return 0; } =20 -int cx231xx_s_frequency(struct file *file, void *priv, +int cx231xx_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct cx231xx *dev =3D video_drvdata(file); @@ -1194,7 +1206,8 @@ int cx231xx_s_frequency(struct file *file, void *priv, =20 #ifdef CONFIG_VIDEO_ADV_DEBUG =20 -int cx231xx_g_chip_info(struct file *file, void *fh, +int cx231xx_g_chip_info(struct file *file, + struct video_device_state *state, struct v4l2_dbg_chip_info *chip) { switch (chip->match.addr) { @@ -1222,7 +1235,8 @@ int cx231xx_g_chip_info(struct file *file, void *fh, return -EINVAL; } =20 -int cx231xx_g_register(struct file *file, void *priv, +int cx231xx_g_register(struct file *file, + struct video_device_state *state, struct v4l2_dbg_register *reg) { struct cx231xx *dev =3D video_drvdata(file); @@ -1280,7 +1294,8 @@ int cx231xx_g_register(struct file *file, void *priv, return ret < 0 ? ret : 0; } =20 -int cx231xx_s_register(struct file *file, void *priv, +int cx231xx_s_register(struct file *file, + struct video_device_state *state, const struct v4l2_dbg_register *reg) { struct cx231xx *dev =3D video_drvdata(file); @@ -1327,8 +1342,9 @@ int cx231xx_s_register(struct file *file, void *priv, } #endif =20 -static int vidioc_g_pixelaspect(struct file *file, void *priv, - int type, struct v4l2_fract *f) +static int vidioc_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f) { struct cx231xx *dev =3D video_drvdata(file); bool is_50hz =3D dev->norm & V4L2_STD_625_50; @@ -1342,7 +1358,8 @@ static int vidioc_g_pixelaspect(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_g_selection(struct file *file, void *priv, +static int vidioc_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct cx231xx *dev =3D video_drvdata(file); @@ -1364,7 +1381,8 @@ static int vidioc_g_selection(struct file *file, void= *priv, return 0; } =20 -int cx231xx_querycap(struct file *file, void *priv, +int cx231xx_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct cx231xx *dev =3D video_drvdata(file); @@ -1394,7 +1412,8 @@ int cx231xx_querycap(struct file *file, void *priv, return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (unlikely(f->index >=3D ARRAY_SIZE(format))) @@ -1407,7 +1426,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file,= void *priv, =20 /* RAW VBI ioctls */ =20 -static int vidioc_g_fmt_vbi_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx231xx *dev =3D video_drvdata(file); @@ -1429,7 +1449,8 @@ static int vidioc_g_fmt_vbi_cap(struct file *file, vo= id *priv, =20 } =20 -static int vidioc_try_fmt_vbi_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cx231xx *dev =3D video_drvdata(file); @@ -1452,17 +1473,19 @@ static int vidioc_try_fmt_vbi_cap(struct file *file= , void *priv, =20 } =20 -static int vidioc_s_fmt_vbi_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { - return vidioc_try_fmt_vbi_cap(file, priv, f); + return vidioc_try_fmt_vbi_cap(file, state, f); } =20 /* ----------------------------------------------------------- */ /* RADIO ESPECIFIC IOCTLS */ /* ----------------------------------------------------------- */ =20 -static int radio_g_tuner(struct file *file, void *priv, struct v4l2_tuner = *t) +static int radio_g_tuner(struct file *file, struct video_device_state *sta= te, + struct v4l2_tuner *t) { struct cx231xx *dev =3D video_drvdata(file); =20 @@ -1475,7 +1498,9 @@ static int radio_g_tuner(struct file *file, void *pri= v, struct v4l2_tuner *t) =20 return 0; } -static int radio_s_tuner(struct file *file, void *priv, const struct v4l2_= tuner *t) + +static int radio_s_tuner(struct file *file, struct video_device_state *sta= te, + const struct v4l2_tuner *t) { struct cx231xx *dev =3D video_drvdata(file); =20 diff --git a/drivers/media/usb/cx231xx/cx231xx.h b/drivers/media/usb/cx231x= x/cx231xx.h index 19f5036a78d7f42aebdfe164025477a68eadf1b7..0e92db0b0455333d831095946d0= d791b2a017bae 100644 --- a/drivers/media/usb/cx231xx/cx231xx.h +++ b/drivers/media/usb/cx231xx/cx231xx.h @@ -924,23 +924,28 @@ void cx231xx_unregister_extension(struct cx231xx_ops = *dev); void cx231xx_init_extension(struct cx231xx *dev); void cx231xx_close_extension(struct cx231xx *dev); void cx231xx_v4l2_create_entities(struct cx231xx *dev); -int cx231xx_querycap(struct file *file, void *priv, - struct v4l2_capability *cap); -int cx231xx_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t); -int cx231xx_s_tuner(struct file *file, void *priv, const struct v4l2_tuner= *t); -int cx231xx_g_frequency(struct file *file, void *priv, - struct v4l2_frequency *f); -int cx231xx_s_frequency(struct file *file, void *priv, - const struct v4l2_frequency *f); -int cx231xx_enum_input(struct file *file, void *priv, - struct v4l2_input *i); -int cx231xx_g_input(struct file *file, void *priv, unsigned int *i); -int cx231xx_s_input(struct file *file, void *priv, unsigned int i); -int cx231xx_g_chip_info(struct file *file, void *fh, struct v4l2_dbg_chip_= info *chip); -int cx231xx_g_register(struct file *file, void *priv, - struct v4l2_dbg_register *reg); -int cx231xx_s_register(struct file *file, void *priv, - const struct v4l2_dbg_register *reg); +int cx231xx_querycap(struct file *file, struct video_device_state *state, + struct v4l2_capability *cap); +int cx231xx_g_tuner(struct file *file, struct video_device_state *state, + struct v4l2_tuner *t); +int cx231xx_s_tuner(struct file *file, struct video_device_state *state, + const struct v4l2_tuner *t); +int cx231xx_g_frequency(struct file *file, struct video_device_state *stat= e, + struct v4l2_frequency *f); +int cx231xx_s_frequency(struct file *file, struct video_device_state *stat= e, + const struct v4l2_frequency *f); +int cx231xx_enum_input(struct file *file, struct video_device_state *state, + struct v4l2_input *i); +int cx231xx_g_input(struct file *file, struct video_device_state *state, + unsigned int *i); +int cx231xx_s_input(struct file *file, struct video_device_state *state, + unsigned int i); +int cx231xx_g_chip_info(struct file *file, struct video_device_state *stat= e, + struct v4l2_dbg_chip_info *chip); +int cx231xx_g_register(struct file *file, struct video_device_state *state, + struct v4l2_dbg_register *reg); +int cx231xx_s_register(struct file *file, struct video_device_state *state, + const struct v4l2_dbg_register *reg); =20 /* Provided by cx231xx-cards.c */ extern void cx231xx_pre_card_setup(struct cx231xx *dev); diff --git a/drivers/media/usb/dvb-usb/cxusb-analog.c b/drivers/media/usb/d= vb-usb/cxusb-analog.c index 3bbee1fcbc8dc3d7ef7b408333d4af1f16bb1d6d..a7e209e8173bb2d2795202f8568= 87e0a6ad46b7d 100644 --- a/drivers/media/usb/dvb-usb/cxusb-analog.c +++ b/drivers/media/usb/dvb-usb/cxusb-analog.c @@ -962,7 +962,8 @@ static const __u32 videocaps =3D V4L2_CAP_VIDEO_CAPTURE= | V4L2_CAP_TUNER | V4L2_CAP_READWRITE | V4L2_CAP_STREAMING; static const __u32 radiocaps =3D V4L2_CAP_TUNER | V4L2_CAP_RADIO; =20 -static int cxusb_medion_v_querycap(struct file *file, void *fh, +static int cxusb_medion_v_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct dvb_usb_device *dvbdev =3D video_drvdata(file); @@ -977,7 +978,8 @@ static int cxusb_medion_v_querycap(struct file *file, v= oid *fh, return 0; } =20 -static int cxusb_medion_v_enum_fmt_vid_cap(struct file *file, void *fh, +static int cxusb_medion_v_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index !=3D 0) @@ -988,7 +990,8 @@ static int cxusb_medion_v_enum_fmt_vid_cap(struct file = *file, void *fh, return 0; } =20 -static int cxusb_medion_g_fmt_vid_cap(struct file *file, void *fh, +static int cxusb_medion_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct dvb_usb_device *dvbdev =3D video_drvdata(file); @@ -1051,13 +1054,15 @@ static int cxusb_medion_try_s_fmt_vid_cap(struct fi= le *file, return 0; } =20 -static int cxusb_medion_try_fmt_vid_cap(struct file *file, void *fh, +static int cxusb_medion_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return cxusb_medion_try_s_fmt_vid_cap(file, f, false); } =20 -static int cxusb_medion_s_fmt_vid_cap(struct file *file, void *fh, +static int cxusb_medion_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return cxusb_medion_try_s_fmt_vid_cap(file, f, true); @@ -1082,7 +1087,8 @@ static const struct { =20 #define CXUSB_INPUT_CNT ARRAY_SIZE(cxusb_medion_inputs) =20 -static int cxusb_medion_enum_input(struct file *file, void *fh, +static int cxusb_medion_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { struct dvb_usb_device *dvbdev =3D video_drvdata(file); @@ -1113,7 +1119,8 @@ static int cxusb_medion_enum_input(struct file *file,= void *fh, return 0; } =20 -static int cxusb_medion_g_input(struct file *file, void *fh, +static int cxusb_medion_g_input(struct file *file, + struct video_device_state *state, unsigned int *i) { struct dvb_usb_device *dvbdev =3D video_drvdata(file); @@ -1182,7 +1189,8 @@ static int cxusb_medion_set_norm(struct cxusb_medion_= dev *cxdev, return 0; } =20 -static int cxusb_medion_s_input(struct file *file, void *fh, +static int cxusb_medion_s_input(struct file *file, + struct video_device_state *state, unsigned int i) { struct dvb_usb_device *dvbdev =3D video_drvdata(file); @@ -1210,7 +1218,8 @@ static int cxusb_medion_s_input(struct file *file, vo= id *fh, return 0; } =20 -static int cxusb_medion_g_tuner(struct file *file, void *fh, +static int cxusb_medion_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *tuner) { struct dvb_usb_device *dvbdev =3D video_drvdata(file); @@ -1267,7 +1276,8 @@ static int cxusb_medion_g_tuner(struct file *file, vo= id *fh, return 0; } =20 -static int cxusb_medion_s_tuner(struct file *file, void *fh, +static int cxusb_medion_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *tuner) { struct dvb_usb_device *dvbdev =3D video_drvdata(file); @@ -1298,7 +1308,8 @@ static int cxusb_medion_s_tuner(struct file *file, vo= id *fh, return v4l2_subdev_call(cxdev->cx25840, tuner, s_tuner, tuner); } =20 -static int cxusb_medion_g_frequency(struct file *file, void *fh, +static int cxusb_medion_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *freq) { struct dvb_usb_device *dvbdev =3D video_drvdata(file); @@ -1310,7 +1321,8 @@ static int cxusb_medion_g_frequency(struct file *file= , void *fh, return v4l2_subdev_call(cxdev->tuner, tuner, g_frequency, freq); } =20 -static int cxusb_medion_s_frequency(struct file *file, void *fh, +static int cxusb_medion_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *freq) { struct dvb_usb_device *dvbdev =3D video_drvdata(file); @@ -1341,7 +1353,8 @@ static int cxusb_medion_s_frequency(struct file *file= , void *fh, return v4l2_subdev_call(cxdev->cx25840, tuner, s_frequency, freq); } =20 -static int cxusb_medion_g_std(struct file *file, void *fh, +static int cxusb_medion_g_std(struct file *file, + struct video_device_state *state, v4l2_std_id *norm) { struct dvb_usb_device *dvbdev =3D video_drvdata(file); @@ -1355,7 +1368,8 @@ static int cxusb_medion_g_std(struct file *file, void= *fh, return 0; } =20 -static int cxusb_medion_s_std(struct file *file, void *fh, +static int cxusb_medion_s_std(struct file *file, + struct video_device_state *state, v4l2_std_id norm) { struct dvb_usb_device *dvbdev =3D video_drvdata(file); @@ -1364,7 +1378,8 @@ static int cxusb_medion_s_std(struct file *file, void= *fh, return cxusb_medion_set_norm(cxdev, norm); } =20 -static int cxusb_medion_querystd(struct file *file, void *fh, +static int cxusb_medion_querystd(struct file *file, + struct video_device_state *state, v4l2_std_id *norm) { struct dvb_usb_device *dvbdev =3D video_drvdata(file); @@ -1396,7 +1411,8 @@ static int cxusb_medion_querystd(struct file *file, v= oid *fh, return 0; } =20 -static int cxusb_medion_log_status(struct file *file, void *fh) +static int cxusb_medion_log_status(struct file *file, + struct video_device_state *state) { struct dvb_usb_device *dvbdev =3D video_drvdata(file); struct cxusb_medion_dev *cxdev =3D dvbdev->priv; diff --git a/drivers/media/usb/em28xx/em28xx-video.c b/drivers/media/usb/em= 28xx/em28xx-video.c index 2dfa3242a7ab52b7dcaf279efe54bbcf00658fdf..796198e3aa4f8e64fcc45e1668e= bc4d743508983 100644 --- a/drivers/media/usb/em28xx/em28xx-video.c +++ b/drivers/media/usb/em28xx/em28xx-video.c @@ -1407,7 +1407,8 @@ static void scale_to_size(struct em28xx *dev, * IOCTL vidioc handling */ =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct em28xx *dev =3D video_drvdata(file); @@ -1440,7 +1441,8 @@ static struct em28xx_fmt *format_by_fourcc(unsigned i= nt fourcc) return NULL; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct em28xx *dev =3D video_drvdata(file); @@ -1525,7 +1527,8 @@ static int em28xx_set_video_format(struct em28xx *dev= , unsigned int fourcc, return 0; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct em28xx *dev =3D video_drvdata(file); @@ -1534,13 +1537,14 @@ static int vidioc_s_fmt_vid_cap(struct file *file, = void *priv, if (vb2_is_busy(&v4l2->vb_vidq)) return -EBUSY; =20 - vidioc_try_fmt_vid_cap(file, priv, f); + vidioc_try_fmt_vid_cap(file, state, f); =20 return em28xx_set_video_format(dev, f->fmt.pix.pixelformat, f->fmt.pix.width, f->fmt.pix.height); } =20 -static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *norm) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *norm) { struct em28xx *dev =3D video_drvdata(file); =20 @@ -1549,7 +1553,9 @@ static int vidioc_g_std(struct file *file, void *priv= , v4l2_std_id *norm) return 0; } =20 -static int vidioc_querystd(struct file *file, void *priv, v4l2_std_id *nor= m) +static int vidioc_querystd(struct file *file, + struct video_device_state *state, + v4l2_std_id *norm) { struct em28xx *dev =3D video_drvdata(file); =20 @@ -1558,7 +1564,8 @@ static int vidioc_querystd(struct file *file, void *p= riv, v4l2_std_id *norm) return 0; } =20 -static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id norm) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id norm) { struct em28xx *dev =3D video_drvdata(file); struct em28xx_v4l2 *v4l2 =3D dev->v4l2; @@ -1575,7 +1582,7 @@ static int vidioc_s_std(struct file *file, void *priv= , v4l2_std_id norm) /* Adjusts width/height, if needed */ f.fmt.pix.width =3D 720; f.fmt.pix.height =3D (norm & V4L2_STD_525_60) ? 480 : 576; - vidioc_try_fmt_vid_cap(file, priv, &f); + vidioc_try_fmt_vid_cap(file, state, &f); =20 /* set new image size */ v4l2->width =3D f.fmt.pix.width; @@ -1589,7 +1596,8 @@ static int vidioc_s_std(struct file *file, void *priv= , v4l2_std_id norm) return 0; } =20 -static int vidioc_g_parm(struct file *file, void *priv, +static int vidioc_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *p) { struct v4l2_subdev_frame_interval ival =3D { 0 }; @@ -1617,7 +1625,8 @@ static int vidioc_g_parm(struct file *file, void *pri= v, return rc; } =20 -static int vidioc_s_parm(struct file *file, void *priv, +static int vidioc_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *p) { struct em28xx *dev =3D video_drvdata(file); @@ -1645,7 +1654,8 @@ static int vidioc_s_parm(struct file *file, void *pri= v, return rc; } =20 -static int vidioc_enum_input(struct file *file, void *priv, +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct em28xx *dev =3D video_drvdata(file); @@ -1679,7 +1689,8 @@ static int vidioc_enum_input(struct file *file, void = *priv, return 0; } =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { struct em28xx *dev =3D video_drvdata(file); =20 @@ -1688,7 +1699,8 @@ static int vidioc_g_input(struct file *file, void *pr= iv, unsigned int *i) return 0; } =20 -static int vidioc_s_input(struct file *file, void *priv, unsigned int i) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { struct em28xx *dev =3D video_drvdata(file); =20 @@ -1756,7 +1768,9 @@ static int em28xx_fill_audio_input(struct em28xx *dev, return 0; } =20 -static int vidioc_enumaudio(struct file *file, void *fh, struct v4l2_audio= *a) +static int vidioc_enumaudio(struct file *file, + struct video_device_state *state, + struct v4l2_audio *a) { struct em28xx *dev =3D video_drvdata(file); =20 @@ -1766,7 +1780,8 @@ static int vidioc_enumaudio(struct file *file, void *= fh, struct v4l2_audio *a) return em28xx_fill_audio_input(dev, __func__, a, a->index); } =20 -static int vidioc_g_audio(struct file *file, void *priv, struct v4l2_audio= *a) +static int vidioc_g_audio(struct file *file, struct video_device_state *st= ate, + struct v4l2_audio *a) { struct em28xx *dev =3D video_drvdata(file); int i; @@ -1779,7 +1794,8 @@ static int vidioc_g_audio(struct file *file, void *pr= iv, struct v4l2_audio *a) return -EINVAL; } =20 -static int vidioc_s_audio(struct file *file, void *priv, +static int vidioc_s_audio(struct file *file, + struct video_device_state *state, const struct v4l2_audio *a) { struct em28xx *dev =3D video_drvdata(file); @@ -1819,7 +1835,8 @@ static int vidioc_s_audio(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *t) { struct em28xx *dev =3D video_drvdata(file); @@ -1833,7 +1850,8 @@ static int vidioc_g_tuner(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *t) { struct em28xx *dev =3D video_drvdata(file); @@ -1845,7 +1863,8 @@ static int vidioc_s_tuner(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct em28xx *dev =3D video_drvdata(file); @@ -1858,7 +1877,8 @@ static int vidioc_g_frequency(struct file *file, void= *priv, return 0; } =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct v4l2_frequency new_freq =3D *f; @@ -1876,7 +1896,8 @@ static int vidioc_s_frequency(struct file *file, void= *priv, } =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -static int vidioc_g_chip_info(struct file *file, void *priv, +static int vidioc_g_chip_info(struct file *file, + struct video_device_state *state, struct v4l2_dbg_chip_info *chip) { struct em28xx *dev =3D video_drvdata(file); @@ -1903,7 +1924,8 @@ static int em28xx_reg_len(int reg) } } =20 -static int vidioc_g_register(struct file *file, void *priv, +static int vidioc_g_register(struct file *file, + struct video_device_state *state, struct v4l2_dbg_register *reg) { struct em28xx *dev =3D video_drvdata(file); @@ -1944,7 +1966,8 @@ static int vidioc_g_register(struct file *file, void = *priv, return 0; } =20 -static int vidioc_s_register(struct file *file, void *priv, +static int vidioc_s_register(struct file *file, + struct video_device_state *state, const struct v4l2_dbg_register *reg) { struct em28xx *dev =3D video_drvdata(file); @@ -1963,7 +1986,8 @@ static int vidioc_s_register(struct file *file, void = *priv, } #endif =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct em28xx *dev =3D video_drvdata(file); @@ -1987,7 +2011,8 @@ static int vidioc_querycap(struct file *file, void *= priv, return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (unlikely(f->index >=3D ARRAY_SIZE(format))) @@ -1998,7 +2023,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file,= void *priv, return 0; } =20 -static int vidioc_enum_framesizes(struct file *file, void *priv, +static int vidioc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct em28xx *dev =3D video_drvdata(file); @@ -2042,7 +2068,8 @@ static int vidioc_enum_framesizes(struct file *file, = void *priv, =20 /* RAW VBI ioctls */ =20 -static int vidioc_g_fmt_vbi_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { struct em28xx *dev =3D video_drvdata(file); @@ -2075,7 +2102,8 @@ static int vidioc_g_fmt_vbi_cap(struct file *file, vo= id *priv, * RADIO ESPECIFIC IOCTLS */ =20 -static int radio_g_tuner(struct file *file, void *priv, +static int radio_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *t) { struct em28xx *dev =3D video_drvdata(file); @@ -2090,7 +2118,8 @@ static int radio_g_tuner(struct file *file, void *pri= v, return 0; } =20 -static int radio_s_tuner(struct file *file, void *priv, +static int radio_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *t) { struct em28xx *dev =3D video_drvdata(file); diff --git a/drivers/media/usb/go7007/go7007-v4l2.c b/drivers/media/usb/go7= 007/go7007-v4l2.c index 2087ffcb85a5a6d1f89b66a81d65f01772758c9f..22b09429beedc259c94b4d18ba8= fbb68cf054b0a 100644 --- a/drivers/media/usb/go7007/go7007-v4l2.c +++ b/drivers/media/usb/go7007/go7007-v4l2.c @@ -271,7 +271,8 @@ static int set_capture_size(struct go7007 *go, struct v= 4l2_format *fmt, int try) return 0; } =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct go7007 *go =3D video_drvdata(file); @@ -282,7 +283,8 @@ static int vidioc_querycap(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fmt) { switch (fmt->index) { @@ -304,7 +306,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct go7007 *go =3D video_drvdata(file); @@ -321,7 +324,8 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct go7007 *go =3D video_drvdata(file); @@ -329,7 +333,8 @@ static int vidioc_try_fmt_vid_cap(struct file *file, vo= id *priv, return set_capture_size(go, fmt, 1); } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct go7007 *go =3D video_drvdata(file); @@ -454,7 +459,8 @@ static const struct vb2_ops go7007_video_qops =3D { .stop_streaming =3D go7007_stop_streaming, }; =20 -static int vidioc_g_parm(struct file *filp, void *priv, +static int vidioc_g_parm(struct file *filp, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct go7007 *go =3D video_drvdata(filp); @@ -473,7 +479,8 @@ static int vidioc_g_parm(struct file *filp, void *priv, return 0; } =20 -static int vidioc_s_parm(struct file *filp, void *priv, +static int vidioc_s_parm(struct file *filp, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct go7007 *go =3D video_drvdata(filp); @@ -490,7 +497,7 @@ static int vidioc_s_parm(struct file *filp, void *priv, else go->fps_scale =3D 1; =20 - return vidioc_g_parm(filp, priv, parm); + return vidioc_g_parm(filp, state, parm); } =20 /* VIDIOC_ENUMSTD on go7007 were used for enumerating the supported fps and @@ -503,7 +510,8 @@ static int vidioc_s_parm(struct file *filp, void *priv, =20 The two functions below implement the newer ioctls */ -static int vidioc_enum_framesizes(struct file *filp, void *priv, +static int vidioc_enum_framesizes(struct file *filp, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct go7007 *go =3D video_drvdata(filp); @@ -522,7 +530,8 @@ static int vidioc_enum_framesizes(struct file *filp, vo= id *priv, return 0; } =20 -static int vidioc_enum_frameintervals(struct file *filp, void *priv, +static int vidioc_enum_frameintervals(struct file *filp, + struct video_device_state *state, struct v4l2_frmivalenum *fival) { struct go7007 *go =3D video_drvdata(filp); @@ -550,7 +559,8 @@ static int vidioc_enum_frameintervals(struct file *filp= , void *priv, return 0; } =20 -static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *std) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *std) { struct go7007 *go =3D video_drvdata(file); =20 @@ -573,7 +583,8 @@ static int go7007_s_std(struct go7007 *go) return 0; } =20 -static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id std) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id std) { struct go7007 *go =3D video_drvdata(file); =20 @@ -585,14 +596,16 @@ static int vidioc_s_std(struct file *file, void *priv= , v4l2_std_id std) return go7007_s_std(go); } =20 -static int vidioc_querystd(struct file *file, void *priv, v4l2_std_id *std) +static int vidioc_querystd(struct file *file, + struct video_device_state *state, v4l2_std_id *std) { struct go7007 *go =3D video_drvdata(file); =20 return call_all(&go->v4l2_dev, video, querystd, std); } =20 -static int vidioc_enum_input(struct file *file, void *priv, +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { struct go7007 *go =3D video_drvdata(file); @@ -624,7 +637,8 @@ static int vidioc_enum_input(struct file *file, void *p= riv, } =20 =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *inp= ut) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *input) { struct go7007 *go =3D video_drvdata(file); =20 @@ -633,7 +647,9 @@ static int vidioc_g_input(struct file *file, void *priv= , unsigned int *input) return 0; } =20 -static int vidioc_enumaudio(struct file *file, void *fh, struct v4l2_audio= *a) +static int vidioc_enumaudio(struct file *file, + struct video_device_state *state, + struct v4l2_audio *a) { struct go7007 *go =3D video_drvdata(file); =20 @@ -645,7 +661,8 @@ static int vidioc_enumaudio(struct file *file, void *fh= , struct v4l2_audio *a) return 0; } =20 -static int vidioc_g_audio(struct file *file, void *fh, struct v4l2_audio *= a) +static int vidioc_g_audio(struct file *file, struct video_device_state *st= ate, + struct v4l2_audio *a) { struct go7007 *go =3D video_drvdata(file); =20 @@ -656,8 +673,8 @@ static int vidioc_g_audio(struct file *file, void *fh, = struct v4l2_audio *a) return 0; } =20 -static int vidioc_s_audio(struct file *file, void *fh, - const struct v4l2_audio *a) +static int vidioc_s_audio(struct file *file, + struct video_device_state *state, const struct v4l2_audio *a) { struct go7007 *go =3D video_drvdata(file); =20 @@ -685,7 +702,8 @@ static void go7007_s_input(struct go7007 *go) } } =20 -static int vidioc_s_input(struct file *file, void *priv, unsigned int inpu= t) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int input) { struct go7007 *go =3D video_drvdata(file); =20 @@ -700,7 +718,8 @@ static int vidioc_s_input(struct file *file, void *priv= , unsigned int input) return 0; } =20 -static int vidioc_g_tuner(struct file *file, void *priv, +static int vidioc_g_tuner(struct file *file, + struct video_device_state *state, struct v4l2_tuner *t) { struct go7007 *go =3D video_drvdata(file); @@ -712,7 +731,8 @@ static int vidioc_g_tuner(struct file *file, void *priv, return call_all(&go->v4l2_dev, tuner, g_tuner, t); } =20 -static int vidioc_s_tuner(struct file *file, void *priv, +static int vidioc_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *t) { struct go7007 *go =3D video_drvdata(file); @@ -723,7 +743,8 @@ static int vidioc_s_tuner(struct file *file, void *priv, return call_all(&go->v4l2_dev, tuner, s_tuner, t); } =20 -static int vidioc_g_frequency(struct file *file, void *priv, +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct go7007 *go =3D video_drvdata(file); @@ -734,7 +755,8 @@ static int vidioc_g_frequency(struct file *file, void *= priv, return call_all(&go->v4l2_dev, tuner, g_frequency, f); } =20 -static int vidioc_s_frequency(struct file *file, void *priv, +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct go7007 *go =3D video_drvdata(file); @@ -745,11 +767,12 @@ static int vidioc_s_frequency(struct file *file, void= *priv, return call_all(&go->v4l2_dev, tuner, s_frequency, f); } =20 -static int vidioc_log_status(struct file *file, void *priv) +static int vidioc_log_status(struct file *file, + struct video_device_state *state) { struct go7007 *go =3D video_drvdata(file); =20 - v4l2_ctrl_log_status(file, priv); + v4l2_ctrl_log_status(file, state); return call_all(&go->v4l2_dev, core, log_status); } =20 diff --git a/drivers/media/usb/gspca/gspca.c b/drivers/media/usb/gspca/gspc= a.c index 3fc15d16df8e10d4762c1f0a6c7dd2f7c57c2675..4d0cb2b93c0fdea6a9f9221b0e9= ec2460f5019ee 100644 --- a/drivers/media/usb/gspca/gspca.c +++ b/drivers/media/usb/gspca/gspca.c @@ -967,7 +967,8 @@ static int gspca_get_mode(struct gspca_dev *gspca_dev, } =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -static int vidioc_g_chip_info(struct file *file, void *priv, +static int vidioc_g_chip_info(struct file *file, + struct video_device_state *state, struct v4l2_dbg_chip_info *chip) { struct gspca_dev *gspca_dev =3D video_drvdata(file); @@ -978,7 +979,8 @@ static int vidioc_g_chip_info(struct file *file, void *= priv, return chip->match.addr ? -EINVAL : 0; } =20 -static int vidioc_g_register(struct file *file, void *priv, +static int vidioc_g_register(struct file *file, + struct video_device_state *state, struct v4l2_dbg_register *reg) { struct gspca_dev *gspca_dev =3D video_drvdata(file); @@ -987,7 +989,8 @@ static int vidioc_g_register(struct file *file, void *p= riv, return gspca_dev->sd_desc->get_register(gspca_dev, reg); } =20 -static int vidioc_s_register(struct file *file, void *priv, +static int vidioc_s_register(struct file *file, + struct video_device_state *state, const struct v4l2_dbg_register *reg) { struct gspca_dev *gspca_dev =3D video_drvdata(file); @@ -997,7 +1000,8 @@ static int vidioc_s_register(struct file *file, void *= priv, } #endif =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fmtdesc) { struct gspca_dev *gspca_dev =3D video_drvdata(file); @@ -1029,7 +1033,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file,= void *priv, return 0; } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct gspca_dev *gspca_dev =3D video_drvdata(file); @@ -1075,7 +1080,8 @@ static int try_fmt_vid_cap(struct gspca_dev *gspca_de= v, return mode; /* used when s_fmt */ } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct gspca_dev *gspca_dev =3D video_drvdata(file); @@ -1088,7 +1094,8 @@ static int vidioc_try_fmt_vid_cap(struct file *file, = void *priv, return 0; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct gspca_dev *gspca_dev =3D video_drvdata(file); @@ -1113,7 +1120,8 @@ static int vidioc_s_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_enum_framesizes(struct file *file, void *priv, +static int vidioc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct gspca_dev *gspca_dev =3D video_drvdata(file); @@ -1142,7 +1150,8 @@ static int vidioc_enum_framesizes(struct file *file, = void *priv, return -EINVAL; } =20 -static int vidioc_enum_frameintervals(struct file *filp, void *priv, +static int vidioc_enum_frameintervals(struct file *filp, + struct video_device_state *state, struct v4l2_frmivalenum *fival) { struct gspca_dev *gspca_dev =3D video_drvdata(filp); @@ -1186,7 +1195,8 @@ static void gspca_release(struct v4l2_device *v4l2_de= vice) kfree(gspca_dev); } =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct gspca_dev *gspca_dev =3D video_drvdata(file); @@ -1207,7 +1217,8 @@ static int vidioc_querycap(struct file *file, void *= priv, return 0; } =20 -static int vidioc_enum_input(struct file *file, void *priv, +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *input) { struct gspca_dev *gspca_dev =3D video_drvdata(file); @@ -1221,20 +1232,23 @@ static int vidioc_enum_input(struct file *file, voi= d *priv, return 0; } =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { *i =3D 0; return 0; } =20 -static int vidioc_s_input(struct file *file, void *priv, unsigned int i) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { if (i > 0) return -EINVAL; return 0; } =20 -static int vidioc_g_jpegcomp(struct file *file, void *priv, +static int vidioc_g_jpegcomp(struct file *file, + struct video_device_state *state, struct v4l2_jpegcompression *jpegcomp) { struct gspca_dev *gspca_dev =3D video_drvdata(file); @@ -1243,7 +1257,8 @@ static int vidioc_g_jpegcomp(struct file *file, void = *priv, return gspca_dev->sd_desc->get_jcomp(gspca_dev, jpegcomp); } =20 -static int vidioc_s_jpegcomp(struct file *file, void *priv, +static int vidioc_s_jpegcomp(struct file *file, + struct video_device_state *state, const struct v4l2_jpegcompression *jpegcomp) { struct gspca_dev *gspca_dev =3D video_drvdata(file); @@ -1252,7 +1267,8 @@ static int vidioc_s_jpegcomp(struct file *file, void = *priv, return gspca_dev->sd_desc->set_jcomp(gspca_dev, jpegcomp); } =20 -static int vidioc_g_parm(struct file *filp, void *priv, +static int vidioc_g_parm(struct file *filp, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct gspca_dev *gspca_dev =3D video_drvdata(filp); @@ -1268,7 +1284,8 @@ static int vidioc_g_parm(struct file *filp, void *pri= v, return gspca_dev->usb_err; } =20 -static int vidioc_s_parm(struct file *filp, void *priv, +static int vidioc_s_parm(struct file *filp, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct gspca_dev *gspca_dev =3D video_drvdata(filp); diff --git a/drivers/media/usb/hackrf/hackrf.c b/drivers/media/usb/hackrf/h= ackrf.c index 0b50de8775a38deb11c50da799c98b1a1ef14d0a..4b5a2f5f311c107ab6c67d946fd= 0c89b43ead5fa 100644 --- a/drivers/media/usb/hackrf/hackrf.c +++ b/drivers/media/usb/hackrf/hackrf.c @@ -890,8 +890,8 @@ static const struct vb2_ops hackrf_vb2_ops =3D { .stop_streaming =3D hackrf_stop_streaming, }; =20 -static int hackrf_querycap(struct file *file, void *fh, - struct v4l2_capability *cap) +static int hackrf_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct hackrf_dev *dev =3D video_drvdata(file); struct usb_interface *intf =3D dev->intf; @@ -909,7 +909,8 @@ static int hackrf_querycap(struct file *file, void *fh, return 0; } =20 -static int hackrf_s_fmt_sdr(struct file *file, void *priv, +static int hackrf_s_fmt_sdr(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct hackrf_dev *dev =3D video_drvdata(file); @@ -945,7 +946,8 @@ static int hackrf_s_fmt_sdr(struct file *file, void *pr= iv, return 0; } =20 -static int hackrf_g_fmt_sdr(struct file *file, void *priv, +static int hackrf_g_fmt_sdr(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct hackrf_dev *dev =3D video_drvdata(file); @@ -959,7 +961,8 @@ static int hackrf_g_fmt_sdr(struct file *file, void *pr= iv, return 0; } =20 -static int hackrf_try_fmt_sdr(struct file *file, void *priv, +static int hackrf_try_fmt_sdr(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct hackrf_dev *dev =3D video_drvdata(file); @@ -981,7 +984,8 @@ static int hackrf_try_fmt_sdr(struct file *file, void *= priv, return 0; } =20 -static int hackrf_enum_fmt_sdr(struct file *file, void *priv, +static int hackrf_enum_fmt_sdr(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct hackrf_dev *dev =3D video_drvdata(file); @@ -996,8 +1000,8 @@ static int hackrf_enum_fmt_sdr(struct file *file, void= *priv, return 0; } =20 -static int hackrf_s_tuner(struct file *file, void *priv, - const struct v4l2_tuner *v) +static int hackrf_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { struct hackrf_dev *dev =3D video_drvdata(file); int ret; @@ -1014,7 +1018,8 @@ static int hackrf_s_tuner(struct file *file, void *pr= iv, return ret; } =20 -static int hackrf_g_tuner(struct file *file, void *priv, struct v4l2_tuner= *v) +static int hackrf_g_tuner(struct file *file, struct video_device_state *st= ate, + struct v4l2_tuner *v) { struct hackrf_dev *dev =3D video_drvdata(file); int ret; @@ -1042,7 +1047,8 @@ static int hackrf_g_tuner(struct file *file, void *pr= iv, struct v4l2_tuner *v) return ret; } =20 -static int hackrf_s_modulator(struct file *file, void *fh, +static int hackrf_s_modulator(struct file *file, + struct video_device_state *state, const struct v4l2_modulator *a) { struct hackrf_dev *dev =3D video_drvdata(file); @@ -1052,7 +1058,8 @@ static int hackrf_s_modulator(struct file *file, void= *fh, return a->index > 1 ? -EINVAL : 0; } =20 -static int hackrf_g_modulator(struct file *file, void *fh, +static int hackrf_g_modulator(struct file *file, + struct video_device_state *state, struct v4l2_modulator *a) { struct hackrf_dev *dev =3D video_drvdata(file); @@ -1081,7 +1088,8 @@ static int hackrf_g_modulator(struct file *file, void= *fh, return ret; } =20 -static int hackrf_s_frequency(struct file *file, void *priv, +static int hackrf_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct hackrf_dev *dev =3D video_drvdata(file); @@ -1128,8 +1136,8 @@ static int hackrf_s_frequency(struct file *file, void= *priv, return ret; } =20 -static int hackrf_g_frequency(struct file *file, void *priv, - struct v4l2_frequency *f) +static int hackrf_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct hackrf_dev *dev =3D video_drvdata(file); struct usb_interface *intf =3D dev->intf; @@ -1161,7 +1169,8 @@ static int hackrf_g_frequency(struct file *file, void= *priv, return ret; } =20 -static int hackrf_enum_freq_bands(struct file *file, void *priv, +static int hackrf_enum_freq_bands(struct file *file, + struct video_device_state *state, struct v4l2_frequency_band *band) { struct hackrf_dev *dev =3D video_drvdata(file); diff --git a/drivers/media/usb/hdpvr/hdpvr-video.c b/drivers/media/usb/hdpv= r/hdpvr-video.c index 8c7ae362d992ab603827424e9159d98c79886fb8..16770b18259b11fce04f85c999b= 9759dbe06c9c6 100644 --- a/drivers/media/usb/hdpvr/hdpvr-video.c +++ b/drivers/media/usb/hdpvr/hdpvr-video.c @@ -579,7 +579,8 @@ static const struct v4l2_file_operations hdpvr_fops =3D= { * V4L2 ioctl handling */ =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct hdpvr_device *dev =3D video_drvdata(file); @@ -590,8 +591,8 @@ static int vidioc_querycap(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_s_std(struct file *file, void *priv, - v4l2_std_id std) +static int vidioc_s_std(struct file *file, + struct video_device_state *state, v4l2_std_id std) { struct hdpvr_device *dev =3D video_drvdata(file); struct hdpvr_fh *fh =3D file_to_hdpvr_fh(file); @@ -610,8 +611,8 @@ static int vidioc_s_std(struct file *file, void *priv, return hdpvr_config_call(dev, CTRL_VIDEO_STD_TYPE, std_type); } =20 -static int vidioc_g_std(struct file *file, void *priv, - v4l2_std_id *std) +static int vidioc_g_std(struct file *file, + struct video_device_state *state, v4l2_std_id *std) { struct hdpvr_device *dev =3D video_drvdata(file); struct hdpvr_fh *fh =3D file_to_hdpvr_fh(file); @@ -623,7 +624,8 @@ static int vidioc_g_std(struct file *file, void *priv, return 0; } =20 -static int vidioc_querystd(struct file *file, void *priv, v4l2_std_id *a) +static int vidioc_querystd(struct file *file, + struct video_device_state *state, v4l2_std_id *a) { struct hdpvr_device *dev =3D video_drvdata(file); struct hdpvr_fh *fh =3D file_to_hdpvr_fh(file); @@ -642,7 +644,8 @@ static int vidioc_querystd(struct file *file, void *pri= v, v4l2_std_id *a) return ret; } =20 -static int vidioc_s_dv_timings(struct file *file, void *priv, +static int vidioc_s_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct hdpvr_device *dev =3D video_drvdata(file); @@ -665,7 +668,8 @@ static int vidioc_s_dv_timings(struct file *file, void = *priv, return 0; } =20 -static int vidioc_g_dv_timings(struct file *file, void *priv, +static int vidioc_g_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct hdpvr_device *dev =3D video_drvdata(file); @@ -678,7 +682,8 @@ static int vidioc_g_dv_timings(struct file *file, void = *priv, return 0; } =20 -static int vidioc_query_dv_timings(struct file *file, void *priv, +static int vidioc_query_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct hdpvr_device *dev =3D video_drvdata(file); @@ -720,7 +725,8 @@ static int vidioc_query_dv_timings(struct file *file, v= oid *priv, return ret; } =20 -static int vidioc_enum_dv_timings(struct file *file, void *priv, +static int vidioc_enum_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_enum_dv_timings *timings) { struct hdpvr_device *dev =3D video_drvdata(file); @@ -736,7 +742,8 @@ static int vidioc_enum_dv_timings(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_dv_timings_cap(struct file *file, void *priv, +static int vidioc_dv_timings_cap(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings_cap *cap) { struct hdpvr_device *dev =3D video_drvdata(file); @@ -763,7 +770,9 @@ static const char *iname[] =3D { [HDPVR_COMPOSITE] =3D "Composite", }; =20 -static int vidioc_enum_input(struct file *file, void *priv, struct v4l2_in= put *i) +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, + struct v4l2_input *i) { unsigned int n; =20 @@ -783,7 +792,8 @@ static int vidioc_enum_input(struct file *file, void *p= riv, struct v4l2_input *i return 0; } =20 -static int vidioc_s_input(struct file *file, void *priv, +static int vidioc_s_input(struct file *file, + struct video_device_state *state, unsigned int index) { struct hdpvr_device *dev =3D video_drvdata(file); @@ -817,7 +827,8 @@ static int vidioc_s_input(struct file *file, void *priv, return retval; } =20 -static int vidioc_g_input(struct file *file, void *priv, +static int vidioc_g_input(struct file *file, + struct video_device_state *state, unsigned int *index) { struct hdpvr_device *dev =3D video_drvdata(file); @@ -833,7 +844,8 @@ static const char *audio_iname[] =3D { [HDPVR_SPDIF] =3D "SPDIF", }; =20 -static int vidioc_enumaudio(struct file *file, void *priv, +static int vidioc_enumaudio(struct file *file, + struct video_device_state *state, struct v4l2_audio *audio) { unsigned int n; @@ -849,7 +861,8 @@ static int vidioc_enumaudio(struct file *file, void *pr= iv, return 0; } =20 -static int vidioc_s_audio(struct file *file, void *priv, +static int vidioc_s_audio(struct file *file, + struct video_device_state *state, const struct v4l2_audio *audio) { struct hdpvr_device *dev =3D video_drvdata(file); @@ -868,7 +881,8 @@ static int vidioc_s_audio(struct file *file, void *priv, return retval; } =20 -static int vidioc_g_audio(struct file *file, void *priv, +static int vidioc_g_audio(struct file *file, + struct video_device_state *state, struct v4l2_audio *audio) { struct hdpvr_device *dev =3D video_drvdata(file); @@ -985,7 +999,8 @@ static int hdpvr_s_ctrl(struct v4l2_ctrl *ctrl) return ret; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index !=3D 0) @@ -996,7 +1011,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, = void *priv, return 0; } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct hdpvr_device *dev =3D video_drvdata(file); @@ -1042,7 +1058,8 @@ static int vidioc_g_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_encoder_cmd(struct file *filp, void *priv, +static int vidioc_encoder_cmd(struct file *filp, + struct video_device_state *state, struct v4l2_encoder_cmd *a) { struct hdpvr_device *dev =3D video_drvdata(filp); @@ -1087,7 +1104,8 @@ static int vidioc_encoder_cmd(struct file *filp, void= *priv, return res; } =20 -static int vidioc_try_encoder_cmd(struct file *filp, void *priv, +static int vidioc_try_encoder_cmd(struct file *filp, + struct video_device_state *state, struct v4l2_encoder_cmd *a) { a->flags =3D 0; diff --git a/drivers/media/usb/msi2500/msi2500.c b/drivers/media/usb/msi250= 0/msi2500.c index 33099f39146afd6f59e0bd6b316d8f9e1eaa6a64..6cae78276da10be75145f377278= 4f5bbcc22be36 100644 --- a/drivers/media/usb/msi2500/msi2500.c +++ b/drivers/media/usb/msi2500/msi2500.c @@ -581,7 +581,8 @@ static void msi2500_disconnect(struct usb_interface *in= tf) v4l2_device_put(&dev->v4l2_dev); } =20 -static int msi2500_querycap(struct file *file, void *fh, +static int msi2500_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct msi2500_dev *dev =3D video_drvdata(file); @@ -885,7 +886,8 @@ static const struct vb2_ops msi2500_vb2_ops =3D { .stop_streaming =3D msi2500_stop_streaming, }; =20 -static int msi2500_enum_fmt_sdr_cap(struct file *file, void *priv, +static int msi2500_enum_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct msi2500_dev *dev =3D video_drvdata(file); @@ -900,7 +902,8 @@ static int msi2500_enum_fmt_sdr_cap(struct file *file, = void *priv, return 0; } =20 -static int msi2500_g_fmt_sdr_cap(struct file *file, void *priv, +static int msi2500_g_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct msi2500_dev *dev =3D video_drvdata(file); @@ -914,7 +917,8 @@ static int msi2500_g_fmt_sdr_cap(struct file *file, voi= d *priv, return 0; } =20 -static int msi2500_s_fmt_sdr_cap(struct file *file, void *priv, +static int msi2500_s_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct msi2500_dev *dev =3D video_drvdata(file); @@ -944,7 +948,8 @@ static int msi2500_s_fmt_sdr_cap(struct file *file, voi= d *priv, return 0; } =20 -static int msi2500_try_fmt_sdr_cap(struct file *file, void *priv, +static int msi2500_try_fmt_sdr_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct msi2500_dev *dev =3D video_drvdata(file); @@ -966,7 +971,8 @@ static int msi2500_try_fmt_sdr_cap(struct file *file, v= oid *priv, return 0; } =20 -static int msi2500_s_tuner(struct file *file, void *priv, +static int msi2500_s_tuner(struct file *file, + struct video_device_state *state, const struct v4l2_tuner *v) { struct msi2500_dev *dev =3D video_drvdata(file); @@ -984,7 +990,9 @@ static int msi2500_s_tuner(struct file *file, void *pri= v, return ret; } =20 -static int msi2500_g_tuner(struct file *file, void *priv, struct v4l2_tune= r *v) +static int msi2500_g_tuner(struct file *file, + struct video_device_state *state, + struct v4l2_tuner *v) { struct msi2500_dev *dev =3D video_drvdata(file); int ret; @@ -1007,7 +1015,8 @@ static int msi2500_g_tuner(struct file *file, void *p= riv, struct v4l2_tuner *v) return ret; } =20 -static int msi2500_g_frequency(struct file *file, void *priv, +static int msi2500_g_frequency(struct file *file, + struct video_device_state *state, struct v4l2_frequency *f) { struct msi2500_dev *dev =3D video_drvdata(file); @@ -1028,7 +1037,8 @@ static int msi2500_g_frequency(struct file *file, voi= d *priv, return ret; } =20 -static int msi2500_s_frequency(struct file *file, void *priv, +static int msi2500_s_frequency(struct file *file, + struct video_device_state *state, const struct v4l2_frequency *f) { struct msi2500_dev *dev =3D video_drvdata(file); @@ -1052,7 +1062,8 @@ static int msi2500_s_frequency(struct file *file, voi= d *priv, return ret; } =20 -static int msi2500_enum_freq_bands(struct file *file, void *priv, +static int msi2500_enum_freq_bands(struct file *file, + struct video_device_state *state, struct v4l2_frequency_band *band) { struct msi2500_dev *dev =3D video_drvdata(file); diff --git a/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c b/drivers/media/usb/p= vrusb2/pvrusb2-v4l2.c index f9535a484738a9ef25795daa11a74ccb0b914be9..87933dec13cb10f35cfc0185c55= 23224ba020791 100644 --- a/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c +++ b/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c @@ -109,7 +109,8 @@ static struct v4l2_format pvr_format [] =3D { /* * This is part of Video 4 Linux API. These procedures handle ioctl() call= s. */ -static int pvr2_querycap(struct file *file, void *priv, struct v4l2_capabi= lity *cap) +static int pvr2_querycap(struct file *file, struct video_device_state *sta= te, + struct v4l2_capability *cap) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -124,7 +125,8 @@ static int pvr2_querycap(struct file *file, void *priv,= struct v4l2_capability * return 0; } =20 -static int pvr2_g_std(struct file *file, void *priv, v4l2_std_id *std) +static int pvr2_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *std) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -137,7 +139,8 @@ static int pvr2_g_std(struct file *file, void *priv, v4= l2_std_id *std) return ret; } =20 -static int pvr2_s_std(struct file *file, void *priv, v4l2_std_id std) +static int pvr2_s_std(struct file *file, struct video_device_state *state, + v4l2_std_id std) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -149,7 +152,8 @@ static int pvr2_s_std(struct file *file, void *priv, v4= l2_std_id std) return ret; } =20 -static int pvr2_querystd(struct file *file, void *priv, v4l2_std_id *std) +static int pvr2_querystd(struct file *file, struct video_device_state *sta= te, + v4l2_std_id *std) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -162,7 +166,9 @@ static int pvr2_querystd(struct file *file, void *priv,= v4l2_std_id *std) return ret; } =20 -static int pvr2_enum_input(struct file *file, void *priv, struct v4l2_inpu= t *vi) +static int pvr2_enum_input(struct file *file, + struct video_device_state *state, + struct v4l2_input *vi) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -210,7 +216,8 @@ static int pvr2_enum_input(struct file *file, void *pri= v, struct v4l2_input *vi) return 0; } =20 -static int pvr2_g_input(struct file *file, void *priv, unsigned int *i) +static int pvr2_g_input(struct file *file, struct video_device_state *stat= e, + unsigned int *i) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -232,7 +239,8 @@ static int pvr2_g_input(struct file *file, void *priv, = unsigned int *i) return ret; } =20 -static int pvr2_s_input(struct file *file, void *priv, unsigned int inp) +static int pvr2_s_input(struct file *file, struct video_device_state *stat= e, + unsigned int inp) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -247,7 +255,8 @@ static int pvr2_s_input(struct file *file, void *priv, = unsigned int inp) return ret; } =20 -static int pvr2_enumaudio(struct file *file, void *priv, struct v4l2_audio= *vin) +static int pvr2_enumaudio(struct file *file, struct video_device_state *st= ate, + struct v4l2_audio *vin) { /* pkt: FIXME: We are returning one "fake" input here which could very well be called "whatever_we_like". @@ -271,7 +280,8 @@ static int pvr2_enumaudio(struct file *file, void *priv= , struct v4l2_audio *vin) return 0; } =20 -static int pvr2_g_audio(struct file *file, void *priv, struct v4l2_audio *= vin) +static int pvr2_g_audio(struct file *file, struct video_device_state *stat= e, + struct v4l2_audio *vin) { /* pkt: FIXME: see above comment (VIDIOC_ENUMAUDIO) */ vin->index =3D 0; @@ -280,14 +290,16 @@ static int pvr2_g_audio(struct file *file, void *priv= , struct v4l2_audio *vin) return 0; } =20 -static int pvr2_s_audio(struct file *file, void *priv, const struct v4l2_a= udio *vout) +static int pvr2_s_audio(struct file *file, struct video_device_state *stat= e, + const struct v4l2_audio *vout) { if (vout->index) return -EINVAL; return 0; } =20 -static int pvr2_g_tuner(struct file *file, void *priv, struct v4l2_tuner *= vt) +static int pvr2_g_tuner(struct file *file, struct video_device_state *stat= e, + struct v4l2_tuner *vt) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -299,7 +311,8 @@ static int pvr2_g_tuner(struct file *file, void *priv, = struct v4l2_tuner *vt) return pvr2_hdw_get_tuner_status(hdw, vt); } =20 -static int pvr2_s_tuner(struct file *file, void *priv, const struct v4l2_t= uner *vt) +static int pvr2_s_tuner(struct file *file, struct video_device_state *stat= e, + const struct v4l2_tuner *vt) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -315,7 +328,9 @@ static int pvr2_s_tuner(struct file *file, void *priv, = const struct v4l2_tuner * return ret; } =20 -static int pvr2_s_frequency(struct file *file, void *priv, const struct v4= l2_frequency *vf) +static int pvr2_s_frequency(struct file *file, + struct video_device_state *state, + const struct v4l2_frequency *vf) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -350,7 +365,9 @@ static int pvr2_s_frequency(struct file *file, void *pr= iv, const struct v4l2_fre return ret; } =20 -static int pvr2_g_frequency(struct file *file, void *priv, struct v4l2_fre= quency *vf) +static int pvr2_g_frequency(struct file *file, + struct video_device_state *state, + struct v4l2_frequency *vf) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -382,7 +399,9 @@ static int pvr2_g_frequency(struct file *file, void *pr= iv, struct v4l2_frequency return 0; } =20 -static int pvr2_enum_fmt_vid_cap(struct file *file, void *priv, struct v4l= 2_fmtdesc *fd) +static int pvr2_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *fd) { /* Only one format is supported: MPEG. */ if (fd->index) @@ -392,7 +411,9 @@ static int pvr2_enum_fmt_vid_cap(struct file *file, voi= d *priv, struct v4l2_fmtd return 0; } =20 -static int pvr2_g_fmt_vid_cap(struct file *file, void *priv, struct v4l2_f= ormat *vf) +static int pvr2_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *vf) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -412,7 +433,9 @@ static int pvr2_g_fmt_vid_cap(struct file *file, void *= priv, struct v4l2_format return 0; } =20 -static int pvr2_try_fmt_vid_cap(struct file *file, void *priv, struct v4l2= _format *vf) +static int pvr2_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *vf) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -450,12 +473,14 @@ static int pvr2_try_fmt_vid_cap(struct file *file, vo= id *priv, struct v4l2_forma return 0; } =20 -static int pvr2_s_fmt_vid_cap(struct file *file, void *priv, struct v4l2_f= ormat *vf) +static int pvr2_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *vf) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; struct pvr2_ctrl *hcp, *vcp; - int ret =3D pvr2_try_fmt_vid_cap(file, fh, vf); + int ret =3D pvr2_try_fmt_vid_cap(file, state, vf); =20 if (ret) return ret; @@ -467,7 +492,8 @@ static int pvr2_s_fmt_vid_cap(struct file *file, void *= priv, struct v4l2_format return 0; } =20 -static int pvr2_streamon(struct file *file, void *priv, enum v4l2_buf_type= i) +static int pvr2_streamon(struct file *file, struct video_device_state *sta= te, + enum v4l2_buf_type i) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -486,7 +512,8 @@ static int pvr2_streamon(struct file *file, void *priv,= enum v4l2_buf_type i) return pvr2_hdw_set_streaming(hdw, !0); } =20 -static int pvr2_streamoff(struct file *file, void *priv, enum v4l2_buf_typ= e i) +static int pvr2_streamoff(struct file *file, struct video_device_state *st= ate, + enum v4l2_buf_type i) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -500,7 +527,8 @@ static int pvr2_streamoff(struct file *file, void *priv= , enum v4l2_buf_type i) return pvr2_hdw_set_streaming(hdw, 0); } =20 -static int pvr2_query_ext_ctrl(struct file *file, void *priv, +static int pvr2_query_ext_ctrl(struct file *file, + struct video_device_state *state, struct v4l2_query_ext_ctrl *vc) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); @@ -562,7 +590,8 @@ static int pvr2_query_ext_ctrl(struct file *file, void = *priv, return 0; } =20 -static int pvr2_querymenu(struct file *file, void *priv, struct v4l2_query= menu *vm) +static int pvr2_querymenu(struct file *file, struct video_device_state *st= ate, + struct v4l2_querymenu *vm) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -577,7 +606,8 @@ static int pvr2_querymenu(struct file *file, void *priv= , struct v4l2_querymenu * return ret; } =20 -static int pvr2_g_ext_ctrls(struct file *file, void *priv, +static int pvr2_g_ext_ctrls(struct file *file, + struct video_device_state *state, struct v4l2_ext_controls *ctls) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); @@ -612,7 +642,8 @@ static int pvr2_g_ext_ctrls(struct file *file, void *pr= iv, return 0; } =20 -static int pvr2_s_ext_ctrls(struct file *file, void *priv, +static int pvr2_s_ext_ctrls(struct file *file, + struct video_device_state *state, struct v4l2_ext_controls *ctls) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); @@ -637,7 +668,8 @@ static int pvr2_s_ext_ctrls(struct file *file, void *pr= iv, return ret; } =20 -static int pvr2_try_ext_ctrls(struct file *file, void *priv, +static int pvr2_try_ext_ctrls(struct file *file, + struct video_device_state *state, struct v4l2_ext_controls *ctls) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); @@ -659,8 +691,9 @@ static int pvr2_try_ext_ctrls(struct file *file, void *= priv, return 0; } =20 -static int pvr2_g_pixelaspect(struct file *file, void *priv, - int type, struct v4l2_fract *f) +static int pvr2_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, + struct v4l2_fract *f) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; @@ -675,7 +708,8 @@ static int pvr2_g_pixelaspect(struct file *file, void *= priv, return ret; } =20 -static int pvr2_g_selection(struct file *file, void *priv, +static int pvr2_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); @@ -726,7 +760,8 @@ static int pvr2_g_selection(struct file *file, void *pr= iv, return ret; } =20 -static int pvr2_s_selection(struct file *file, void *priv, +static int pvr2_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); @@ -759,7 +794,8 @@ static int pvr2_s_selection(struct file *file, void *pr= iv, return ret; } =20 -static int pvr2_log_status(struct file *file, void *priv) +static int pvr2_log_status(struct file *file, + struct video_device_state *state) { struct pvr2_v4l2_fh *fh =3D to_pvr2_v4l2_fh(file); struct pvr2_hdw *hdw =3D fh->channel.mc_head->hdw; diff --git a/drivers/media/usb/pwc/pwc-v4l.c b/drivers/media/usb/pwc/pwc-v4= l.c index 71b719d363a5df71a65b34b103b968a5b3b8cb68..986552e8a11fe4e9fe0b6b316c7= b34840be300b6 100644 --- a/drivers/media/usb/pwc/pwc-v4l.c +++ b/drivers/media/usb/pwc/pwc-v4l.c @@ -446,7 +446,9 @@ static int pwc_vidioc_try_fmt(struct pwc_device *pdev, = struct v4l2_format *f) =20 /* ioctl(VIDIOC_SET_FMT) */ =20 -static int pwc_s_fmt_vid_cap(struct file *file, void *fh, struct v4l2_form= at *f) +static int pwc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct pwc_device *pdev =3D video_drvdata(file); int ret, pixelformat, compression =3D 0; @@ -476,7 +478,8 @@ static int pwc_s_fmt_vid_cap(struct file *file, void *f= h, struct v4l2_format *f) return ret; } =20 -static int pwc_querycap(struct file *file, void *fh, struct v4l2_capabilit= y *cap) +static int pwc_querycap(struct file *file, struct video_device_state *stat= e, + struct v4l2_capability *cap) { struct pwc_device *pdev =3D video_drvdata(file); =20 @@ -486,7 +489,8 @@ static int pwc_querycap(struct file *file, void *fh, st= ruct v4l2_capability *cap return 0; } =20 -static int pwc_enum_input(struct file *file, void *fh, struct v4l2_input *= i) +static int pwc_enum_input(struct file *file, struct video_device_state *st= ate, + struct v4l2_input *i) { if (i->index) /* Only one INPUT is supported */ return -EINVAL; @@ -496,13 +500,15 @@ static int pwc_enum_input(struct file *file, void *fh= , struct v4l2_input *i) return 0; } =20 -static int pwc_g_input(struct file *file, void *fh, unsigned int *i) +static int pwc_g_input(struct file *file, struct video_device_state *state, + unsigned int *i) { *i =3D 0; return 0; } =20 -static int pwc_s_input(struct file *file, void *fh, unsigned int i) +static int pwc_s_input(struct file *file, struct video_device_state *state, + unsigned int i) { return i ? -EINVAL : 0; } @@ -864,7 +870,9 @@ static int pwc_s_ctrl(struct v4l2_ctrl *ctrl) return ret; } =20 -static int pwc_enum_fmt_vid_cap(struct file *file, void *fh, struct v4l2_f= mtdesc *f) +static int pwc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_fmtdesc *f) { struct pwc_device *pdev =3D video_drvdata(file); =20 @@ -883,7 +891,9 @@ static int pwc_enum_fmt_vid_cap(struct file *file, void= *fh, struct v4l2_fmtdesc return 0; } =20 -static int pwc_g_fmt_vid_cap(struct file *file, void *fh, struct v4l2_form= at *f) +static int pwc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct pwc_device *pdev =3D video_drvdata(file); =20 @@ -896,14 +906,17 @@ static int pwc_g_fmt_vid_cap(struct file *file, void = *fh, struct v4l2_format *f) return 0; } =20 -static int pwc_try_fmt_vid_cap(struct file *file, void *fh, struct v4l2_fo= rmat *f) +static int pwc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct pwc_device *pdev =3D video_drvdata(file); =20 return pwc_vidioc_try_fmt(pdev, f); } =20 -static int pwc_enum_framesizes(struct file *file, void *fh, +static int pwc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct pwc_device *pdev =3D video_drvdata(file); @@ -928,8 +941,9 @@ static int pwc_enum_framesizes(struct file *file, void = *fh, return -EINVAL; } =20 -static int pwc_enum_frameintervals(struct file *file, void *fh, - struct v4l2_frmivalenum *fival) +static int pwc_enum_frameintervals(struct file *file, + struct video_device_state *state, + struct v4l2_frmivalenum *fival) { struct pwc_device *pdev =3D video_drvdata(file); int size =3D -1; @@ -958,7 +972,8 @@ static int pwc_enum_frameintervals(struct file *file, v= oid *fh, return 0; } =20 -static int pwc_g_parm(struct file *file, void *fh, +static int pwc_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct pwc_device *pdev =3D video_drvdata(file); @@ -977,7 +992,8 @@ static int pwc_g_parm(struct file *file, void *fh, return 0; } =20 -static int pwc_s_parm(struct file *file, void *fh, +static int pwc_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct pwc_device *pdev =3D video_drvdata(file); @@ -1003,7 +1019,7 @@ static int pwc_s_parm(struct file *file, void *fh, ret =3D pwc_set_video_mode(pdev, pdev->width, pdev->height, pdev->pixfmt, fps, &compression, 0); =20 - pwc_g_parm(file, fh, parm); + pwc_g_parm(file, state, parm); =20 return ret; } diff --git a/drivers/media/usb/s2255/s2255drv.c b/drivers/media/usb/s2255/s= 2255drv.c index 8332f2c5aed7067035ef6475e0b3d528e7fc804f..efc9526135a5212c6c3d104a4ca= e940922357acd 100644 --- a/drivers/media/usb/s2255/s2255drv.c +++ b/drivers/media/usb/s2255/s2255drv.c @@ -706,7 +706,8 @@ static const struct vb2_ops s2255_video_qops =3D { .stop_streaming =3D stop_streaming, }; =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct s2255_vc *vc =3D video_drvdata(file); @@ -718,7 +719,8 @@ static int vidioc_querycap(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { int index =3D f->index; @@ -732,7 +734,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct s2255_vc *vc =3D video_drvdata(file); @@ -752,8 +755,9 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { const struct s2255_fmt *fmt; enum v4l2_field field; @@ -803,8 +807,9 @@ static int vidioc_try_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_format *f) +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct s2255_vc *vc =3D video_drvdata(file); const struct s2255_fmt *fmt; @@ -812,7 +817,7 @@ static int vidioc_s_fmt_vid_cap(struct file *file, void= *priv, struct s2255_mode mode; int ret; =20 - ret =3D vidioc_try_fmt_vid_cap(file, vc, f); + ret =3D vidioc_try_fmt_vid_cap(file, state, f); =20 if (ret < 0) return ret; @@ -1089,7 +1094,8 @@ static void stop_streaming(struct vb2_queue *vq) spin_unlock_irqrestore(&vc->qlock, flags); } =20 -static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id i) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id i) { struct s2255_vc *vc =3D video_drvdata(file); struct s2255_mode mode; @@ -1130,7 +1136,8 @@ static int vidioc_s_std(struct file *file, void *priv= , v4l2_std_id i) return 0; } =20 -static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *i) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *i) { struct s2255_vc *vc =3D video_drvdata(file); =20 @@ -1145,7 +1152,8 @@ static int vidioc_g_std(struct file *file, void *priv= , v4l2_std_id *i) For instance, you cannot do full FPS on more than 2 channels(2 videodev= s) at once in color(you can do full fps on 4 channels with greyscale. */ -static int vidioc_enum_input(struct file *file, void *priv, +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { struct s2255_vc *vc =3D video_drvdata(file); @@ -1179,12 +1187,15 @@ static int vidioc_enum_input(struct file *file, voi= d *priv, return 0; } =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { *i =3D 0; return 0; } -static int vidioc_s_input(struct file *file, void *priv, unsigned int i) + +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { if (i > 0) return -EINVAL; @@ -1230,7 +1241,8 @@ static int s2255_s_ctrl(struct v4l2_ctrl *ctrl) return 0; } =20 -static int vidioc_g_jpegcomp(struct file *file, void *priv, +static int vidioc_g_jpegcomp(struct file *file, + struct video_device_state *state, struct v4l2_jpegcompression *jc) { struct s2255_vc *vc =3D video_drvdata(file); @@ -1241,7 +1253,8 @@ static int vidioc_g_jpegcomp(struct file *file, void = *priv, return 0; } =20 -static int vidioc_s_jpegcomp(struct file *file, void *priv, +static int vidioc_s_jpegcomp(struct file *file, + struct video_device_state *state, const struct v4l2_jpegcompression *jc) { struct s2255_vc *vc =3D video_drvdata(file); @@ -1253,7 +1266,8 @@ static int vidioc_s_jpegcomp(struct file *file, void = *priv, return 0; } =20 -static int vidioc_g_parm(struct file *file, void *priv, +static int vidioc_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *sp) { __u32 def_num, def_dem; @@ -1290,7 +1304,8 @@ static int vidioc_g_parm(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_s_parm(struct file *file, void *priv, +static int vidioc_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *sp) { struct s2255_vc *vc =3D video_drvdata(file); @@ -1344,7 +1359,8 @@ static const struct v4l2_frmsize_discrete pal_sizes[]= =3D { { 352, 288 }, }; =20 -static int vidioc_enum_framesizes(struct file *file, void *priv, +static int vidioc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fe) { struct s2255_vc *vc =3D video_drvdata(file); @@ -1362,7 +1378,8 @@ static int vidioc_enum_framesizes(struct file *file, = void *priv, return 0; } =20 -static int vidioc_enum_frameintervals(struct file *file, void *priv, +static int vidioc_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fe) { struct s2255_vc *vc =3D video_drvdata(file); diff --git a/drivers/media/usb/stk1160/stk1160-v4l.c b/drivers/media/usb/st= k1160/stk1160-v4l.c index 715ce1dcb304129d76d73ba327858da4e89396a4..4a9efc72b47e11a7c99ba7b16ad= 6fafec0efd3e8 100644 --- a/drivers/media/usb/stk1160/stk1160-v4l.c +++ b/drivers/media/usb/stk1160/stk1160-v4l.c @@ -329,7 +329,7 @@ static const struct v4l2_file_operations stk1160_fops = =3D { * vidioc ioctls */ static int vidioc_querycap(struct file *file, - void *priv, struct v4l2_capability *cap) + struct video_device_state *state, struct v4l2_capability *cap) { struct stk1160 *dev =3D video_drvdata(file); =20 @@ -339,8 +339,8 @@ static int vidioc_querycap(struct file *file, return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, - struct v4l2_fmtdesc *f) +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index !=3D 0) return -EINVAL; @@ -349,7 +349,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct stk1160 *dev =3D video_drvdata(file); @@ -468,7 +469,8 @@ static int stk1160_try_fmt(struct stk1160 *dev, struct = v4l2_format *f, return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct stk1160 *dev =3D video_drvdata(file); @@ -476,7 +478,8 @@ static int vidioc_try_fmt_vid_cap(struct file *file, vo= id *priv, return stk1160_try_fmt(dev, f, NULL); } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct stk1160 *dev =3D video_drvdata(file); @@ -497,14 +500,17 @@ static int vidioc_s_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int vidioc_querystd(struct file *file, void *priv, v4l2_std_id *nor= m) +static int vidioc_querystd(struct file *file, + struct video_device_state *state, + v4l2_std_id *norm) { struct stk1160 *dev =3D video_drvdata(file); v4l2_device_call_all(&dev->v4l2_dev, 0, video, querystd, norm); return 0; } =20 -static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *norm) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *norm) { struct stk1160 *dev =3D video_drvdata(file); =20 @@ -512,7 +518,8 @@ static int vidioc_g_std(struct file *file, void *priv, = v4l2_std_id *norm) return 0; } =20 -static int vidioc_s_std(struct file *file, void *priv, v4l2_std_id norm) +static int vidioc_s_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id norm) { struct stk1160 *dev =3D video_drvdata(file); struct vb2_queue *q =3D &dev->vb_vidq; @@ -544,7 +551,8 @@ static int vidioc_s_std(struct file *file, void *priv, = v4l2_std_id norm) } =20 =20 -static int vidioc_enum_input(struct file *file, void *priv, +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct stk1160 *dev =3D video_drvdata(file); @@ -563,14 +571,16 @@ static int vidioc_enum_input(struct file *file, void = *priv, return 0; } =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { struct stk1160 *dev =3D video_drvdata(file); *i =3D dev->ctl_input; return 0; } =20 -static int vidioc_s_input(struct file *file, void *priv, unsigned int i) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { struct stk1160 *dev =3D video_drvdata(file); =20 @@ -585,7 +595,8 @@ static int vidioc_s_input(struct file *file, void *priv= , unsigned int i) } =20 #ifdef CONFIG_VIDEO_ADV_DEBUG -static int vidioc_g_register(struct file *file, void *priv, +static int vidioc_g_register(struct file *file, + struct video_device_state *state, struct v4l2_dbg_register *reg) { struct stk1160 *dev =3D video_drvdata(file); @@ -600,7 +611,8 @@ static int vidioc_g_register(struct file *file, void *p= riv, return rc; } =20 -static int vidioc_s_register(struct file *file, void *priv, +static int vidioc_s_register(struct file *file, + struct video_device_state *state, const struct v4l2_dbg_register *reg) { struct stk1160 *dev =3D video_drvdata(file); diff --git a/drivers/media/usb/usbtv/usbtv-video.c b/drivers/media/usb/usbt= v/usbtv-video.c index de0328100a60dd7b4335e208fee4cd2864d5b99d..da256a4cf2481662c9df5f105f8= 649ed658558d1 100644 --- a/drivers/media/usb/usbtv/usbtv-video.c +++ b/drivers/media/usb/usbtv/usbtv-video.c @@ -602,7 +602,8 @@ static int usbtv_start(struct usbtv *usbtv) return ret; } =20 -static int usbtv_querycap(struct file *file, void *priv, +static int usbtv_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct usbtv *dev =3D video_drvdata(file); @@ -613,7 +614,8 @@ static int usbtv_querycap(struct file *file, void *priv, return 0; } =20 -static int usbtv_enum_input(struct file *file, void *priv, +static int usbtv_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *i) { struct usbtv *dev =3D video_drvdata(file); @@ -634,7 +636,8 @@ static int usbtv_enum_input(struct file *file, void *pr= iv, return 0; } =20 -static int usbtv_enum_fmt_vid_cap(struct file *file, void *priv, +static int usbtv_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index > 0) @@ -644,7 +647,8 @@ static int usbtv_enum_fmt_vid_cap(struct file *file, vo= id *priv, return 0; } =20 -static int usbtv_fmt_vid_cap(struct file *file, void *priv, +static int usbtv_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct usbtv *usbtv =3D video_drvdata(file); @@ -660,14 +664,16 @@ static int usbtv_fmt_vid_cap(struct file *file, void = *priv, return 0; } =20 -static int usbtv_g_std(struct file *file, void *priv, v4l2_std_id *norm) +static int usbtv_g_std(struct file *file, struct video_device_state *state, + v4l2_std_id *norm) { struct usbtv *usbtv =3D video_drvdata(file); *norm =3D usbtv->norm; return 0; } =20 -static int usbtv_s_std(struct file *file, void *priv, v4l2_std_id norm) +static int usbtv_s_std(struct file *file, struct video_device_state *state, + v4l2_std_id norm) { int ret =3D -EINVAL; struct usbtv *usbtv =3D video_drvdata(file); @@ -678,14 +684,16 @@ static int usbtv_s_std(struct file *file, void *priv,= v4l2_std_id norm) return ret; } =20 -static int usbtv_g_input(struct file *file, void *priv, unsigned int *i) +static int usbtv_g_input(struct file *file, struct video_device_state *sta= te, + unsigned int *i) { struct usbtv *usbtv =3D video_drvdata(file); *i =3D usbtv->input; return 0; } =20 -static int usbtv_s_input(struct file *file, void *priv, unsigned int i) +static int usbtv_s_input(struct file *file, struct video_device_state *sta= te, + unsigned int i) { struct usbtv *usbtv =3D video_drvdata(file); =20 diff --git a/drivers/media/usb/uvc/uvc_metadata.c b/drivers/media/usb/uvc/u= vc_metadata.c index c23b174965c379a1abbc51d42acacade80ff7e10..5c4f61054e8013a13c9062cfa9f= e84319b051980 100644 --- a/drivers/media/usb/uvc/uvc_metadata.c +++ b/drivers/media/usb/uvc/uvc_metadata.c @@ -23,7 +23,8 @@ * V4L2 ioctls */ =20 -static int uvc_meta_v4l2_querycap(struct file *file, void *priv, +static int uvc_meta_v4l2_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); @@ -39,7 +40,8 @@ static int uvc_meta_v4l2_querycap(struct file *file, void= *priv, return 0; } =20 -static int uvc_meta_v4l2_get_format(struct file *file, void *priv, +static int uvc_meta_v4l2_get_format(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); @@ -55,7 +57,8 @@ static int uvc_meta_v4l2_get_format(struct file *file, vo= id *priv, return 0; } =20 -static int uvc_meta_v4l2_try_format(struct file *file, void *priv, +static int uvc_meta_v4l2_try_format(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); @@ -82,7 +85,8 @@ static int uvc_meta_v4l2_try_format(struct file *file, vo= id *priv, return 0; } =20 -static int uvc_meta_v4l2_set_format(struct file *file, void *priv, +static int uvc_meta_v4l2_set_format(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); @@ -90,7 +94,7 @@ static int uvc_meta_v4l2_set_format(struct file *file, vo= id *priv, struct v4l2_meta_format *fmt =3D &format->fmt.meta; int ret; =20 - ret =3D uvc_meta_v4l2_try_format(file, priv, format); + ret =3D uvc_meta_v4l2_try_format(file, state, format); if (ret < 0) return ret; =20 @@ -107,7 +111,8 @@ static int uvc_meta_v4l2_set_format(struct file *file, = void *priv, return 0; } =20 -static int uvc_meta_v4l2_enum_formats(struct file *file, void *priv, +static int uvc_meta_v4l2_enum_formats(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fdesc) { struct v4l2_fh *vfh =3D file_to_v4l2_fh(file); diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v= 4l2.c index 9e4a251eca88085a1b4e0e854370015855be92ee..ce6b9403638e71676b15cb3e18c= 41b8aa4e9c15d 100644 --- a/drivers/media/usb/uvc/uvc_v4l2.c +++ b/drivers/media/usb/uvc/uvc_v4l2.c @@ -386,7 +386,8 @@ static int uvc_v4l2_try_format(struct uvc_streaming *st= ream, return ret; } =20 -static int uvc_ioctl_g_fmt(struct file *file, void *priv, +static int uvc_ioctl_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -416,7 +417,8 @@ static int uvc_ioctl_g_fmt(struct file *file, void *pri= v, return 0; } =20 -static int uvc_ioctl_s_fmt(struct file *file, void *priv, +static int uvc_ioctl_s_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -443,7 +445,8 @@ static int uvc_ioctl_s_fmt(struct file *file, void *pri= v, return 0; } =20 -static int uvc_ioctl_g_parm(struct file *file, void *priv, +static int uvc_ioctl_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { u32 numerator, denominator; @@ -477,7 +480,8 @@ static int uvc_ioctl_g_parm(struct file *file, void *pr= iv, return 0; } =20 -static int uvc_ioctl_s_parm(struct file *file, void *priv, +static int uvc_ioctl_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -599,7 +603,8 @@ static int uvc_v4l2_release(struct file *file) return 0; } =20 -static int uvc_ioctl_querycap(struct file *file, void *priv, +static int uvc_ioctl_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -615,7 +620,8 @@ static int uvc_ioctl_querycap(struct file *file, void *= priv, return 0; } =20 -static int uvc_ioctl_enum_fmt(struct file *file, void *priv, +static int uvc_ioctl_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fmt) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -639,7 +645,8 @@ static int uvc_ioctl_enum_fmt(struct file *file, void *= priv, return 0; } =20 -static int uvc_ioctl_try_fmt(struct file *file, void *priv, +static int uvc_ioctl_try_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -649,7 +656,8 @@ static int uvc_ioctl_try_fmt(struct file *file, void *p= riv, return uvc_v4l2_try_format(stream, fmt, &probe, NULL, NULL); } =20 -static int uvc_ioctl_enum_input(struct file *file, void *priv, +static int uvc_ioctl_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *input) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -692,7 +700,9 @@ static int uvc_ioctl_enum_input(struct file *file, void= *priv, return 0; } =20 -static int uvc_ioctl_g_input(struct file *file, void *priv, unsigned int *= input) +static int uvc_ioctl_g_input(struct file *file, + struct video_device_state *state, + unsigned int *input) { struct uvc_fh *handle =3D to_uvc_fh(file); struct uvc_video_chain *chain =3D handle->chain; @@ -720,7 +730,9 @@ static int uvc_ioctl_g_input(struct file *file, void *p= riv, unsigned int *input) return ret; } =20 -static int uvc_ioctl_s_input(struct file *file, void *priv, unsigned int i= nput) +static int uvc_ioctl_s_input(struct file *file, + struct video_device_state *state, + unsigned int input) { struct uvc_fh *handle =3D to_uvc_fh(file); struct uvc_streaming *stream =3D handle->stream; @@ -754,7 +766,8 @@ static int uvc_ioctl_s_input(struct file *file, void *p= riv, unsigned int input) return ret; } =20 -static int uvc_ioctl_query_ext_ctrl(struct file *file, void *priv, +static int uvc_ioctl_query_ext_ctrl(struct file *file, + struct video_device_state *state, struct v4l2_query_ext_ctrl *qec) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -782,7 +795,8 @@ static int uvc_ctrl_check_access(struct uvc_video_chain= *chain, return ret; } =20 -static int uvc_ioctl_g_ext_ctrls(struct file *file, void *priv, +static int uvc_ioctl_g_ext_ctrls(struct file *file, + struct video_device_state *state, struct v4l2_ext_controls *ctrls) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -866,7 +880,8 @@ static int uvc_ioctl_s_try_ext_ctrls(struct uvc_fh *han= dle, return uvc_ctrl_rollback(handle); } =20 -static int uvc_ioctl_s_ext_ctrls(struct file *file, void *priv, +static int uvc_ioctl_s_ext_ctrls(struct file *file, + struct video_device_state *state, struct v4l2_ext_controls *ctrls) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -874,7 +889,8 @@ static int uvc_ioctl_s_ext_ctrls(struct file *file, voi= d *priv, return uvc_ioctl_s_try_ext_ctrls(handle, ctrls, VIDIOC_S_EXT_CTRLS); } =20 -static int uvc_ioctl_try_ext_ctrls(struct file *file, void *priv, +static int uvc_ioctl_try_ext_ctrls(struct file *file, + struct video_device_state *state, struct v4l2_ext_controls *ctrls) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -882,7 +898,8 @@ static int uvc_ioctl_try_ext_ctrls(struct file *file, v= oid *priv, return uvc_ioctl_s_try_ext_ctrls(handle, ctrls, VIDIOC_TRY_EXT_CTRLS); } =20 -static int uvc_ioctl_querymenu(struct file *file, void *priv, +static int uvc_ioctl_querymenu(struct file *file, + struct video_device_state *state, struct v4l2_querymenu *qm) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -891,7 +908,8 @@ static int uvc_ioctl_querymenu(struct file *file, void = *priv, return uvc_query_v4l2_menu(chain, qm); } =20 -static int uvc_ioctl_g_selection(struct file *file, void *priv, +static int uvc_ioctl_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -923,7 +941,8 @@ static int uvc_ioctl_g_selection(struct file *file, voi= d *priv, return 0; } =20 -static int uvc_ioctl_enum_framesizes(struct file *file, void *priv, +static int uvc_ioctl_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -963,7 +982,8 @@ static int uvc_ioctl_enum_framesizes(struct file *file,= void *priv, return 0; } =20 -static int uvc_ioctl_enum_frameintervals(struct file *file, void *priv, +static int uvc_ioctl_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fival) { struct uvc_fh *handle =3D to_uvc_fh(file); @@ -1035,7 +1055,8 @@ static int uvc_ioctl_subscribe_event(struct v4l2_fh *= fh, } } =20 -static long uvc_ioctl_default(struct file *file, void *priv, bool valid_pr= io, +static long uvc_ioctl_default(struct file *file, + struct video_device_state *state, bool valid_prio, unsigned int cmd, void *arg) { struct uvc_fh *handle =3D to_uvc_fh(file); diff --git a/drivers/media/v4l2-core/v4l2-ctrls-api.c b/drivers/media/v4l2-= core/v4l2-ctrls-api.c index 0078a04c544590cc02988c7d041e66519432a8cf..9fe86526e38ffd131f2c5fb48bb= 61843a2543f8a 100644 --- a/drivers/media/v4l2-core/v4l2-ctrls-api.c +++ b/drivers/media/v4l2-core/v4l2-ctrls-api.c @@ -1250,7 +1250,7 @@ EXPORT_SYMBOL(v4l2_querymenu); * VIDIOC_LOG_STATUS helpers */ =20 -int v4l2_ctrl_log_status(struct file *file, void *priv) +int v4l2_ctrl_log_status(struct file *file, struct video_device_state *sta= te) { struct video_device *vfd =3D video_devdata(file); =20 diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v= 4l2-dev.c index 2606077538be0e83032c6ae8956c1d67da0d0c5d..93bf8067eaf79b5b33363922434= bd82591f19f83 100644 --- a/drivers/media/v4l2-core/v4l2-dev.c +++ b/drivers/media/v4l2-core/v4l2-dev.c @@ -208,9 +208,9 @@ struct v4l2_format *video_device_state_get_fmt(struct v= ideo_device_state *state) } EXPORT_SYMBOL_GPL(video_device_state_get_fmt); =20 -int video_device_g_fmt(struct file *file, void *priv, struct v4l2_format *= fmt) +int video_device_g_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *fmt) { - struct video_device_state *state =3D priv; struct v4l2_format *vfmt =3D video_device_state_get_fmt(state); =20 if (!vfmt) diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-co= re/v4l2-mem2mem.c index 21acd9bc860718ccbe59925865d3a6dd9ec9484b..f6b310e70082a4d5d98fba1920a= 67b15152c5a1c 100644 --- a/drivers/media/v4l2-core/v4l2-mem2mem.c +++ b/drivers/media/v4l2-core/v4l2-mem2mem.c @@ -1364,8 +1364,8 @@ EXPORT_SYMBOL_GPL(v4l2_m2m_request_queue); =20 /* Videobuf2 ioctl helpers */ =20 -int v4l2_m2m_ioctl_reqbufs(struct file *file, void *priv, - struct v4l2_requestbuffers *rb) +int v4l2_m2m_ioctl_reqbufs(struct file *file, struct video_device_state *s= tate, + struct v4l2_requestbuffers *rb) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); =20 @@ -1373,8 +1373,9 @@ int v4l2_m2m_ioctl_reqbufs(struct file *file, void *p= riv, } EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_reqbufs); =20 -int v4l2_m2m_ioctl_create_bufs(struct file *file, void *priv, - struct v4l2_create_buffers *create) +int v4l2_m2m_ioctl_create_bufs(struct file *file, + struct video_device_state *state, + struct v4l2_create_buffers *create) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); =20 @@ -1382,7 +1383,8 @@ int v4l2_m2m_ioctl_create_bufs(struct file *file, voi= d *priv, } EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_create_bufs); =20 -int v4l2_m2m_ioctl_remove_bufs(struct file *file, void *priv, +int v4l2_m2m_ioctl_remove_bufs(struct file *file, + struct video_device_state *state, struct v4l2_remove_buffers *remove) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); @@ -1397,8 +1399,8 @@ int v4l2_m2m_ioctl_remove_bufs(struct file *file, voi= d *priv, } EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_remove_bufs); =20 -int v4l2_m2m_ioctl_querybuf(struct file *file, void *priv, - struct v4l2_buffer *buf) +int v4l2_m2m_ioctl_querybuf(struct file *file, struct video_device_state *= state, + struct v4l2_buffer *buf) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); =20 @@ -1406,8 +1408,8 @@ int v4l2_m2m_ioctl_querybuf(struct file *file, void *= priv, } EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_querybuf); =20 -int v4l2_m2m_ioctl_qbuf(struct file *file, void *priv, - struct v4l2_buffer *buf) +int v4l2_m2m_ioctl_qbuf(struct file *file, struct video_device_state *stat= e, + struct v4l2_buffer *buf) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); =20 @@ -1415,8 +1417,8 @@ int v4l2_m2m_ioctl_qbuf(struct file *file, void *priv, } EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_qbuf); =20 -int v4l2_m2m_ioctl_dqbuf(struct file *file, void *priv, - struct v4l2_buffer *buf) +int v4l2_m2m_ioctl_dqbuf(struct file *file, struct video_device_state *sta= te, + struct v4l2_buffer *buf) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); =20 @@ -1424,7 +1426,8 @@ int v4l2_m2m_ioctl_dqbuf(struct file *file, void *pri= v, } EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_dqbuf); =20 -int v4l2_m2m_ioctl_prepare_buf(struct file *file, void *priv, +int v4l2_m2m_ioctl_prepare_buf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); @@ -1433,7 +1436,8 @@ int v4l2_m2m_ioctl_prepare_buf(struct file *file, voi= d *priv, } EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_prepare_buf); =20 -int v4l2_m2m_ioctl_expbuf(struct file *file, void *priv, +int v4l2_m2m_ioctl_expbuf(struct file *file, + struct video_device_state *state, struct v4l2_exportbuffer *eb) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); @@ -1442,7 +1446,8 @@ int v4l2_m2m_ioctl_expbuf(struct file *file, void *pr= iv, } EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_expbuf); =20 -int v4l2_m2m_ioctl_streamon(struct file *file, void *priv, +int v4l2_m2m_ioctl_streamon(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); @@ -1451,7 +1456,8 @@ int v4l2_m2m_ioctl_streamon(struct file *file, void *= priv, } EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_streamon); =20 -int v4l2_m2m_ioctl_streamoff(struct file *file, void *priv, +int v4l2_m2m_ioctl_streamoff(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); @@ -1460,7 +1466,8 @@ int v4l2_m2m_ioctl_streamoff(struct file *file, void = *priv, } EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_streamoff); =20 -int v4l2_m2m_ioctl_try_encoder_cmd(struct file *file, void *priv, +int v4l2_m2m_ioctl_try_encoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_encoder_cmd *ec) { if (ec->cmd !=3D V4L2_ENC_CMD_STOP && ec->cmd !=3D V4L2_ENC_CMD_START) @@ -1471,7 +1478,8 @@ int v4l2_m2m_ioctl_try_encoder_cmd(struct file *file,= void *priv, } EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_try_encoder_cmd); =20 -int v4l2_m2m_ioctl_try_decoder_cmd(struct file *file, void *priv, +int v4l2_m2m_ioctl_try_decoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_decoder_cmd *dc) { if (dc->cmd !=3D V4L2_DEC_CMD_STOP && dc->cmd !=3D V4L2_DEC_CMD_START) @@ -1535,7 +1543,8 @@ int v4l2_m2m_decoder_cmd(struct file *file, struct v4= l2_m2m_ctx *m2m_ctx, } EXPORT_SYMBOL_GPL(v4l2_m2m_decoder_cmd); =20 -int v4l2_m2m_ioctl_encoder_cmd(struct file *file, void *priv, +int v4l2_m2m_ioctl_encoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_encoder_cmd *ec) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); @@ -1544,7 +1553,8 @@ int v4l2_m2m_ioctl_encoder_cmd(struct file *file, voi= d *priv, } EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_encoder_cmd); =20 -int v4l2_m2m_ioctl_decoder_cmd(struct file *file, void *priv, +int v4l2_m2m_ioctl_decoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_decoder_cmd *dc) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); @@ -1553,7 +1563,8 @@ int v4l2_m2m_ioctl_decoder_cmd(struct file *file, voi= d *priv, } EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_decoder_cmd); =20 -int v4l2_m2m_ioctl_stateless_try_decoder_cmd(struct file *file, void *priv, +int v4l2_m2m_ioctl_stateless_try_decoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_decoder_cmd *dc) { if (dc->cmd !=3D V4L2_DEC_CMD_FLUSH) @@ -1565,7 +1576,8 @@ int v4l2_m2m_ioctl_stateless_try_decoder_cmd(struct f= ile *file, void *priv, } EXPORT_SYMBOL_GPL(v4l2_m2m_ioctl_stateless_try_decoder_cmd); =20 -int v4l2_m2m_ioctl_stateless_decoder_cmd(struct file *file, void *priv, +int v4l2_m2m_ioctl_stateless_decoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_decoder_cmd *dc) { struct v4l2_fh *fh =3D file_to_v4l2_fh(file); @@ -1574,7 +1586,7 @@ int v4l2_m2m_ioctl_stateless_decoder_cmd(struct file = *file, void *priv, unsigned long flags; int ret; =20 - ret =3D v4l2_m2m_ioctl_stateless_try_decoder_cmd(file, priv, dc); + ret =3D v4l2_m2m_ioctl_stateless_try_decoder_cmd(file, state, dc); if (ret < 0) return ret; =20 diff --git a/drivers/staging/media/atomisp/pci/atomisp_ioctl.c b/drivers/st= aging/media/atomisp/pci/atomisp_ioctl.c index bb8b2f2213b08f0329326e70d704e609bbffb321..d46589788fe20f3e17bbdaca3f2= 8649346e34bce 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_ioctl.c +++ b/drivers/staging/media/atomisp/pci/atomisp_ioctl.c @@ -360,7 +360,8 @@ int atomisp_pipe_check(struct atomisp_video_pipe *pipe,= bool settings_change) * v4l2 ioctls * return ISP capabilities */ -static int atomisp_querycap(struct file *file, void *fh, +static int atomisp_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct video_device *vdev =3D video_devdata(file); @@ -376,7 +377,8 @@ static int atomisp_querycap(struct file *file, void *fh, /* * enum input are used to check primary/secondary camera */ -static int atomisp_enum_input(struct file *file, void *fh, +static int atomisp_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *input) { struct video_device *vdev =3D video_devdata(file); @@ -403,7 +405,9 @@ static int atomisp_enum_input(struct file *file, void *= fh, /* * get input are used to get current primary/secondary camera */ -static int atomisp_g_input(struct file *file, void *fh, unsigned int *inpu= t) +static int atomisp_g_input(struct file *file, + struct video_device_state *state, + unsigned int *input) { struct video_device *vdev =3D video_devdata(file); struct atomisp_sub_device *asd =3D atomisp_to_video_pipe(vdev)->asd; @@ -412,7 +416,8 @@ static int atomisp_g_input(struct file *file, void *fh,= unsigned int *input) return 0; } =20 -static int atomisp_s_fmt_cap(struct file *file, void *fh, +static int atomisp_s_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct video_device *vdev =3D video_devdata(file); @@ -423,7 +428,9 @@ static int atomisp_s_fmt_cap(struct file *file, void *f= h, /* * set input are used to set current primary/secondary camera */ -static int atomisp_s_input(struct file *file, void *fh, unsigned int input) +static int atomisp_s_input(struct file *file, + struct video_device_state *state, + unsigned int input) { struct video_device *vdev =3D video_devdata(file); struct atomisp_device *isp =3D video_get_drvdata(vdev); @@ -524,7 +531,8 @@ static int atomisp_enum_framesizes_crop(struct atomisp_= device *isp, return atomisp_enum_framesizes_crop_inner(isp, fsize, &active, &native, &= valid_sizes); } =20 -static int atomisp_enum_framesizes(struct file *file, void *priv, +static int atomisp_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct video_device *vdev =3D video_devdata(file); @@ -560,7 +568,8 @@ static int atomisp_enum_framesizes(struct file *file, v= oid *priv, return 0; } =20 -static int atomisp_enum_frameintervals(struct file *file, void *priv, +static int atomisp_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fival) { struct video_device *vdev =3D video_devdata(file); @@ -594,7 +603,8 @@ static int atomisp_enum_frameintervals(struct file *fil= e, void *priv, return ret; } =20 -static int atomisp_enum_fmt_cap(struct file *file, void *fh, +static int atomisp_enum_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct video_device *vdev =3D video_devdata(file); @@ -648,7 +658,8 @@ static int atomisp_enum_fmt_cap(struct file *file, void= *fh, } =20 /* This function looks up the closest available resolution. */ -static int atomisp_try_fmt_cap(struct file *file, void *fh, +static int atomisp_try_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct video_device *vdev =3D video_devdata(file); @@ -657,7 +668,8 @@ static int atomisp_try_fmt_cap(struct file *file, void = *fh, return atomisp_try_fmt(isp, &f->fmt.pix, NULL, NULL); } =20 -static int atomisp_g_fmt_cap(struct file *file, void *fh, +static int atomisp_g_fmt_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct video_device *vdev =3D video_devdata(file); @@ -675,7 +687,7 @@ static int atomisp_g_fmt_cap(struct file *file, void *f= h, f->fmt.pix.width =3D 10000; f->fmt.pix.height =3D 10000; =20 - return atomisp_try_fmt_cap(file, fh, f); + return atomisp_try_fmt_cap(file, state, f); } =20 int atomisp_alloc_css_stat_bufs(struct atomisp_sub_device *asd, @@ -787,7 +799,9 @@ int atomisp_alloc_css_stat_bufs(struct atomisp_sub_devi= ce *asd, * Once this is fixed these wrappers can be removed, replacing them with d= irect * calls to vb2_ioctl_[d]qbuf(). */ -static int atomisp_qbuf_wrapper(struct file *file, void *fh, struct v4l2_b= uffer *buf) +static int atomisp_qbuf_wrapper(struct file *file, + struct video_device_state *state, + struct v4l2_buffer *buf) { struct video_device *vdev =3D video_devdata(file); struct atomisp_device *isp =3D video_get_drvdata(vdev); @@ -807,10 +821,12 @@ static int atomisp_qbuf_wrapper(struct file *file, vo= id *fh, struct v4l2_buffer pipe->frame_request_config_id[buf->index] =3D 0; } =20 - return vb2_ioctl_qbuf(file, fh, buf); + return vb2_ioctl_qbuf(file, state, buf); } =20 -static int atomisp_dqbuf_wrapper(struct file *file, void *fh, struct v4l2_= buffer *buf) +static int atomisp_dqbuf_wrapper(struct file *file, + struct video_device_state *state, + struct v4l2_buffer *buf) { struct video_device *vdev =3D video_devdata(file); struct atomisp_video_pipe *pipe =3D atomisp_to_video_pipe(vdev); @@ -819,7 +835,7 @@ static int atomisp_dqbuf_wrapper(struct file *file, voi= d *fh, struct v4l2_buffer struct vb2_buffer *vb; int ret; =20 - ret =3D vb2_ioctl_dqbuf(file, fh, buf); + ret =3D vb2_ioctl_dqbuf(file, state, buf); if (ret) return ret; =20 @@ -1135,7 +1151,8 @@ static int atomisp_s_ctrl(struct file *file, void *fh, * this ioctl with a pointer to this structure. The driver fills * the rest of the structure. */ -static int atomisp_query_ext_ctrl(struct file *file, void *fh, +static int atomisp_query_ext_ctrl(struct file *file, + struct video_device_state *state, struct v4l2_query_ext_ctrl *qc) { int i; @@ -1191,7 +1208,8 @@ static int atomisp_camera_g_ext_ctrls(struct file *fi= le, void *fh, } =20 /* This ioctl allows the application to get multiple controls by class */ -static int atomisp_g_ext_ctrls(struct file *file, void *fh, +static int atomisp_g_ext_ctrls(struct file *file, + struct video_device_state *state, struct v4l2_ext_controls *c) { struct v4l2_control ctrl; @@ -1201,14 +1219,14 @@ static int atomisp_g_ext_ctrls(struct file *file, v= oid *fh, * input_lock is not need for the Camera related IOCTLs * The input_lock downgrade the FPS of 3A */ - ret =3D atomisp_camera_g_ext_ctrls(file, fh, c); + ret =3D atomisp_camera_g_ext_ctrls(file, state, c); if (ret !=3D -EINVAL) return ret; =20 for (i =3D 0; i < c->count; i++) { ctrl.id =3D c->controls[i].id; ctrl.value =3D c->controls[i].value; - ret =3D atomisp_g_ctrl(file, fh, &ctrl); + ret =3D atomisp_g_ctrl(file, state, &ctrl); c->controls[i].value =3D ctrl.value; if (ret) { c->error_idx =3D i; @@ -1254,7 +1272,8 @@ static int atomisp_camera_s_ext_ctrls(struct file *fi= le, void *fh, } =20 /* This ioctl allows the application to set multiple controls by class */ -static int atomisp_s_ext_ctrls(struct file *file, void *fh, +static int atomisp_s_ext_ctrls(struct file *file, + struct video_device_state *state, struct v4l2_ext_controls *c) { struct v4l2_control ctrl; @@ -1264,14 +1283,14 @@ static int atomisp_s_ext_ctrls(struct file *file, v= oid *fh, * input_lock is not need for the Camera related IOCTLs * The input_lock downgrade the FPS of 3A */ - ret =3D atomisp_camera_s_ext_ctrls(file, fh, c); + ret =3D atomisp_camera_s_ext_ctrls(file, state, c); if (ret !=3D -EINVAL) return ret; =20 for (i =3D 0; i < c->count; i++) { ctrl.id =3D c->controls[i].id; ctrl.value =3D c->controls[i].value; - ret =3D atomisp_s_ctrl(file, fh, &ctrl); + ret =3D atomisp_s_ctrl(file, state, &ctrl); c->controls[i].value =3D ctrl.value; if (ret) { c->error_idx =3D i; @@ -1284,7 +1303,8 @@ static int atomisp_s_ext_ctrls(struct file *file, voi= d *fh, /* * vidioc_g/s_param are used to switch isp running mode */ -static int atomisp_g_parm(struct file *file, void *fh, +static int atomisp_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct video_device *vdev =3D video_devdata(file); @@ -1301,7 +1321,8 @@ static int atomisp_g_parm(struct file *file, void *fh, return 0; } =20 -static int atomisp_s_parm(struct file *file, void *fh, +static int atomisp_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct video_device *vdev =3D video_devdata(file); @@ -1354,7 +1375,8 @@ static int atomisp_s_parm(struct file *file, void *fh, return rval =3D=3D -ENOIOCTLCMD ? 0 : rval; } =20 -static long atomisp_vidioc_default(struct file *file, void *fh, +static long atomisp_vidioc_default(struct file *file, + struct video_device_state *state, bool valid_prio, unsigned int cmd, void *arg) { struct video_device *vdev =3D video_devdata(file); diff --git a/drivers/staging/media/av7110/av7110_v4l.c b/drivers/staging/me= dia/av7110/av7110_v4l.c index 04e659243f02bc588b8140d55a3de44e664ff286..1738925d13594c68ad14f70cb95= 853fd5b91e07a 100644 --- a/drivers/staging/media/av7110/av7110_v4l.c +++ b/drivers/staging/media/av7110/av7110_v4l.c @@ -290,7 +290,8 @@ static int av7110_dvb_c_switch(struct saa7146_dev *dev) return 0; } =20 -static int vidioc_g_tuner(struct file *file, void *fh, struct v4l2_tuner *= t) +static int vidioc_g_tuner(struct file *file, struct video_device_state *st= ate, + struct v4l2_tuner *t) { struct saa7146_dev *dev =3D video_drvdata(file); struct av7110 *av7110 =3D (struct av7110 *)dev->ext_priv; @@ -336,7 +337,8 @@ static int vidioc_g_tuner(struct file *file, void *fh, = struct v4l2_tuner *t) return 0; } =20 -static int vidioc_s_tuner(struct file *file, void *fh, const struct v4l2_t= uner *t) +static int vidioc_s_tuner(struct file *file, struct video_device_state *st= ate, + const struct v4l2_tuner *t) { struct saa7146_dev *dev =3D video_drvdata(file); struct av7110 *av7110 =3D (struct av7110 *)dev->ext_priv; @@ -381,7 +383,9 @@ static int vidioc_s_tuner(struct file *file, void *fh, = const struct v4l2_tuner * return 0; } =20 -static int vidioc_g_frequency(struct file *file, void *fh, struct v4l2_fre= quency *f) +static int vidioc_g_frequency(struct file *file, + struct video_device_state *state, + struct v4l2_frequency *f) { struct saa7146_dev *dev =3D video_drvdata(file); struct av7110 *av7110 =3D (struct av7110 *)dev->ext_priv; @@ -397,7 +401,9 @@ static int vidioc_g_frequency(struct file *file, void *= fh, struct v4l2_frequency return 0; } =20 -static int vidioc_s_frequency(struct file *file, void *fh, const struct v4= l2_frequency *f) +static int vidioc_s_frequency(struct file *file, + struct video_device_state *state, + const struct v4l2_frequency *f) { struct saa7146_dev *dev =3D video_drvdata(file); struct av7110 *av7110 =3D (struct av7110 *)dev->ext_priv; @@ -427,7 +433,9 @@ static int vidioc_s_frequency(struct file *file, void *= fh, const struct v4l2_fre return 0; } =20 -static int vidioc_enum_input(struct file *file, void *fh, struct v4l2_inpu= t *i) +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, + struct v4l2_input *i) { struct saa7146_dev *dev =3D video_drvdata(file); struct av7110 *av7110 =3D (struct av7110 *)dev->ext_priv; @@ -447,7 +455,8 @@ static int vidioc_enum_input(struct file *file, void *f= h, struct v4l2_input *i) return 0; } =20 -static int vidioc_g_input(struct file *file, void *fh, unsigned int *input) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *input) { struct saa7146_dev *dev =3D video_drvdata(file); struct av7110 *av7110 =3D (struct av7110 *)dev->ext_priv; @@ -457,7 +466,8 @@ static int vidioc_g_input(struct file *file, void *fh, = unsigned int *input) return 0; } =20 -static int vidioc_s_input(struct file *file, void *fh, unsigned int input) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int input) { struct saa7146_dev *dev =3D video_drvdata(file); struct av7110 *av7110 =3D (struct av7110 *)dev->ext_priv; @@ -474,7 +484,9 @@ static int vidioc_s_input(struct file *file, void *fh, = unsigned int input) return av7110_dvb_c_switch(dev); } =20 -static int vidioc_enum_output(struct file *file, void *fh, struct v4l2_out= put *o) +static int vidioc_enum_output(struct file *file, + struct video_device_state *state, + struct v4l2_output *o) { if (o->index) return -EINVAL; @@ -485,18 +497,24 @@ static int vidioc_enum_output(struct file *file, void= *fh, struct v4l2_output *o return 0; } =20 -static int vidioc_g_output(struct file *file, void *fh, unsigned int *outp= ut) +static int vidioc_g_output(struct file *file, + struct video_device_state *state, + unsigned int *output) { *output =3D 0; return 0; } =20 -static int vidioc_s_output(struct file *file, void *fh, unsigned int outpu= t) +static int vidioc_s_output(struct file *file, + struct video_device_state *state, + unsigned int output) { return output ? -EINVAL : 0; } =20 -static int vidioc_enumaudio(struct file *file, void *fh, struct v4l2_audio= *a) +static int vidioc_enumaudio(struct file *file, + struct video_device_state *state, + struct v4l2_audio *a) { dprintk(2, "VIDIOC_G_AUDIO: %d\n", a->index); if (a->index !=3D 0) @@ -505,7 +523,8 @@ static int vidioc_enumaudio(struct file *file, void *fh= , struct v4l2_audio *a) return 0; } =20 -static int vidioc_g_audio(struct file *file, void *fh, struct v4l2_audio *= a) +static int vidioc_g_audio(struct file *file, struct video_device_state *st= ate, + struct v4l2_audio *a) { struct saa7146_dev *dev =3D video_drvdata(file); struct av7110 *av7110 =3D (struct av7110 *)dev->ext_priv; @@ -519,7 +538,8 @@ static int vidioc_g_audio(struct file *file, void *fh, = struct v4l2_audio *a) return 0; } =20 -static int vidioc_s_audio(struct file *file, void *fh, const struct v4l2_a= udio *a) +static int vidioc_s_audio(struct file *file, struct video_device_state *st= ate, + const struct v4l2_audio *a) { struct saa7146_dev *dev =3D video_drvdata(file); struct av7110 *av7110 =3D (struct av7110 *)dev->ext_priv; @@ -530,7 +550,8 @@ static int vidioc_s_audio(struct file *file, void *fh, = const struct v4l2_audio * return a->index ? -EINVAL : 0; } =20 -static int vidioc_g_sliced_vbi_cap(struct file *file, void *fh, +static int vidioc_g_sliced_vbi_cap(struct file *file, + struct video_device_state *state, struct v4l2_sliced_vbi_cap *cap) { struct saa7146_dev *dev =3D video_drvdata(file); @@ -546,7 +567,8 @@ static int vidioc_g_sliced_vbi_cap(struct file *file, v= oid *fh, return 0; } =20 -static int vidioc_g_fmt_sliced_vbi_out(struct file *file, void *fh, +static int vidioc_g_fmt_sliced_vbi_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct saa7146_dev *dev =3D video_drvdata(file); @@ -564,7 +586,8 @@ static int vidioc_g_fmt_sliced_vbi_out(struct file *fil= e, void *fh, return 0; } =20 -static int vidioc_try_fmt_sliced_vbi_out(struct file *file, void *fh, +static int vidioc_try_fmt_sliced_vbi_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct saa7146_dev *dev =3D video_drvdata(file); @@ -585,14 +608,15 @@ static int vidioc_try_fmt_sliced_vbi_out(struct file = *file, void *fh, return 0; } =20 -static int vidioc_s_fmt_sliced_vbi_out(struct file *file, void *fh, +static int vidioc_s_fmt_sliced_vbi_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct saa7146_dev *dev =3D video_drvdata(file); struct av7110 *av7110 =3D (struct av7110 *)dev->ext_priv; =20 dprintk(2, "VIDIOC_S_FMT\n"); - if (vidioc_try_fmt_sliced_vbi_out(file, fh, f)) + if (vidioc_try_fmt_sliced_vbi_out(file, state, f)) return -EINVAL; if (f->fmt.sliced.service_set & V4L2_SLICED_WSS_625) { /* WSS controlled by userspace */ diff --git a/drivers/staging/media/deprecated/atmel/atmel-isc-base.c b/driv= ers/staging/media/deprecated/atmel/atmel-isc-base.c index fb9ee8547392b4ee768b39ce08f52488323bb6f9..5f7572cb8e0e2585c95df6f7eaf= 88f35da32153e 100644 --- a/drivers/staging/media/deprecated/atmel/atmel-isc-base.c +++ b/drivers/staging/media/deprecated/atmel/atmel-isc-base.c @@ -483,7 +483,8 @@ static const struct vb2_ops isc_vb2_ops =3D { .buf_queue =3D isc_buffer_queue, }; =20 -static int isc_querycap(struct file *file, void *priv, +static int isc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, "microchip-isc", sizeof(cap->driver)); @@ -492,7 +493,8 @@ static int isc_querycap(struct file *file, void *priv, return 0; } =20 -static int isc_enum_fmt_vid_cap(struct file *file, void *priv, +static int isc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct isc_device *isc =3D video_drvdata(file); @@ -522,7 +524,8 @@ static int isc_enum_fmt_vid_cap(struct file *file, void= *priv, return -EINVAL; } =20 -static int isc_g_fmt_vid_cap(struct file *file, void *priv, +static int isc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *fmt) { struct isc_device *isc =3D video_drvdata(file); @@ -1030,7 +1033,8 @@ static int isc_set_fmt(struct isc_device *isc, struct= v4l2_format *f) return 0; } =20 -static int isc_s_fmt_vid_cap(struct file *file, void *priv, +static int isc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct isc_device *isc =3D video_drvdata(file); @@ -1041,7 +1045,8 @@ static int isc_s_fmt_vid_cap(struct file *file, void = *priv, return isc_set_fmt(isc, f); } =20 -static int isc_try_fmt_vid_cap(struct file *file, void *priv, +static int isc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct isc_device *isc =3D video_drvdata(file); @@ -1049,7 +1054,8 @@ static int isc_try_fmt_vid_cap(struct file *file, voi= d *priv, return isc_try_fmt(isc, f, NULL); } =20 -static int isc_enum_input(struct file *file, void *priv, +static int isc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { if (inp->index !=3D 0) @@ -1062,14 +1068,16 @@ static int isc_enum_input(struct file *file, void *= priv, return 0; } =20 -static int isc_g_input(struct file *file, void *priv, unsigned int *i) +static int isc_g_input(struct file *file, struct video_device_state *state, + unsigned int *i) { *i =3D 0; =20 return 0; } =20 -static int isc_s_input(struct file *file, void *priv, unsigned int i) +static int isc_s_input(struct file *file, struct video_device_state *state, + unsigned int i) { if (i > 0) return -EINVAL; @@ -1077,21 +1085,24 @@ static int isc_s_input(struct file *file, void *pri= v, unsigned int i) return 0; } =20 -static int isc_g_parm(struct file *file, void *fh, struct v4l2_streamparm = *a) +static int isc_g_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct isc_device *isc =3D video_drvdata(file); =20 return v4l2_g_parm_cap(video_devdata(file), isc->current_subdev->sd, a); } =20 -static int isc_s_parm(struct file *file, void *fh, struct v4l2_streamparm = *a) +static int isc_s_parm(struct file *file, struct video_device_state *state, + struct v4l2_streamparm *a) { struct isc_device *isc =3D video_drvdata(file); =20 return v4l2_s_parm_cap(video_devdata(file), isc->current_subdev->sd, a); } =20 -static int isc_enum_framesizes(struct file *file, void *fh, +static int isc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct isc_device *isc =3D video_drvdata(file); diff --git a/drivers/staging/media/imx/imx-media-capture.c b/drivers/stagin= g/media/imx/imx-media-capture.c index e9cef7af000a91674aa2cfe750a399cae40ff9d6..fce78147e5415c125e8fa3cb717= 73e32683a3ca8 100644 --- a/drivers/staging/media/imx/imx-media-capture.c +++ b/drivers/staging/media/imx/imx-media-capture.c @@ -78,7 +78,8 @@ static const struct imx_media_pixfmt *capture_find_format= (u32 code, u32 fourcc) return imx_media_find_mbus_format(code, PIXFMT_SEL_ANY); } =20 -static int capture_querycap(struct file *file, void *fh, +static int capture_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct capture_priv *priv =3D video_drvdata(file); @@ -91,14 +92,16 @@ static int capture_querycap(struct file *file, void *fh, return 0; } =20 -static int capture_enum_fmt_vid_cap(struct file *file, void *fh, +static int capture_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return imx_media_enum_pixel_formats(&f->pixelformat, f->index, PIXFMT_SEL_ANY, f->mbus_code); } =20 -static int capture_enum_framesizes(struct file *file, void *fh, +static int capture_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { const struct imx_media_pixfmt *cc; @@ -126,7 +129,8 @@ static int capture_enum_framesizes(struct file *file, v= oid *fh, return 0; } =20 -static int capture_g_fmt_vid_cap(struct file *file, void *fh, +static int capture_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct capture_priv *priv =3D video_drvdata(file); @@ -179,14 +183,16 @@ __capture_try_fmt(struct v4l2_pix_format *pixfmt, str= uct v4l2_rect *compose) return cc; } =20 -static int capture_try_fmt_vid_cap(struct file *file, void *fh, +static int capture_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { __capture_try_fmt(&f->fmt.pix, NULL); return 0; } =20 -static int capture_s_fmt_vid_cap(struct file *file, void *fh, +static int capture_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct capture_priv *priv =3D video_drvdata(file); @@ -205,7 +211,8 @@ static int capture_s_fmt_vid_cap(struct file *file, voi= d *fh, return 0; } =20 -static int capture_g_selection(struct file *file, void *fh, +static int capture_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct capture_priv *priv =3D video_drvdata(file); @@ -276,7 +283,8 @@ static const struct v4l2_ioctl_ops capture_ioctl_ops = =3D { * Legacy Video IOCTLs */ =20 -static int capture_legacy_enum_framesizes(struct file *file, void *fh, +static int capture_legacy_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct capture_priv *priv =3D video_drvdata(file); @@ -316,7 +324,8 @@ static int capture_legacy_enum_framesizes(struct file *= file, void *fh, return 0; } =20 -static int capture_legacy_enum_frameintervals(struct file *file, void *fh, +static int capture_legacy_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fival) { struct capture_priv *priv =3D video_drvdata(file); @@ -347,7 +356,8 @@ static int capture_legacy_enum_frameintervals(struct fi= le *file, void *fh, return 0; } =20 -static int capture_legacy_enum_fmt_vid_cap(struct file *file, void *fh, +static int capture_legacy_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct capture_priv *priv =3D video_drvdata(file); @@ -422,7 +432,8 @@ __capture_legacy_try_fmt(struct capture_priv *priv, return cc; } =20 -static int capture_legacy_try_fmt_vid_cap(struct file *file, void *fh, +static int capture_legacy_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct capture_priv *priv =3D video_drvdata(file); @@ -442,7 +453,8 @@ static int capture_legacy_try_fmt_vid_cap(struct file *= file, void *fh, return 0; } =20 -static int capture_legacy_s_fmt_vid_cap(struct file *file, void *fh, +static int capture_legacy_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct capture_priv *priv =3D video_drvdata(file); @@ -474,7 +486,8 @@ static int capture_legacy_s_fmt_vid_cap(struct file *fi= le, void *fh, return 0; } =20 -static int capture_legacy_querystd(struct file *file, void *fh, +static int capture_legacy_querystd(struct file *file, + struct video_device_state *state, v4l2_std_id *std) { struct capture_priv *priv =3D video_drvdata(file); @@ -482,14 +495,18 @@ static int capture_legacy_querystd(struct file *file,= void *fh, return v4l2_subdev_call(priv->src_sd, video, querystd, std); } =20 -static int capture_legacy_g_std(struct file *file, void *fh, v4l2_std_id *= std) +static int capture_legacy_g_std(struct file *file, + struct video_device_state *state, + v4l2_std_id *std) { struct capture_priv *priv =3D video_drvdata(file); =20 return v4l2_subdev_call(priv->src_sd, video, g_std, std); } =20 -static int capture_legacy_s_std(struct file *file, void *fh, v4l2_std_id s= td) +static int capture_legacy_s_std(struct file *file, + struct video_device_state *state, + v4l2_std_id std) { struct capture_priv *priv =3D video_drvdata(file); =20 @@ -499,7 +516,8 @@ static int capture_legacy_s_std(struct file *file, void= *fh, v4l2_std_id std) return v4l2_subdev_call(priv->src_sd, video, s_std, std); } =20 -static int capture_legacy_g_parm(struct file *file, void *fh, +static int capture_legacy_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *a) { struct capture_priv *priv =3D video_drvdata(file); @@ -522,7 +540,8 @@ static int capture_legacy_g_parm(struct file *file, voi= d *fh, return 0; } =20 -static int capture_legacy_s_parm(struct file *file, void *fh, +static int capture_legacy_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *a) { struct capture_priv *priv =3D video_drvdata(file); diff --git a/drivers/staging/media/imx/imx-media-csc-scaler.c b/drivers/sta= ging/media/imx/imx-media-csc-scaler.c index 1869c5792ecb46682491ecbf33674c6044915261..38b7bae1ab23c6ab1e899ded8ff= 3f304a84421a1 100644 --- a/drivers/staging/media/imx/imx-media-csc-scaler.c +++ b/drivers/staging/media/imx/imx-media-csc-scaler.c @@ -152,7 +152,8 @@ static void device_run(void *_ctx) /* * Video ioctls */ -static int ipu_csc_scaler_querycap(struct file *file, void *priv, +static int ipu_csc_scaler_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, IMX_CSC_SCALER_NAME, sizeof(cap->driver)); @@ -163,7 +164,8 @@ static int ipu_csc_scaler_querycap(struct file *file, v= oid *priv, return 0; } =20 -static int ipu_csc_scaler_enum_fmt(struct file *file, void *fh, +static int ipu_csc_scaler_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { u32 fourcc; @@ -179,7 +181,8 @@ static int ipu_csc_scaler_enum_fmt(struct file *file, v= oid *fh, return 0; } =20 -static int ipu_csc_scaler_g_fmt(struct file *file, void *priv, +static int ipu_csc_scaler_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ipu_csc_scaler_ctx *ctx =3D file_to_ctx(file); @@ -192,7 +195,8 @@ static int ipu_csc_scaler_g_fmt(struct file *file, void= *priv, return 0; } =20 -static int ipu_csc_scaler_try_fmt(struct file *file, void *priv, +static int ipu_csc_scaler_try_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ipu_csc_scaler_ctx *ctx =3D file_to_ctx(file); @@ -240,7 +244,8 @@ static int ipu_csc_scaler_try_fmt(struct file *file, vo= id *priv, return 0; } =20 -static int ipu_csc_scaler_s_fmt(struct file *file, void *priv, +static int ipu_csc_scaler_s_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ipu_csc_scaler_ctx *ctx =3D file_to_ctx(file); @@ -257,7 +262,7 @@ static int ipu_csc_scaler_s_fmt(struct file *file, void= *priv, =20 q_data =3D get_q_data(ctx, f->type); =20 - ret =3D ipu_csc_scaler_try_fmt(file, priv, f); + ret =3D ipu_csc_scaler_try_fmt(file, state, f); if (ret < 0) return ret; =20 @@ -296,7 +301,8 @@ static int ipu_csc_scaler_s_fmt(struct file *file, void= *priv, return 0; } =20 -static int ipu_csc_scaler_g_selection(struct file *file, void *priv, +static int ipu_csc_scaler_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct ipu_csc_scaler_ctx *ctx =3D file_to_ctx(file); @@ -334,7 +340,8 @@ static int ipu_csc_scaler_g_selection(struct file *file= , void *priv, return 0; } =20 -static int ipu_csc_scaler_s_selection(struct file *file, void *priv, +static int ipu_csc_scaler_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *s) { struct ipu_csc_scaler_ctx *ctx =3D file_to_ctx(file); diff --git a/drivers/staging/media/ipu3/ipu3-v4l2.c b/drivers/staging/media= /ipu3/ipu3-v4l2.c index 2f6041d342f4296446db294ae054c6085d3e8500..e10bf683320c19e8e6a2ab30ab8= 8536348c116bc 100644 --- a/drivers/staging/media/ipu3/ipu3-v4l2.c +++ b/drivers/staging/media/ipu3/ipu3-v4l2.c @@ -621,7 +621,8 @@ static const struct imgu_fmt *find_format(struct v4l2_f= ormat *f, u32 type) &formats[DEF_VID_OUTPUT]; } =20 -static int imgu_vidioc_querycap(struct file *file, void *fh, +static int imgu_vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct imgu_device *imgu =3D video_drvdata(file); @@ -657,7 +658,8 @@ static int enum_fmts(struct v4l2_fmtdesc *f, u32 type) return -EINVAL; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->type !=3D V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) @@ -666,7 +668,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, v= oid *priv, return enum_fmts(f, VID_CAPTURE); } =20 -static int vidioc_enum_fmt_vid_out(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->type !=3D V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) @@ -676,7 +679,8 @@ static int vidioc_enum_fmt_vid_out(struct file *file, v= oid *priv, } =20 /* Propagate forward always the format from the CIO2 subdev */ -static int imgu_vidioc_g_fmt(struct file *file, void *fh, +static int imgu_vidioc_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct imgu_video_device *node =3D file_to_intel_imgu_node(file); @@ -815,7 +819,8 @@ static int imgu_try_fmt(struct file *file, void *fh, st= ruct v4l2_format *f) return 0; } =20 -static int imgu_vidioc_try_fmt(struct file *file, void *fh, +static int imgu_vidioc_try_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct imgu_device *imgu =3D video_drvdata(file); @@ -827,14 +832,16 @@ static int imgu_vidioc_try_fmt(struct file *file, voi= d *fh, dev_dbg(dev, "%s [%ux%u] for node %u\n", __func__, pix_mp->width, pix_mp->height, node->id); =20 - r =3D imgu_try_fmt(file, fh, f); + r =3D imgu_try_fmt(file, state, f); if (r) return r; =20 return imgu_fmt(imgu, node->pipe, node->id, f, true); } =20 -static int imgu_vidioc_s_fmt(struct file *file, void *fh, struct v4l2_form= at *f) +static int imgu_vidioc_s_fmt(struct file *file, + struct video_device_state *state, + struct v4l2_format *f) { struct imgu_device *imgu =3D video_drvdata(file); struct device *dev =3D &imgu->pci_dev->dev; @@ -845,7 +852,7 @@ static int imgu_vidioc_s_fmt(struct file *file, void *f= h, struct v4l2_format *f) dev_dbg(dev, "%s [%ux%u] for node %u\n", __func__, pix_mp->width, pix_mp->height, node->id); =20 - r =3D imgu_try_fmt(file, fh, f); + r =3D imgu_try_fmt(file, state, f); if (r) return r; =20 @@ -863,7 +870,8 @@ static const struct imgu_meta_fmt meta_fmts[] =3D { { V4L2_META_FMT_IPU3_STAT_3A, "IPU3 3A statistics" }, }; =20 -static int imgu_meta_enum_format(struct file *file, void *fh, +static int imgu_meta_enum_format(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fmt) { struct imgu_video_device *node =3D file_to_intel_imgu_node(file); @@ -882,7 +890,8 @@ static int imgu_meta_enum_format(struct file *file, voi= d *fh, return 0; } =20 -static int imgu_vidioc_g_meta_fmt(struct file *file, void *fh, +static int imgu_vidioc_g_meta_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct imgu_video_device *node =3D file_to_intel_imgu_node(file); diff --git a/drivers/staging/media/ipu7/ipu7-isys-video.c b/drivers/staging= /media/ipu7/ipu7-isys-video.c index 1a7c8a91fffb38d1a9b20f896a332a88d8060095..6e46df7a07b0143826c41d21dd3= 920088e70b3c6 100644 --- a/drivers/staging/media/ipu7/ipu7-isys-video.c +++ b/drivers/staging/media/ipu7/ipu7-isys-video.c @@ -107,7 +107,8 @@ const struct ipu7_isys_pixelformat *ipu7_isys_get_isys_= format(u32 pixelformat) return &ipu7_isys_pfmts[0]; } =20 -static int ipu7_isys_vidioc_querycap(struct file *file, void *fh, +static int ipu7_isys_vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct ipu7_isys_video *av =3D video_drvdata(file); @@ -118,7 +119,8 @@ static int ipu7_isys_vidioc_querycap(struct file *file,= void *fh, return 0; } =20 -static int ipu7_isys_vidioc_enum_fmt(struct file *file, void *fh, +static int ipu7_isys_vidioc_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { unsigned int i, num_found; @@ -144,7 +146,8 @@ static int ipu7_isys_vidioc_enum_fmt(struct file *file,= void *fh, return -EINVAL; } =20 -static int ipu7_isys_vidioc_enum_framesizes(struct file *file, void *fh, +static int ipu7_isys_vidioc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { unsigned int i; @@ -170,7 +173,8 @@ static int ipu7_isys_vidioc_enum_framesizes(struct file= *file, void *fh, return -EINVAL; } =20 -static int ipu7_isys_vidioc_g_fmt_vid_cap(struct file *file, void *fh, +static int ipu7_isys_vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ipu7_isys_video *av =3D video_drvdata(file); @@ -226,7 +230,8 @@ static void __ipu_isys_vidioc_try_fmt_vid_cap(struct ip= u7_isys_video *av, f->fmt.pix.xfer_func =3D V4L2_XFER_FUNC_DEFAULT; } =20 -static int ipu7_isys_vidioc_try_fmt_vid_cap(struct file *file, void *fh, +static int ipu7_isys_vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ipu7_isys_video *av =3D video_drvdata(file); @@ -239,18 +244,20 @@ static int ipu7_isys_vidioc_try_fmt_vid_cap(struct fi= le *file, void *fh, return 0; } =20 -static int ipu7_isys_vidioc_s_fmt_vid_cap(struct file *file, void *fh, +static int ipu7_isys_vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct ipu7_isys_video *av =3D video_drvdata(file); =20 - ipu7_isys_vidioc_try_fmt_vid_cap(file, fh, f); + ipu7_isys_vidioc_try_fmt_vid_cap(file, state, f); av->pix_fmt =3D f->fmt.pix; =20 return 0; } =20 -static int ipu7_isys_vidioc_reqbufs(struct file *file, void *priv, +static int ipu7_isys_vidioc_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *p) { struct ipu7_isys_video *av =3D video_drvdata(file); @@ -263,10 +270,11 @@ static int ipu7_isys_vidioc_reqbufs(struct file *file= , void *priv, if (ret) return ret; =20 - return vb2_ioctl_reqbufs(file, priv, p); + return vb2_ioctl_reqbufs(file, state, p); } =20 -static int ipu7_isys_vidioc_create_bufs(struct file *file, void *priv, +static int ipu7_isys_vidioc_create_bufs(struct file *file, + struct video_device_state *state, struct v4l2_create_buffers *p) { struct ipu7_isys_video *av =3D video_drvdata(file); @@ -279,7 +287,7 @@ static int ipu7_isys_vidioc_create_bufs(struct file *fi= le, void *priv, if (ret) return ret; =20 - return vb2_ioctl_create_bufs(file, priv, p); + return vb2_ioctl_create_bufs(file, state, p); } =20 static int link_validate(struct media_link *link) diff --git a/drivers/staging/media/meson/vdec/vdec.c b/drivers/staging/medi= a/meson/vdec/vdec.c index 49e497a32973b8df18c5143e0db68d0f7f42c36c..876e6fdb1fb308746fc58a7cf31= 9bf70d39cfd1c 100644 --- a/drivers/staging/media/meson/vdec/vdec.c +++ b/drivers/staging/media/meson/vdec/vdec.c @@ -453,7 +453,8 @@ static const struct vb2_ops vdec_vb2_ops =3D { }; =20 static int -vdec_querycap(struct file *file, void *fh, struct v4l2_capability *cap) +vdec_querycap(struct file *file, struct video_device_state *state, + struct v4l2_capability *cap) { strscpy(cap->driver, "meson-vdec", sizeof(cap->driver)); strscpy(cap->card, "Amlogic Video Decoder", sizeof(cap->card)); @@ -556,7 +557,8 @@ vdec_try_fmt_common(struct amvdec_session *sess, u32 si= ze, return fmt_out; } =20 -static int vdec_try_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int vdec_try_fmt(struct file *file, struct video_device_state *stat= e, + struct v4l2_format *f) { struct amvdec_session *sess =3D file_to_amvdec_session(file); =20 @@ -565,7 +567,8 @@ static int vdec_try_fmt(struct file *file, void *fh, st= ruct v4l2_format *f) return 0; } =20 -static int vdec_g_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int vdec_g_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct amvdec_session *sess =3D file_to_amvdec_session(file); struct v4l2_pix_format_mplane *pixmp =3D &f->fmt.pix_mp; @@ -592,7 +595,8 @@ static int vdec_g_fmt(struct file *file, void *fh, stru= ct v4l2_format *f) return 0; } =20 -static int vdec_s_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int vdec_s_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct amvdec_session *sess =3D file_to_amvdec_session(file); struct v4l2_pix_format_mplane *pixmp =3D &f->fmt.pix_mp; @@ -653,7 +657,8 @@ static int vdec_s_fmt(struct file *file, void *fh, stru= ct v4l2_format *f) return 0; } =20 -static int vdec_enum_fmt(struct file *file, void *fh, struct v4l2_fmtdesc = *f) +static int vdec_enum_fmt(struct file *file, struct video_device_state *sta= te, + struct v4l2_fmtdesc *f) { struct amvdec_session *sess =3D file_to_amvdec_session(file); const struct vdec_platform *platform =3D sess->core->platform; @@ -681,7 +686,8 @@ static int vdec_enum_fmt(struct file *file, void *fh, s= truct v4l2_fmtdesc *f) return 0; } =20 -static int vdec_enum_framesizes(struct file *file, void *fh, +static int vdec_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct amvdec_session *sess =3D file_to_amvdec_session(file); @@ -706,14 +712,15 @@ static int vdec_enum_framesizes(struct file *file, vo= id *fh, } =20 static int -vdec_decoder_cmd(struct file *file, void *fh, struct v4l2_decoder_cmd *cmd) +vdec_decoder_cmd(struct file *file, struct video_device_state *state, + struct v4l2_decoder_cmd *cmd) { struct amvdec_session *sess =3D file_to_amvdec_session(file); struct amvdec_codec_ops *codec_ops =3D sess->fmt_out->codec_ops; struct device *dev =3D sess->core->dev; int ret; =20 - ret =3D v4l2_m2m_ioctl_try_decoder_cmd(file, fh, cmd); + ret =3D v4l2_m2m_ioctl_try_decoder_cmd(file, state, cmd); if (ret) return ret; =20 @@ -764,7 +771,8 @@ static int vdec_subscribe_event(struct v4l2_fh *fh, } } =20 -static int vdec_g_pixelaspect(struct file *file, void *fh, int type, +static int vdec_g_pixelaspect(struct file *file, + struct video_device_state *state, int type, struct v4l2_fract *f) { struct amvdec_session *sess =3D file_to_amvdec_session(file); diff --git a/drivers/staging/media/starfive/camss/stf-video.c b/drivers/sta= ging/media/starfive/camss/stf-video.c index a0420eb6a0aa034fb0b1468951d84c8fe7bb1b56..b967a44039e05fb22cce3c87364= 965137ce7422c 100644 --- a/drivers/staging/media/starfive/camss/stf-video.c +++ b/drivers/staging/media/starfive/camss/stf-video.c @@ -332,7 +332,8 @@ static const struct vb2_ops stf_video_vb2_q_ops =3D { * V4L2 ioctls */ =20 -static int video_querycap(struct file *file, void *fh, +static int video_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, "starfive-camss", sizeof(cap->driver)); @@ -341,7 +342,8 @@ static int video_querycap(struct file *file, void *fh, return 0; } =20 -static int video_enum_fmt(struct file *file, void *fh, struct v4l2_fmtdesc= *f) +static int video_enum_fmt(struct file *file, struct video_device_state *st= ate, + struct v4l2_fmtdesc *f) { struct stfcamss_video *video =3D video_drvdata(file); const struct stfcamss_format_info *fi; @@ -367,7 +369,8 @@ static int video_enum_fmt(struct file *file, void *fh, = struct v4l2_fmtdesc *f) return 0; } =20 -static int video_enum_framesizes(struct file *file, void *fh, +static int video_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct stfcamss_video *video =3D video_drvdata(file); @@ -395,7 +398,8 @@ static int video_enum_framesizes(struct file *file, voi= d *fh, return 0; } =20 -static int video_g_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int video_g_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct stfcamss_video *video =3D video_drvdata(file); =20 @@ -404,7 +408,8 @@ static int video_g_fmt(struct file *file, void *fh, str= uct v4l2_format *f) return 0; } =20 -static int video_s_fmt(struct file *file, void *fh, struct v4l2_format *f) +static int video_s_fmt(struct file *file, struct video_device_state *state, + struct v4l2_format *f) { struct stfcamss_video *video =3D video_drvdata(file); int ret; @@ -421,7 +426,8 @@ static int video_s_fmt(struct file *file, void *fh, str= uct v4l2_format *f) return 0; } =20 -static int video_try_fmt(struct file *file, void *fh, struct v4l2_format *= f) +static int video_try_fmt(struct file *file, struct video_device_state *sta= te, + struct v4l2_format *f) { struct stfcamss_video *video =3D video_drvdata(file); =20 diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_video.c b/drivers/st= aging/media/sunxi/cedrus/cedrus_video.c index ad4ec349077547ea3428c7341f152d729d775bb2..a96473a966cbc1a2f669ad705fc= f72220a92c37a 100644 --- a/drivers/staging/media/sunxi/cedrus/cedrus_video.c +++ b/drivers/staging/media/sunxi/cedrus/cedrus_video.c @@ -175,7 +175,8 @@ void cedrus_prepare_format(struct v4l2_pix_format *pix_= fmt) pix_fmt->sizeimage =3D sizeimage; } =20 -static int cedrus_querycap(struct file *file, void *priv, +static int cedrus_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { strscpy(cap->driver, CEDRUS_NAME, sizeof(cap->driver)); @@ -218,19 +219,22 @@ static int cedrus_enum_fmt(struct file *file, struct = v4l2_fmtdesc *f, return -EINVAL; } =20 -static int cedrus_enum_fmt_vid_cap(struct file *file, void *priv, +static int cedrus_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return cedrus_enum_fmt(file, f, CEDRUS_DECODE_DST); } =20 -static int cedrus_enum_fmt_vid_out(struct file *file, void *priv, +static int cedrus_enum_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { return cedrus_enum_fmt(file, f, CEDRUS_DECODE_SRC); } =20 -static int cedrus_g_fmt_vid_cap(struct file *file, void *priv, +static int cedrus_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cedrus_ctx *ctx =3D cedrus_file2ctx(file); @@ -239,7 +243,8 @@ static int cedrus_g_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int cedrus_g_fmt_vid_out(struct file *file, void *priv, +static int cedrus_g_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cedrus_ctx *ctx =3D cedrus_file2ctx(file); @@ -270,7 +275,8 @@ static int cedrus_try_fmt_vid_cap_p(struct cedrus_ctx *= ctx, return 0; } =20 -static int cedrus_try_fmt_vid_cap(struct file *file, void *priv, +static int cedrus_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return cedrus_try_fmt_vid_cap_p(cedrus_file2ctx(file), &f->fmt.pix); @@ -292,13 +298,15 @@ static int cedrus_try_fmt_vid_out_p(struct cedrus_ctx= *ctx, return 0; } =20 -static int cedrus_try_fmt_vid_out(struct file *file, void *priv, +static int cedrus_try_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { return cedrus_try_fmt_vid_out_p(cedrus_file2ctx(file), &f->fmt.pix); } =20 -static int cedrus_s_fmt_vid_cap(struct file *file, void *priv, +static int cedrus_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cedrus_ctx *ctx =3D cedrus_file2ctx(file); @@ -309,7 +317,7 @@ static int cedrus_s_fmt_vid_cap(struct file *file, void= *priv, if (vb2_is_busy(vq)) return -EBUSY; =20 - ret =3D cedrus_try_fmt_vid_cap(file, priv, f); + ret =3D cedrus_try_fmt_vid_cap(file, state, f); if (ret) return ret; =20 @@ -381,7 +389,8 @@ void cedrus_reset_out_format(struct cedrus_ctx *ctx) cedrus_s_fmt_vid_out_p(ctx, &ctx->src_fmt); } =20 -static int cedrus_s_fmt_vid_out(struct file *file, void *priv, +static int cedrus_s_fmt_vid_out(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct cedrus_ctx *ctx =3D cedrus_file2ctx(file); diff --git a/drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_capture.c b/dr= ivers/staging/media/sunxi/sun6i-isp/sun6i_isp_capture.c index e7b99cee63d68bcb6d6e69cde9dd5c2de0d553f4..d64d0f77f632d65ff92bc0a4a58= 7efacf2a4a5e9 100644 --- a/drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_capture.c +++ b/drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_capture.c @@ -419,7 +419,8 @@ static void sun6i_isp_capture_format_prepare(struct v4l= 2_format *format) pix_format->xfer_func =3D V4L2_XFER_FUNC_DEFAULT; } =20 -static int sun6i_isp_capture_querycap(struct file *file, void *priv, +static int sun6i_isp_capture_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *capability) { struct sun6i_isp_device *isp_dev =3D video_drvdata(file); @@ -433,7 +434,8 @@ static int sun6i_isp_capture_querycap(struct file *file= , void *priv, return 0; } =20 -static int sun6i_isp_capture_enum_fmt(struct file *file, void *priv, +static int sun6i_isp_capture_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fmtdesc) { u32 index =3D fmtdesc->index; @@ -446,7 +448,8 @@ static int sun6i_isp_capture_enum_fmt(struct file *file= , void *priv, return 0; } =20 -static int sun6i_isp_capture_g_fmt(struct file *file, void *priv, +static int sun6i_isp_capture_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { struct sun6i_isp_device *isp_dev =3D video_drvdata(file); @@ -456,7 +459,8 @@ static int sun6i_isp_capture_g_fmt(struct file *file, v= oid *priv, return 0; } =20 -static int sun6i_isp_capture_s_fmt(struct file *file, void *priv, +static int sun6i_isp_capture_s_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { struct sun6i_isp_device *isp_dev =3D video_drvdata(file); @@ -471,7 +475,8 @@ static int sun6i_isp_capture_s_fmt(struct file *file, v= oid *priv, return 0; } =20 -static int sun6i_isp_capture_try_fmt(struct file *file, void *priv, +static int sun6i_isp_capture_try_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { sun6i_isp_capture_format_prepare(format); @@ -479,7 +484,8 @@ static int sun6i_isp_capture_try_fmt(struct file *file,= void *priv, return 0; } =20 -static int sun6i_isp_capture_enum_input(struct file *file, void *priv, +static int sun6i_isp_capture_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *input) { if (input->index !=3D 0) @@ -491,7 +497,8 @@ static int sun6i_isp_capture_enum_input(struct file *fi= le, void *priv, return 0; } =20 -static int sun6i_isp_capture_g_input(struct file *file, void *priv, +static int sun6i_isp_capture_g_input(struct file *file, + struct video_device_state *state, unsigned int *index) { *index =3D 0; @@ -499,7 +506,8 @@ static int sun6i_isp_capture_g_input(struct file *file,= void *priv, return 0; } =20 -static int sun6i_isp_capture_s_input(struct file *file, void *priv, +static int sun6i_isp_capture_s_input(struct file *file, + struct video_device_state *state, unsigned int index) { if (index !=3D 0) diff --git a/drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_params.c b/dri= vers/staging/media/sunxi/sun6i-isp/sun6i_isp_params.c index 77c2d06c04362157c9cc3de801e8c576313e7da7..ed697fc56dd94fb7f79c0d07b55= c8ea09b1eb8bc 100644 --- a/drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_params.c +++ b/drivers/staging/media/sunxi/sun6i-isp/sun6i_isp_params.c @@ -383,7 +383,8 @@ static const struct vb2_ops sun6i_isp_params_queue_ops = =3D { =20 /* Video Device */ =20 -static int sun6i_isp_params_querycap(struct file *file, void *priv, +static int sun6i_isp_params_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *capability) { struct sun6i_isp_device *isp_dev =3D video_drvdata(file); @@ -397,7 +398,8 @@ static int sun6i_isp_params_querycap(struct file *file,= void *priv, return 0; } =20 -static int sun6i_isp_params_enum_fmt(struct file *file, void *priv, +static int sun6i_isp_params_enum_fmt(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *fmtdesc) { struct sun6i_isp_device *isp_dev =3D video_drvdata(file); @@ -412,7 +414,8 @@ static int sun6i_isp_params_enum_fmt(struct file *file,= void *priv, return 0; } =20 -static int sun6i_isp_params_g_fmt(struct file *file, void *priv, +static int sun6i_isp_params_g_fmt(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { struct sun6i_isp_device *isp_dev =3D video_drvdata(file); diff --git a/drivers/staging/media/tegra-video/vi.c b/drivers/staging/media= /tegra-video/vi.c index c9276ff76157fa2d17e05df271c6ebea4b4455ed..1f9100b28ac0c9e5c31e839e0d0= 378e00a5a872d 100644 --- a/drivers/staging/media/tegra-video/vi.c +++ b/drivers/staging/media/tegra-video/vi.c @@ -294,7 +294,8 @@ static const struct vb2_ops tegra_channel_queue_qops = =3D { /* * V4L2 ioctl operations */ -static int tegra_channel_querycap(struct file *file, void *fh, +static int tegra_channel_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -307,7 +308,8 @@ static int tegra_channel_querycap(struct file *file, vo= id *fh, return 0; } =20 -static int tegra_channel_g_parm(struct file *file, void *fh, +static int tegra_channel_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *a) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -317,7 +319,8 @@ static int tegra_channel_g_parm(struct file *file, void= *fh, return v4l2_g_parm_cap(&chan->video, subdev, a); } =20 -static int tegra_channel_s_parm(struct file *file, void *fh, +static int tegra_channel_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *a) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -327,7 +330,8 @@ static int tegra_channel_s_parm(struct file *file, void= *fh, return v4l2_s_parm_cap(&chan->video, subdev, a); } =20 -static int tegra_channel_enum_framesizes(struct file *file, void *fh, +static int tegra_channel_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *sizes) { int ret; @@ -357,7 +361,8 @@ static int tegra_channel_enum_framesizes(struct file *f= ile, void *fh, return 0; } =20 -static int tegra_channel_enum_frameintervals(struct file *file, void *fh, +static int tegra_channel_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *ivals) { int ret; @@ -389,7 +394,8 @@ static int tegra_channel_enum_frameintervals(struct fil= e *file, void *fh, return 0; } =20 -static int tegra_channel_enum_format(struct file *file, void *fh, +static int tegra_channel_enum_format(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -410,7 +416,8 @@ static int tegra_channel_enum_format(struct file *file,= void *fh, return 0; } =20 -static int tegra_channel_get_format(struct file *file, void *fh, +static int tegra_channel_get_format(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -505,7 +512,8 @@ static int __tegra_channel_try_format(struct tegra_vi_c= hannel *chan, return 0; } =20 -static int tegra_channel_try_format(struct file *file, void *fh, +static int tegra_channel_try_format(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -521,7 +529,8 @@ static void tegra_channel_update_gangports(struct tegra= _vi_channel *chan) chan->numgangports =3D chan->totalports; } =20 -static int tegra_channel_set_format(struct file *file, void *fh, +static int tegra_channel_set_format(struct file *file, + struct video_device_state *state, struct v4l2_format *format) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -605,7 +614,8 @@ tegra_channel_subscribe_event(struct v4l2_fh *fh, return v4l2_ctrl_subscribe_event(fh, sub); } =20 -static int tegra_channel_g_selection(struct file *file, void *priv, +static int tegra_channel_g_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -647,7 +657,8 @@ static int tegra_channel_g_selection(struct file *file,= void *priv, return 0; } =20 -static int tegra_channel_s_selection(struct file *file, void *fh, +static int tegra_channel_s_selection(struct file *file, + struct video_device_state *state, struct v4l2_selection *sel) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -684,7 +695,8 @@ static int tegra_channel_s_selection(struct file *file,= void *fh, return ret; } =20 -static int tegra_channel_g_edid(struct file *file, void *fh, +static int tegra_channel_g_edid(struct file *file, + struct video_device_state *state, struct v4l2_edid *edid) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -697,7 +709,8 @@ static int tegra_channel_g_edid(struct file *file, void= *fh, return v4l2_subdev_call(subdev, pad, get_edid, edid); } =20 -static int tegra_channel_s_edid(struct file *file, void *fh, +static int tegra_channel_s_edid(struct file *file, + struct video_device_state *state, struct v4l2_edid *edid) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -710,7 +723,8 @@ static int tegra_channel_s_edid(struct file *file, void= *fh, return v4l2_subdev_call(subdev, pad, set_edid, edid); } =20 -static int tegra_channel_g_dv_timings(struct file *file, void *fh, +static int tegra_channel_g_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -724,7 +738,8 @@ static int tegra_channel_g_dv_timings(struct file *file= , void *fh, pad, g_dv_timings, 0, timings); } =20 -static int tegra_channel_s_dv_timings(struct file *file, void *fh, +static int tegra_channel_s_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -737,7 +752,7 @@ static int tegra_channel_s_dv_timings(struct file *file= , void *fh, if (!v4l2_subdev_has_op(subdev, pad, s_dv_timings)) return -ENOTTY; =20 - ret =3D tegra_channel_g_dv_timings(file, fh, &curr_timings); + ret =3D tegra_channel_g_dv_timings(file, state, &curr_timings); if (ret) return ret; =20 @@ -762,7 +777,8 @@ static int tegra_channel_s_dv_timings(struct file *file= , void *fh, return 0; } =20 -static int tegra_channel_query_dv_timings(struct file *file, void *fh, +static int tegra_channel_query_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings *timings) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -776,7 +792,8 @@ static int tegra_channel_query_dv_timings(struct file *= file, void *fh, pad, query_dv_timings, 0, timings); } =20 -static int tegra_channel_enum_dv_timings(struct file *file, void *fh, +static int tegra_channel_enum_dv_timings(struct file *file, + struct video_device_state *state, struct v4l2_enum_dv_timings *timings) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -789,7 +806,8 @@ static int tegra_channel_enum_dv_timings(struct file *f= ile, void *fh, return v4l2_subdev_call(subdev, pad, enum_dv_timings, timings); } =20 -static int tegra_channel_dv_timings_cap(struct file *file, void *fh, +static int tegra_channel_dv_timings_cap(struct file *file, + struct video_device_state *state, struct v4l2_dv_timings_cap *cap) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -802,7 +820,8 @@ static int tegra_channel_dv_timings_cap(struct file *fi= le, void *fh, return v4l2_subdev_call(subdev, pad, dv_timings_cap, cap); } =20 -static int tegra_channel_log_status(struct file *file, void *fh) +static int tegra_channel_log_status(struct file *file, + struct video_device_state *state) { struct tegra_vi_channel *chan =3D video_drvdata(file); =20 @@ -811,7 +830,8 @@ static int tegra_channel_log_status(struct file *file, = void *fh) return 0; } =20 -static int tegra_channel_enum_input(struct file *file, void *fh, +static int tegra_channel_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { struct tegra_vi_channel *chan =3D video_drvdata(file); @@ -829,7 +849,8 @@ static int tegra_channel_enum_input(struct file *file, = void *fh, return 0; } =20 -static int tegra_channel_g_input(struct file *file, void *priv, +static int tegra_channel_g_input(struct file *file, + struct video_device_state *state, unsigned int *i) { *i =3D 0; @@ -837,7 +858,8 @@ static int tegra_channel_g_input(struct file *file, voi= d *priv, return 0; } =20 -static int tegra_channel_s_input(struct file *file, void *priv, +static int tegra_channel_s_input(struct file *file, + struct video_device_state *state, unsigned int input) { if (input > 0) diff --git a/drivers/staging/most/video/video.c b/drivers/staging/most/vide= o/video.c index 32f71d9a9cf78ad74aa8b9a53f40c1d52123df52..5bce5e4c566803c86c8b656427a= 75e91ca635405 100644 --- a/drivers/staging/most/video/video.c +++ b/drivers/staging/most/video/video.c @@ -242,10 +242,11 @@ static int comp_set_format(struct most_video_dev *mde= v, unsigned int cmd, return 0; } =20 -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { - struct comp_fh *fh =3D priv; + struct comp_fh *fh =3D state; struct most_video_dev *mdev =3D fh->mdev; =20 strscpy(cap->driver, "v4l2_component", sizeof(cap->driver)); @@ -255,7 +256,8 @@ static int vidioc_querycap(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { if (f->index) @@ -269,41 +271,46 @@ static int vidioc_enum_fmt_vid_cap(struct file *file,= void *priv, return 0; } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { comp_set_format_struct(f); return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { - struct comp_fh *fh =3D priv; + struct comp_fh *fh =3D state; struct most_video_dev *mdev =3D fh->mdev; =20 return comp_set_format(mdev, VIDIOC_TRY_FMT, f); } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { - struct comp_fh *fh =3D priv; + struct comp_fh *fh =3D state; struct most_video_dev *mdev =3D fh->mdev; =20 return comp_set_format(mdev, VIDIOC_S_FMT, f); } =20 -static int vidioc_g_std(struct file *file, void *priv, v4l2_std_id *norm) +static int vidioc_g_std(struct file *file, struct video_device_state *stat= e, + v4l2_std_id *norm) { *norm =3D V4L2_STD_UNKNOWN; return 0; } =20 -static int vidioc_enum_input(struct file *file, void *priv, +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *input) { - struct comp_fh *fh =3D priv; + struct comp_fh *fh =3D state; struct most_video_dev *mdev =3D fh->mdev; =20 if (input->index >=3D V4L2_CMP_MAX_INPUT) @@ -318,17 +325,19 @@ static int vidioc_enum_input(struct file *file, void = *priv, return 0; } =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { - struct comp_fh *fh =3D priv; + struct comp_fh *fh =3D state; struct most_video_dev *mdev =3D fh->mdev; *i =3D mdev->ctrl_input; return 0; } =20 -static int vidioc_s_input(struct file *file, void *priv, unsigned int inde= x) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int index) { - struct comp_fh *fh =3D priv; + struct comp_fh *fh =3D state; struct most_video_dev *mdev =3D fh->mdev; =20 if (index >=3D V4L2_CMP_MAX_INPUT) diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c = b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c index fa7ea4ca4c36f4ec7f76f6ffbea9f45205116bb8..ac0e5e711200712df1542ad3c0f= 1da3f90139d20 100644 --- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c +++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c @@ -689,7 +689,8 @@ static int set_overlay_params(struct bcm2835_mmal_dev *= dev, } =20 /* overlay ioctl */ -static int vidioc_enum_fmt_vid_overlay(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_overlay(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct mmal_fmt *fmt; @@ -704,7 +705,8 @@ static int vidioc_enum_fmt_vid_overlay(struct file *fil= e, void *priv, return 0; } =20 -static int vidioc_g_fmt_vid_overlay(struct file *file, void *priv, +static int vidioc_g_fmt_vid_overlay(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct bcm2835_mmal_dev *dev =3D video_drvdata(file); @@ -714,7 +716,8 @@ static int vidioc_g_fmt_vid_overlay(struct file *file, = void *priv, return 0; } =20 -static int vidioc_try_fmt_vid_overlay(struct file *file, void *priv, +static int vidioc_try_fmt_vid_overlay(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct bcm2835_mmal_dev *dev =3D video_drvdata(file); @@ -745,12 +748,13 @@ static int vidioc_try_fmt_vid_overlay(struct file *fi= le, void *priv, return 0; } =20 -static int vidioc_s_fmt_vid_overlay(struct file *file, void *priv, +static int vidioc_s_fmt_vid_overlay(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct bcm2835_mmal_dev *dev =3D video_drvdata(file); =20 - vidioc_try_fmt_vid_overlay(file, priv, f); + vidioc_try_fmt_vid_overlay(file, state, f); =20 dev->overlay =3D f->fmt.win; if (dev->component[COMP_PREVIEW]->enabled) { @@ -761,7 +765,8 @@ static int vidioc_s_fmt_vid_overlay(struct file *file, = void *priv, return 0; } =20 -static int vidioc_overlay(struct file *file, void *f, unsigned int on) +static int vidioc_overlay(struct file *file, struct video_device_state *st= ate, + unsigned int on) { int ret; struct bcm2835_mmal_dev *dev =3D video_drvdata(file); @@ -816,7 +821,8 @@ static int vidioc_overlay(struct file *file, void *f, u= nsigned int on) return vchiq_mmal_port_enable(dev->instance, src, NULL); } =20 -static int vidioc_g_fbuf(struct file *file, void *fh, +static int vidioc_g_fbuf(struct file *file, + struct video_device_state *state, struct v4l2_framebuffer *a) { /* The video overlay must stay within the framebuffer and can't be @@ -841,7 +847,8 @@ static int vidioc_g_fbuf(struct file *file, void *fh, } =20 /* input ioctls */ -static int vidioc_enum_input(struct file *file, void *priv, +static int vidioc_enum_input(struct file *file, + struct video_device_state *state, struct v4l2_input *inp) { /* only a single camera input */ @@ -853,13 +860,15 @@ static int vidioc_enum_input(struct file *file, void = *priv, return 0; } =20 -static int vidioc_g_input(struct file *file, void *priv, unsigned int *i) +static int vidioc_g_input(struct file *file, struct video_device_state *st= ate, + unsigned int *i) { *i =3D 0; return 0; } =20 -static int vidioc_s_input(struct file *file, void *priv, unsigned int i) +static int vidioc_s_input(struct file *file, struct video_device_state *st= ate, + unsigned int i) { if (i) return -EINVAL; @@ -868,7 +877,8 @@ static int vidioc_s_input(struct file *file, void *priv= , unsigned int i) } =20 /* capture ioctls */ -static int vidioc_querycap(struct file *file, void *priv, +static int vidioc_querycap(struct file *file, + struct video_device_state *state, struct v4l2_capability *cap) { struct bcm2835_mmal_dev *dev =3D video_drvdata(file); @@ -884,7 +894,8 @@ static int vidioc_querycap(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_enum_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_fmtdesc *f) { struct mmal_fmt *fmt; @@ -899,7 +910,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, v= oid *priv, return 0; } =20 -static int vidioc_g_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_g_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct bcm2835_mmal_dev *dev =3D video_drvdata(file); @@ -924,7 +936,8 @@ static int vidioc_g_fmt_vid_cap(struct file *file, void= *priv, return 0; } =20 -static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_try_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { struct bcm2835_mmal_dev *dev =3D video_drvdata(file); @@ -1276,7 +1289,8 @@ static int mmal_setup_components(struct bcm2835_mmal_= dev *dev, return ret; } =20 -static int vidioc_s_fmt_vid_cap(struct file *file, void *priv, +static int vidioc_s_fmt_vid_cap(struct file *file, + struct video_device_state *state, struct v4l2_format *f) { int ret; @@ -1284,7 +1298,7 @@ static int vidioc_s_fmt_vid_cap(struct file *file, vo= id *priv, struct mmal_fmt *mfmt; =20 /* try the format to set valid parameters */ - ret =3D vidioc_try_fmt_vid_cap(file, priv, f); + ret =3D vidioc_try_fmt_vid_cap(file, state, f); if (ret) { v4l2_err(&dev->v4l2_dev, "vid_cap - vidioc_try_fmt_vid_cap failed\n"); @@ -1320,7 +1334,8 @@ static int vidioc_s_fmt_vid_cap(struct file *file, vo= id *priv, return ret; } =20 -static int vidioc_enum_framesizes(struct file *file, void *fh, +static int vidioc_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct bcm2835_mmal_dev *dev =3D video_drvdata(file); @@ -1345,7 +1360,8 @@ static int vidioc_enum_framesizes(struct file *file, = void *fh, } =20 /* timeperframe is arbitrary and continuous */ -static int vidioc_enum_frameintervals(struct file *file, void *priv, +static int vidioc_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fival) { struct bcm2835_mmal_dev *dev =3D video_drvdata(file); @@ -1375,7 +1391,8 @@ static int vidioc_enum_frameintervals(struct file *fi= le, void *priv, return 0; } =20 -static int vidioc_g_parm(struct file *file, void *priv, +static int vidioc_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct bcm2835_mmal_dev *dev =3D video_drvdata(file); @@ -1389,7 +1406,8 @@ static int vidioc_g_parm(struct file *file, void *pri= v, return 0; } =20 -static int vidioc_s_parm(struct file *file, void *priv, +static int vidioc_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct bcm2835_mmal_dev *dev =3D video_drvdata(file); diff --git a/drivers/usb/gadget/function/uvc_v4l2.c b/drivers/usb/gadget/fu= nction/uvc_v4l2.c index fd4b998ccd16058eb796dd317971c0869f6bdeb8..759f773eed9372f2d83ec7cbf1b= a5e9dc1d278f6 100644 --- a/drivers/usb/gadget/function/uvc_v4l2.c +++ b/drivers/usb/gadget/function/uvc_v4l2.c @@ -212,7 +212,8 @@ uvc_send_response(struct uvc_device *uvc, struct uvc_re= quest_data *data) */ =20 static int -uvc_v4l2_querycap(struct file *file, void *fh, struct v4l2_capability *cap) +uvc_v4l2_querycap(struct file *file, struct video_device_state *state, + struct v4l2_capability *cap) { struct video_device *vdev =3D video_devdata(file); struct uvc_device *uvc =3D video_get_drvdata(vdev); @@ -226,7 +227,8 @@ uvc_v4l2_querycap(struct file *file, void *fh, struct v= 4l2_capability *cap) } =20 static int -uvc_v4l2_get_format(struct file *file, void *fh, struct v4l2_format *fmt) +uvc_v4l2_get_format(struct file *file, struct video_device_state *state, + struct v4l2_format *fmt) { struct video_device *vdev =3D video_devdata(file); struct uvc_device *uvc =3D video_get_drvdata(vdev); @@ -245,7 +247,8 @@ uvc_v4l2_get_format(struct file *file, void *fh, struct= v4l2_format *fmt) } =20 static int -uvc_v4l2_try_format(struct file *file, void *fh, struct v4l2_format *fmt) +uvc_v4l2_try_format(struct file *file, struct video_device_state *state, + struct v4l2_format *fmt) { struct video_device *vdev =3D video_devdata(file); struct uvc_device *uvc =3D video_get_drvdata(vdev); @@ -303,14 +306,15 @@ uvc_v4l2_try_format(struct file *file, void *fh, stru= ct v4l2_format *fmt) } =20 static int -uvc_v4l2_set_format(struct file *file, void *fh, struct v4l2_format *fmt) +uvc_v4l2_set_format(struct file *file, struct video_device_state *state, + struct v4l2_format *fmt) { struct video_device *vdev =3D video_devdata(file); struct uvc_device *uvc =3D video_get_drvdata(vdev); struct uvc_video *video =3D &uvc->video; int ret; =20 - ret =3D uvc_v4l2_try_format(file, fh, fmt); + ret =3D uvc_v4l2_try_format(file, state, fmt); if (ret) return ret; =20 @@ -323,7 +327,8 @@ uvc_v4l2_set_format(struct file *file, void *fh, struct= v4l2_format *fmt) return ret; } =20 -static int uvc_v4l2_g_parm(struct file *file, void *fh, +static int uvc_v4l2_g_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct video_device *vdev =3D video_devdata(file); @@ -350,7 +355,8 @@ static int uvc_v4l2_g_parm(struct file *file, void *fh, return 0; } =20 -static int uvc_v4l2_s_parm(struct file *file, void *fh, +static int uvc_v4l2_s_parm(struct file *file, + struct video_device_state *state, struct v4l2_streamparm *parm) { struct video_device *vdev =3D video_devdata(file); @@ -374,7 +380,8 @@ static int uvc_v4l2_s_parm(struct file *file, void *fh, } =20 static int -uvc_v4l2_enum_frameintervals(struct file *file, void *fh, +uvc_v4l2_enum_frameintervals(struct file *file, + struct video_device_state *state, struct v4l2_frmivalenum *fival) { struct video_device *vdev =3D video_devdata(file); @@ -413,7 +420,8 @@ uvc_v4l2_enum_frameintervals(struct file *file, void *f= h, } =20 static int -uvc_v4l2_enum_framesizes(struct file *file, void *fh, +uvc_v4l2_enum_framesizes(struct file *file, + struct video_device_state *state, struct v4l2_frmsizeenum *fsize) { struct video_device *vdev =3D video_devdata(file); @@ -440,7 +448,8 @@ uvc_v4l2_enum_framesizes(struct file *file, void *fh, } =20 static int -uvc_v4l2_enum_format(struct file *file, void *fh, struct v4l2_fmtdesc *f) +uvc_v4l2_enum_format(struct file *file, struct video_device_state *state, + struct v4l2_fmtdesc *f) { struct video_device *vdev =3D video_devdata(file); struct uvc_device *uvc =3D video_get_drvdata(vdev); @@ -464,7 +473,8 @@ uvc_v4l2_enum_format(struct file *file, void *fh, struc= t v4l2_fmtdesc *f) } =20 static int -uvc_v4l2_reqbufs(struct file *file, void *fh, struct v4l2_requestbuffers *= b) +uvc_v4l2_reqbufs(struct file *file, struct video_device_state *state, + struct v4l2_requestbuffers *b) { struct video_device *vdev =3D video_devdata(file); struct uvc_device *uvc =3D video_get_drvdata(vdev); @@ -477,7 +487,8 @@ uvc_v4l2_reqbufs(struct file *file, void *fh, struct v4= l2_requestbuffers *b) } =20 static int -uvc_v4l2_querybuf(struct file *file, void *fh, struct v4l2_buffer *b) +uvc_v4l2_querybuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *b) { struct video_device *vdev =3D video_devdata(file); struct uvc_device *uvc =3D video_get_drvdata(vdev); @@ -487,7 +498,8 @@ uvc_v4l2_querybuf(struct file *file, void *fh, struct v= 4l2_buffer *b) } =20 static int -uvc_v4l2_qbuf(struct file *file, void *fh, struct v4l2_buffer *b) +uvc_v4l2_qbuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *b) { struct video_device *vdev =3D video_devdata(file); struct uvc_device *uvc =3D video_get_drvdata(vdev); @@ -505,7 +517,8 @@ uvc_v4l2_qbuf(struct file *file, void *fh, struct v4l2_= buffer *b) } =20 static int -uvc_v4l2_dqbuf(struct file *file, void *fh, struct v4l2_buffer *b) +uvc_v4l2_dqbuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *b) { struct video_device *vdev =3D video_devdata(file); struct uvc_device *uvc =3D video_get_drvdata(vdev); @@ -515,7 +528,8 @@ uvc_v4l2_dqbuf(struct file *file, void *fh, struct v4l2= _buffer *b) } =20 static int -uvc_v4l2_streamon(struct file *file, void *fh, enum v4l2_buf_type type) +uvc_v4l2_streamon(struct file *file, struct video_device_state *state, + enum v4l2_buf_type type) { struct video_device *vdev =3D video_devdata(file); struct uvc_device *uvc =3D video_get_drvdata(vdev); @@ -541,7 +555,8 @@ uvc_v4l2_streamon(struct file *file, void *fh, enum v4l= 2_buf_type type) } =20 static int -uvc_v4l2_streamoff(struct file *file, void *fh, enum v4l2_buf_type type) +uvc_v4l2_streamoff(struct file *file, struct video_device_state *state, + enum v4l2_buf_type type) { struct video_device *vdev =3D video_devdata(file); struct uvc_device *uvc =3D video_get_drvdata(vdev); @@ -620,7 +635,8 @@ uvc_v4l2_unsubscribe_event(struct v4l2_fh *fh, } =20 static long -uvc_v4l2_ioctl_default(struct file *file, void *fh, bool valid_prio, +uvc_v4l2_ioctl_default(struct file *file, struct video_device_state *state, + bool valid_prio, unsigned int cmd, void *arg) { struct video_device *vdev =3D video_devdata(file); diff --git a/include/media/v4l2-ctrls.h b/include/media/v4l2-ctrls.h index 31fc1bee3797bfe532931889188c8f7a9dedad39..a5a781d04db9aa57fabbccf938f= e8d38eb550a80 100644 --- a/include/media/v4l2-ctrls.h +++ b/include/media/v4l2-ctrls.h @@ -12,6 +12,7 @@ #include #include #include +#include =20 /* forward references */ struct file; @@ -1313,13 +1314,13 @@ void v4l2_ctrl_merge(const struct v4l2_event *old, = struct v4l2_event *new); * v4l2_ctrl_log_status - helper function to implement %VIDIOC_LOG_STATUS = ioctl * * @file: pointer to struct file - * @priv: unused. Kept just to be compatible to the arguments expected by + * @state: unused. Kept just to be compatible to the arguments expected by * &struct v4l2_ioctl_ops.vidioc_log_status. * * Can be used as a vidioc_log_status function that just dumps all controls * associated with the filehandle. */ -int v4l2_ctrl_log_status(struct file *file, void *priv); +int v4l2_ctrl_log_status(struct file *file, struct video_device_state *sta= te); =20 /** * v4l2_ctrl_subscribe_event - Subscribes to an event diff --git a/include/media/v4l2-dev.h b/include/media/v4l2-dev.h index b5312823fbff9c236d4394d48fa9a14412b17c68..e8696d1a5931c54ee07ef9e268c= f635cf87e34f2 100644 --- a/include/media/v4l2-dev.h +++ b/include/media/v4l2-dev.h @@ -627,7 +627,7 @@ video_device_state_get_fmt(struct video_device_state *s= tate); * @state: pointer to struct video_device_state * @format: pointer to struct v4l2_format */ -int video_device_g_fmt(struct file *file, void *priv, +int video_device_g_fmt(struct file *file, struct video_device_state *state, struct v4l2_format *format); =20 /** diff --git a/include/media/v4l2-ioctl.h b/include/media/v4l2-ioctl.h index 6f7a58350441bedf4072d3f13ce05932c4ae8729..9e0acd57918c6d91f24f2184108= e75e77d505592 100644 --- a/include/media/v4l2-ioctl.h +++ b/include/media/v4l2-ioctl.h @@ -16,6 +16,7 @@ #include #include /* need __user */ #include +#include =20 struct v4l2_fh; =20 @@ -293,144 +294,144 @@ struct v4l2_ioctl_ops { /* ioctl callbacks */ =20 /* VIDIOC_QUERYCAP handler */ - int (*vidioc_querycap)(struct file *file, void *priv, + int (*vidioc_querycap)(struct file *file, struct video_device_state *stat= e, struct v4l2_capability *cap); =20 /* VIDIOC_ENUM_FMT handlers */ - int (*vidioc_enum_fmt_vid_cap)(struct file *file, void *priv, + int (*vidioc_enum_fmt_vid_cap)(struct file *file, struct video_device_sta= te *state, struct v4l2_fmtdesc *f); - int (*vidioc_enum_fmt_vid_overlay)(struct file *file, void *priv, + int (*vidioc_enum_fmt_vid_overlay)(struct file *file, struct video_device= _state *state, struct v4l2_fmtdesc *f); - int (*vidioc_enum_fmt_vid_out)(struct file *file, void *priv, + int (*vidioc_enum_fmt_vid_out)(struct file *file, struct video_device_sta= te *state, struct v4l2_fmtdesc *f); - int (*vidioc_enum_fmt_sdr_cap)(struct file *file, void *priv, + int (*vidioc_enum_fmt_sdr_cap)(struct file *file, struct video_device_sta= te *state, struct v4l2_fmtdesc *f); - int (*vidioc_enum_fmt_sdr_out)(struct file *file, void *priv, + int (*vidioc_enum_fmt_sdr_out)(struct file *file, struct video_device_sta= te *state, struct v4l2_fmtdesc *f); - int (*vidioc_enum_fmt_meta_cap)(struct file *file, void *priv, + int (*vidioc_enum_fmt_meta_cap)(struct file *file, struct video_device_st= ate *state, struct v4l2_fmtdesc *f); - int (*vidioc_enum_fmt_meta_out)(struct file *file, void *priv, + int (*vidioc_enum_fmt_meta_out)(struct file *file, struct video_device_st= ate *state, struct v4l2_fmtdesc *f); =20 /* VIDIOC_G_FMT handlers */ - int (*vidioc_g_fmt_vid_cap)(struct file *file, void *priv, + int (*vidioc_g_fmt_vid_cap)(struct file *file, struct video_device_state = *state, struct v4l2_format *f); - int (*vidioc_g_fmt_vid_overlay)(struct file *file, void *priv, + int (*vidioc_g_fmt_vid_overlay)(struct file *file, struct video_device_st= ate *state, struct v4l2_format *f); - int (*vidioc_g_fmt_vid_out)(struct file *file, void *priv, + int (*vidioc_g_fmt_vid_out)(struct file *file, struct video_device_state = *state, struct v4l2_format *f); - int (*vidioc_g_fmt_vid_out_overlay)(struct file *file, void *priv, + int (*vidioc_g_fmt_vid_out_overlay)(struct file *file, struct video_devic= e_state *state, struct v4l2_format *f); - int (*vidioc_g_fmt_vbi_cap)(struct file *file, void *priv, + int (*vidioc_g_fmt_vbi_cap)(struct file *file, struct video_device_state = *state, struct v4l2_format *f); - int (*vidioc_g_fmt_vbi_out)(struct file *file, void *priv, + int (*vidioc_g_fmt_vbi_out)(struct file *file, struct video_device_state = *state, struct v4l2_format *f); - int (*vidioc_g_fmt_sliced_vbi_cap)(struct file *file, void *priv, + int (*vidioc_g_fmt_sliced_vbi_cap)(struct file *file, struct video_device= _state *state, struct v4l2_format *f); - int (*vidioc_g_fmt_sliced_vbi_out)(struct file *file, void *priv, + int (*vidioc_g_fmt_sliced_vbi_out)(struct file *file, struct video_device= _state *state, struct v4l2_format *f); - int (*vidioc_g_fmt_vid_cap_mplane)(struct file *file, void *priv, + int (*vidioc_g_fmt_vid_cap_mplane)(struct file *file, struct video_device= _state *state, struct v4l2_format *f); - int (*vidioc_g_fmt_vid_out_mplane)(struct file *file, void *priv, + int (*vidioc_g_fmt_vid_out_mplane)(struct file *file, struct video_device= _state *state, struct v4l2_format *f); - int (*vidioc_g_fmt_sdr_cap)(struct file *file, void *priv, + int (*vidioc_g_fmt_sdr_cap)(struct file *file, struct video_device_state = *state, struct v4l2_format *f); - int (*vidioc_g_fmt_sdr_out)(struct file *file, void *priv, + int (*vidioc_g_fmt_sdr_out)(struct file *file, struct video_device_state = *state, struct v4l2_format *f); - int (*vidioc_g_fmt_meta_cap)(struct file *file, void *priv, + int (*vidioc_g_fmt_meta_cap)(struct file *file, struct video_device_state= *state, struct v4l2_format *f); - int (*vidioc_g_fmt_meta_out)(struct file *file, void *priv, + int (*vidioc_g_fmt_meta_out)(struct file *file, struct video_device_state= *state, struct v4l2_format *f); =20 /* VIDIOC_S_FMT handlers */ - int (*vidioc_s_fmt_vid_cap)(struct file *file, void *priv, + int (*vidioc_s_fmt_vid_cap)(struct file *file, struct video_device_state = *state, struct v4l2_format *f); - int (*vidioc_s_fmt_vid_overlay)(struct file *file, void *priv, + int (*vidioc_s_fmt_vid_overlay)(struct file *file, struct video_device_st= ate *state, struct v4l2_format *f); - int (*vidioc_s_fmt_vid_out)(struct file *file, void *priv, + int (*vidioc_s_fmt_vid_out)(struct file *file, struct video_device_state = *state, struct v4l2_format *f); - int (*vidioc_s_fmt_vid_out_overlay)(struct file *file, void *priv, + int (*vidioc_s_fmt_vid_out_overlay)(struct file *file, struct video_devic= e_state *state, struct v4l2_format *f); - int (*vidioc_s_fmt_vbi_cap)(struct file *file, void *priv, + int (*vidioc_s_fmt_vbi_cap)(struct file *file, struct video_device_state = *state, struct v4l2_format *f); - int (*vidioc_s_fmt_vbi_out)(struct file *file, void *priv, + int (*vidioc_s_fmt_vbi_out)(struct file *file, struct video_device_state = *state, struct v4l2_format *f); - int (*vidioc_s_fmt_sliced_vbi_cap)(struct file *file, void *priv, + int (*vidioc_s_fmt_sliced_vbi_cap)(struct file *file, struct video_device= _state *state, struct v4l2_format *f); - int (*vidioc_s_fmt_sliced_vbi_out)(struct file *file, void *priv, + int (*vidioc_s_fmt_sliced_vbi_out)(struct file *file, struct video_device= _state *state, struct v4l2_format *f); - int (*vidioc_s_fmt_vid_cap_mplane)(struct file *file, void *priv, + int (*vidioc_s_fmt_vid_cap_mplane)(struct file *file, struct video_device= _state *state, struct v4l2_format *f); - int (*vidioc_s_fmt_vid_out_mplane)(struct file *file, void *priv, + int (*vidioc_s_fmt_vid_out_mplane)(struct file *file, struct video_device= _state *state, struct v4l2_format *f); - int (*vidioc_s_fmt_sdr_cap)(struct file *file, void *priv, + int (*vidioc_s_fmt_sdr_cap)(struct file *file, struct video_device_state = *state, struct v4l2_format *f); - int (*vidioc_s_fmt_sdr_out)(struct file *file, void *priv, + int (*vidioc_s_fmt_sdr_out)(struct file *file, struct video_device_state = *state, struct v4l2_format *f); - int (*vidioc_s_fmt_meta_cap)(struct file *file, void *priv, + int (*vidioc_s_fmt_meta_cap)(struct file *file, struct video_device_state= *state, struct v4l2_format *f); - int (*vidioc_s_fmt_meta_out)(struct file *file, void *priv, + int (*vidioc_s_fmt_meta_out)(struct file *file, struct video_device_state= *state, struct v4l2_format *f); =20 /* VIDIOC_TRY_FMT handlers */ - int (*vidioc_try_fmt_vid_cap)(struct file *file, void *priv, + int (*vidioc_try_fmt_vid_cap)(struct file *file, struct video_device_stat= e *state, struct v4l2_format *f); - int (*vidioc_try_fmt_vid_overlay)(struct file *file, void *priv, + int (*vidioc_try_fmt_vid_overlay)(struct file *file, struct video_device_= state *state, struct v4l2_format *f); - int (*vidioc_try_fmt_vid_out)(struct file *file, void *priv, + int (*vidioc_try_fmt_vid_out)(struct file *file, struct video_device_stat= e *state, struct v4l2_format *f); - int (*vidioc_try_fmt_vid_out_overlay)(struct file *file, void *priv, + int (*vidioc_try_fmt_vid_out_overlay)(struct file *file, struct video_dev= ice_state *state, struct v4l2_format *f); - int (*vidioc_try_fmt_vbi_cap)(struct file *file, void *priv, + int (*vidioc_try_fmt_vbi_cap)(struct file *file, struct video_device_stat= e *state, struct v4l2_format *f); - int (*vidioc_try_fmt_vbi_out)(struct file *file, void *priv, + int (*vidioc_try_fmt_vbi_out)(struct file *file, struct video_device_stat= e *state, struct v4l2_format *f); - int (*vidioc_try_fmt_sliced_vbi_cap)(struct file *file, void *priv, + int (*vidioc_try_fmt_sliced_vbi_cap)(struct file *file, struct video_devi= ce_state *state, struct v4l2_format *f); - int (*vidioc_try_fmt_sliced_vbi_out)(struct file *file, void *priv, + int (*vidioc_try_fmt_sliced_vbi_out)(struct file *file, struct video_devi= ce_state *state, struct v4l2_format *f); - int (*vidioc_try_fmt_vid_cap_mplane)(struct file *file, void *priv, + int (*vidioc_try_fmt_vid_cap_mplane)(struct file *file, struct video_devi= ce_state *state, struct v4l2_format *f); - int (*vidioc_try_fmt_vid_out_mplane)(struct file *file, void *priv, + int (*vidioc_try_fmt_vid_out_mplane)(struct file *file, struct video_devi= ce_state *state, struct v4l2_format *f); - int (*vidioc_try_fmt_sdr_cap)(struct file *file, void *priv, + int (*vidioc_try_fmt_sdr_cap)(struct file *file, struct video_device_stat= e *state, struct v4l2_format *f); - int (*vidioc_try_fmt_sdr_out)(struct file *file, void *priv, + int (*vidioc_try_fmt_sdr_out)(struct file *file, struct video_device_stat= e *state, struct v4l2_format *f); - int (*vidioc_try_fmt_meta_cap)(struct file *file, void *priv, + int (*vidioc_try_fmt_meta_cap)(struct file *file, struct video_device_sta= te *state, struct v4l2_format *f); - int (*vidioc_try_fmt_meta_out)(struct file *file, void *priv, + int (*vidioc_try_fmt_meta_out)(struct file *file, struct video_device_sta= te *state, struct v4l2_format *f); =20 /* Buffer handlers */ - int (*vidioc_reqbufs)(struct file *file, void *priv, + int (*vidioc_reqbufs)(struct file *file, struct video_device_state *state, struct v4l2_requestbuffers *b); - int (*vidioc_querybuf)(struct file *file, void *priv, + int (*vidioc_querybuf)(struct file *file, struct video_device_state *stat= e, struct v4l2_buffer *b); - int (*vidioc_qbuf)(struct file *file, void *priv, + int (*vidioc_qbuf)(struct file *file, struct video_device_state *state, struct v4l2_buffer *b); - int (*vidioc_expbuf)(struct file *file, void *priv, + int (*vidioc_expbuf)(struct file *file, struct video_device_state *state, struct v4l2_exportbuffer *e); - int (*vidioc_dqbuf)(struct file *file, void *priv, + int (*vidioc_dqbuf)(struct file *file, struct video_device_state *state, struct v4l2_buffer *b); =20 - int (*vidioc_create_bufs)(struct file *file, void *priv, + int (*vidioc_create_bufs)(struct file *file, struct video_device_state *s= tate, struct v4l2_create_buffers *b); - int (*vidioc_prepare_buf)(struct file *file, void *priv, + int (*vidioc_prepare_buf)(struct file *file, struct video_device_state *s= tate, struct v4l2_buffer *b); - int (*vidioc_remove_bufs)(struct file *file, void *priv, + int (*vidioc_remove_bufs)(struct file *file, struct video_device_state *s= tate, struct v4l2_remove_buffers *d); =20 - int (*vidioc_overlay)(struct file *file, void *priv, unsigned int i); - int (*vidioc_g_fbuf)(struct file *file, void *priv, + int (*vidioc_overlay)(struct file *file, struct video_device_state *state= , unsigned int i); + int (*vidioc_g_fbuf)(struct file *file, struct video_device_state *state, struct v4l2_framebuffer *a); - int (*vidioc_s_fbuf)(struct file *file, void *priv, + int (*vidioc_s_fbuf)(struct file *file, struct video_device_state *state, const struct v4l2_framebuffer *a); =20 /* Stream on/off */ - int (*vidioc_streamon)(struct file *file, void *priv, + int (*vidioc_streamon)(struct file *file, struct video_device_state *stat= e, enum v4l2_buf_type i); - int (*vidioc_streamoff)(struct file *file, void *priv, + int (*vidioc_streamoff)(struct file *file, struct video_device_state *sta= te, enum v4l2_buf_type i); =20 /* @@ -438,135 +439,136 @@ struct v4l2_ioctl_ops { * * Note: ENUMSTD is handled by videodev.c */ - int (*vidioc_g_std)(struct file *file, void *priv, v4l2_std_id *norm); - int (*vidioc_s_std)(struct file *file, void *priv, v4l2_std_id norm); - int (*vidioc_querystd)(struct file *file, void *priv, v4l2_std_id *a); + int (*vidioc_g_std)(struct file *file, struct video_device_state *state, = v4l2_std_id *norm); + int (*vidioc_s_std)(struct file *file, struct video_device_state *state, = v4l2_std_id norm); + int (*vidioc_querystd)(struct file *file, struct video_device_state *stat= e, v4l2_std_id *a); =20 /* Input handling */ - int (*vidioc_enum_input)(struct file *file, void *priv, + int (*vidioc_enum_input)(struct file *file, struct video_device_state *st= ate, struct v4l2_input *inp); - int (*vidioc_g_input)(struct file *file, void *priv, unsigned int *i); - int (*vidioc_s_input)(struct file *file, void *priv, unsigned int i); + int (*vidioc_g_input)(struct file *file, struct video_device_state *state= , unsigned int *i); + int (*vidioc_s_input)(struct file *file, struct video_device_state *state= , unsigned int i); =20 /* Output handling */ - int (*vidioc_enum_output)(struct file *file, void *priv, + int (*vidioc_enum_output)(struct file *file, struct video_device_state *s= tate, struct v4l2_output *a); - int (*vidioc_g_output)(struct file *file, void *priv, unsigned int *i); - int (*vidioc_s_output)(struct file *file, void *priv, unsigned int i); + int (*vidioc_g_output)(struct file *file, struct video_device_state *stat= e, + unsigned int *i); + int (*vidioc_s_output)(struct file *file, struct video_device_state *stat= e, unsigned int i); =20 /* Control handling */ - int (*vidioc_query_ext_ctrl)(struct file *file, void *priv, + int (*vidioc_query_ext_ctrl)(struct file *file, struct video_device_state= *state, struct v4l2_query_ext_ctrl *a); - int (*vidioc_g_ext_ctrls)(struct file *file, void *priv, + int (*vidioc_g_ext_ctrls)(struct file *file, struct video_device_state *s= tate, struct v4l2_ext_controls *a); - int (*vidioc_s_ext_ctrls)(struct file *file, void *priv, + int (*vidioc_s_ext_ctrls)(struct file *file, struct video_device_state *s= tate, struct v4l2_ext_controls *a); - int (*vidioc_try_ext_ctrls)(struct file *file, void *priv, + int (*vidioc_try_ext_ctrls)(struct file *file, struct video_device_state = *state, struct v4l2_ext_controls *a); - int (*vidioc_querymenu)(struct file *file, void *priv, + int (*vidioc_querymenu)(struct file *file, struct video_device_state *sta= te, struct v4l2_querymenu *a); =20 /* Audio ioctls */ - int (*vidioc_enumaudio)(struct file *file, void *priv, + int (*vidioc_enumaudio)(struct file *file, struct video_device_state *sta= te, struct v4l2_audio *a); - int (*vidioc_g_audio)(struct file *file, void *priv, + int (*vidioc_g_audio)(struct file *file, struct video_device_state *state, struct v4l2_audio *a); - int (*vidioc_s_audio)(struct file *file, void *priv, + int (*vidioc_s_audio)(struct file *file, struct video_device_state *state, const struct v4l2_audio *a); =20 /* Audio out ioctls */ - int (*vidioc_enumaudout)(struct file *file, void *priv, + int (*vidioc_enumaudout)(struct file *file, struct video_device_state *st= ate, struct v4l2_audioout *a); - int (*vidioc_g_audout)(struct file *file, void *priv, + int (*vidioc_g_audout)(struct file *file, struct video_device_state *stat= e, struct v4l2_audioout *a); - int (*vidioc_s_audout)(struct file *file, void *priv, + int (*vidioc_s_audout)(struct file *file, struct video_device_state *stat= e, const struct v4l2_audioout *a); - int (*vidioc_g_modulator)(struct file *file, void *priv, + int (*vidioc_g_modulator)(struct file *file, struct video_device_state *s= tate, struct v4l2_modulator *a); - int (*vidioc_s_modulator)(struct file *file, void *priv, + int (*vidioc_s_modulator)(struct file *file, struct video_device_state *s= tate, const struct v4l2_modulator *a); /* Crop ioctls */ - int (*vidioc_g_pixelaspect)(struct file *file, void *priv, + int (*vidioc_g_pixelaspect)(struct file *file, struct video_device_state = *state, int buf_type, struct v4l2_fract *aspect); - int (*vidioc_g_selection)(struct file *file, void *priv, + int (*vidioc_g_selection)(struct file *file, struct video_device_state *s= tate, struct v4l2_selection *s); - int (*vidioc_s_selection)(struct file *file, void *priv, + int (*vidioc_s_selection)(struct file *file, struct video_device_state *s= tate, struct v4l2_selection *s); /* Compression ioctls */ - int (*vidioc_g_jpegcomp)(struct file *file, void *priv, + int (*vidioc_g_jpegcomp)(struct file *file, struct video_device_state *st= ate, struct v4l2_jpegcompression *a); - int (*vidioc_s_jpegcomp)(struct file *file, void *priv, + int (*vidioc_s_jpegcomp)(struct file *file, struct video_device_state *st= ate, const struct v4l2_jpegcompression *a); - int (*vidioc_g_enc_index)(struct file *file, void *priv, + int (*vidioc_g_enc_index)(struct file *file, struct video_device_state *s= tate, struct v4l2_enc_idx *a); - int (*vidioc_encoder_cmd)(struct file *file, void *priv, + int (*vidioc_encoder_cmd)(struct file *file, struct video_device_state *s= tate, struct v4l2_encoder_cmd *a); - int (*vidioc_try_encoder_cmd)(struct file *file, void *priv, + int (*vidioc_try_encoder_cmd)(struct file *file, struct video_device_stat= e *state, struct v4l2_encoder_cmd *a); - int (*vidioc_decoder_cmd)(struct file *file, void *priv, + int (*vidioc_decoder_cmd)(struct file *file, struct video_device_state *s= tate, struct v4l2_decoder_cmd *a); - int (*vidioc_try_decoder_cmd)(struct file *file, void *priv, + int (*vidioc_try_decoder_cmd)(struct file *file, struct video_device_stat= e *state, struct v4l2_decoder_cmd *a); =20 /* Stream type-dependent parameter ioctls */ - int (*vidioc_g_parm)(struct file *file, void *priv, + int (*vidioc_g_parm)(struct file *file, struct video_device_state *state, struct v4l2_streamparm *a); - int (*vidioc_s_parm)(struct file *file, void *priv, + int (*vidioc_s_parm)(struct file *file, struct video_device_state *state, struct v4l2_streamparm *a); =20 /* Tuner ioctls */ - int (*vidioc_g_tuner)(struct file *file, void *priv, + int (*vidioc_g_tuner)(struct file *file, struct video_device_state *state, struct v4l2_tuner *a); - int (*vidioc_s_tuner)(struct file *file, void *priv, + int (*vidioc_s_tuner)(struct file *file, struct video_device_state *state, const struct v4l2_tuner *a); - int (*vidioc_g_frequency)(struct file *file, void *priv, + int (*vidioc_g_frequency)(struct file *file, struct video_device_state *s= tate, struct v4l2_frequency *a); - int (*vidioc_s_frequency)(struct file *file, void *priv, + int (*vidioc_s_frequency)(struct file *file, struct video_device_state *s= tate, const struct v4l2_frequency *a); - int (*vidioc_enum_freq_bands)(struct file *file, void *priv, + int (*vidioc_enum_freq_bands)(struct file *file, struct video_device_stat= e *state, struct v4l2_frequency_band *band); =20 /* Sliced VBI cap */ - int (*vidioc_g_sliced_vbi_cap)(struct file *file, void *priv, + int (*vidioc_g_sliced_vbi_cap)(struct file *file, struct video_device_sta= te *state, struct v4l2_sliced_vbi_cap *a); =20 /* Log status ioctl */ - int (*vidioc_log_status)(struct file *file, void *priv); + int (*vidioc_log_status)(struct file *file, struct video_device_state *st= ate); =20 - int (*vidioc_s_hw_freq_seek)(struct file *file, void *priv, + int (*vidioc_s_hw_freq_seek)(struct file *file, struct video_device_state= *state, const struct v4l2_hw_freq_seek *a); =20 /* Debugging ioctls */ #ifdef CONFIG_VIDEO_ADV_DEBUG - int (*vidioc_g_register)(struct file *file, void *priv, + int (*vidioc_g_register)(struct file *file, struct video_device_state *st= ate, struct v4l2_dbg_register *reg); - int (*vidioc_s_register)(struct file *file, void *priv, + int (*vidioc_s_register)(struct file *file, struct video_device_state *st= ate, const struct v4l2_dbg_register *reg); =20 - int (*vidioc_g_chip_info)(struct file *file, void *priv, + int (*vidioc_g_chip_info)(struct file *file, struct video_device_state *s= tate, struct v4l2_dbg_chip_info *chip); #endif =20 - int (*vidioc_enum_framesizes)(struct file *file, void *priv, + int (*vidioc_enum_framesizes)(struct file *file, struct video_device_stat= e *state, struct v4l2_frmsizeenum *fsize); =20 - int (*vidioc_enum_frameintervals)(struct file *file, void *priv, + int (*vidioc_enum_frameintervals)(struct file *file, struct video_device_= state *state, struct v4l2_frmivalenum *fival); =20 /* DV Timings IOCTLs */ - int (*vidioc_s_dv_timings)(struct file *file, void *priv, + int (*vidioc_s_dv_timings)(struct file *file, struct video_device_state *= state, struct v4l2_dv_timings *timings); - int (*vidioc_g_dv_timings)(struct file *file, void *priv, + int (*vidioc_g_dv_timings)(struct file *file, struct video_device_state *= state, struct v4l2_dv_timings *timings); - int (*vidioc_query_dv_timings)(struct file *file, void *priv, + int (*vidioc_query_dv_timings)(struct file *file, struct video_device_sta= te *state, struct v4l2_dv_timings *timings); - int (*vidioc_enum_dv_timings)(struct file *file, void *priv, + int (*vidioc_enum_dv_timings)(struct file *file, struct video_device_stat= e *state, struct v4l2_enum_dv_timings *timings); - int (*vidioc_dv_timings_cap)(struct file *file, void *priv, + int (*vidioc_dv_timings_cap)(struct file *file, struct video_device_state= *state, struct v4l2_dv_timings_cap *cap); - int (*vidioc_g_edid)(struct file *file, void *priv, + int (*vidioc_g_edid)(struct file *file, struct video_device_state *state, struct v4l2_edid *edid); - int (*vidioc_s_edid)(struct file *file, void *priv, + int (*vidioc_s_edid)(struct file *file, struct video_device_state *state, struct v4l2_edid *edid); =20 int (*vidioc_subscribe_event)(struct v4l2_fh *fh, @@ -575,7 +577,7 @@ struct v4l2_ioctl_ops { const struct v4l2_event_subscription *sub); =20 /* For other private ioctls */ - long (*vidioc_default)(struct file *file, void *priv, + long (*vidioc_default)(struct file *file, struct video_device_state *stat= e, bool valid_prio, unsigned int cmd, void *arg); }; =20 diff --git a/include/media/v4l2-mem2mem.h b/include/media/v4l2-mem2mem.h index 09c6164577ccf4ef49dee24e9ee6be38fbc521ce..accd05fba0dff3c7ebd596ae726= ba96572b90a8c 100644 --- a/include/media/v4l2-mem2mem.h +++ b/include/media/v4l2-mem2mem.h @@ -863,37 +863,53 @@ void v4l2_m2m_request_queue(struct media_request *req= ); =20 /* v4l2 ioctl helpers */ =20 -int v4l2_m2m_ioctl_reqbufs(struct file *file, void *priv, +int v4l2_m2m_ioctl_reqbufs(struct file *file, + struct video_device_state *state, struct v4l2_requestbuffers *rb); -int v4l2_m2m_ioctl_create_bufs(struct file *file, void *priv, +int v4l2_m2m_ioctl_create_bufs(struct file *file, + struct video_device_state *state, struct v4l2_create_buffers *create); -int v4l2_m2m_ioctl_remove_bufs(struct file *file, void *priv, +int v4l2_m2m_ioctl_remove_bufs(struct file *file, + struct video_device_state *state, struct v4l2_remove_buffers *d); -int v4l2_m2m_ioctl_querybuf(struct file *file, void *priv, +int v4l2_m2m_ioctl_querybuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf); -int v4l2_m2m_ioctl_expbuf(struct file *file, void *priv, +int v4l2_m2m_ioctl_expbuf(struct file *file, + struct video_device_state *state, struct v4l2_exportbuffer *eb); -int v4l2_m2m_ioctl_qbuf(struct file *file, void *priv, +int v4l2_m2m_ioctl_qbuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf); -int v4l2_m2m_ioctl_dqbuf(struct file *file, void *priv, +int v4l2_m2m_ioctl_dqbuf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf); -int v4l2_m2m_ioctl_prepare_buf(struct file *file, void *priv, +int v4l2_m2m_ioctl_prepare_buf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *buf); -int v4l2_m2m_ioctl_streamon(struct file *file, void *priv, +int v4l2_m2m_ioctl_streamon(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type); -int v4l2_m2m_ioctl_streamoff(struct file *file, void *priv, +int v4l2_m2m_ioctl_streamoff(struct file *file, + struct video_device_state *state, enum v4l2_buf_type type); -int v4l2_m2m_ioctl_encoder_cmd(struct file *file, void *priv, +int v4l2_m2m_ioctl_encoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_encoder_cmd *ec); -int v4l2_m2m_ioctl_decoder_cmd(struct file *file, void *priv, +int v4l2_m2m_ioctl_decoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_decoder_cmd *dc); -int v4l2_m2m_ioctl_try_encoder_cmd(struct file *file, void *priv, +int v4l2_m2m_ioctl_try_encoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_encoder_cmd *ec); -int v4l2_m2m_ioctl_try_decoder_cmd(struct file *file, void *priv, +int v4l2_m2m_ioctl_try_decoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_decoder_cmd *dc); -int v4l2_m2m_ioctl_stateless_try_decoder_cmd(struct file *file, void *priv, +int v4l2_m2m_ioctl_stateless_try_decoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_decoder_cmd *dc); -int v4l2_m2m_ioctl_stateless_decoder_cmd(struct file *file, void *priv, +int v4l2_m2m_ioctl_stateless_decoder_cmd(struct file *file, + struct video_device_state *state, struct v4l2_decoder_cmd *dc); int v4l2_m2m_fop_mmap(struct file *file, struct vm_area_struct *vma); __poll_t v4l2_m2m_fop_poll(struct file *file, poll_table *wait); diff --git a/include/media/videobuf2-v4l2.h b/include/media/videobuf2-v4l2.h index 77ce8238ab303a6f90dfb89852e7e48555f55a92..0164f0f3e404a425533d7657944= c26c2f6eae1da 100644 --- a/include/media/videobuf2-v4l2.h +++ b/include/media/videobuf2-v4l2.h @@ -14,6 +14,7 @@ =20 #include #include +#include =20 #if VB2_MAX_FRAME !=3D VIDEO_MAX_FRAME #error VB2_MAX_FRAME !=3D VIDEO_MAX_FRAME @@ -321,20 +322,28 @@ static inline bool vb2_queue_is_busy(struct vb2_queue= *q, struct file *file) =20 /* struct v4l2_ioctl_ops helpers */ =20 -int vb2_ioctl_reqbufs(struct file *file, void *priv, - struct v4l2_requestbuffers *p); -int vb2_ioctl_create_bufs(struct file *file, void *priv, +int vb2_ioctl_reqbufs(struct file *file, struct video_device_state *state, + struct v4l2_requestbuffers *p); +int vb2_ioctl_create_bufs(struct file *file, + struct video_device_state *state, struct v4l2_create_buffers *p); -int vb2_ioctl_prepare_buf(struct file *file, void *priv, +int vb2_ioctl_prepare_buf(struct file *file, + struct video_device_state *state, struct v4l2_buffer *p); -int vb2_ioctl_querybuf(struct file *file, void *priv, struct v4l2_buffer *= p); -int vb2_ioctl_qbuf(struct file *file, void *priv, struct v4l2_buffer *p); -int vb2_ioctl_dqbuf(struct file *file, void *priv, struct v4l2_buffer *p); -int vb2_ioctl_streamon(struct file *file, void *priv, enum v4l2_buf_type i= ); -int vb2_ioctl_streamoff(struct file *file, void *priv, enum v4l2_buf_type = i); -int vb2_ioctl_expbuf(struct file *file, void *priv, - struct v4l2_exportbuffer *p); -int vb2_ioctl_remove_bufs(struct file *file, void *priv, +int vb2_ioctl_querybuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *p); +int vb2_ioctl_qbuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *p); +int vb2_ioctl_dqbuf(struct file *file, struct video_device_state *state, + struct v4l2_buffer *p); +int vb2_ioctl_streamon(struct file *file, struct video_device_state *state, + enum v4l2_buf_type i); +int vb2_ioctl_streamoff(struct file *file, struct video_device_state *stat= e, + enum v4l2_buf_type i); +int vb2_ioctl_expbuf(struct file *file, + struct video_device_state *state, struct v4l2_exportbuffer *p); +int vb2_ioctl_remove_bufs(struct file *file, + struct video_device_state *state, struct v4l2_remove_buffers *p); =20 /* struct v4l2_file_operations helpers */ --=20 2.51.0