+++ /dev/null
-From bfe4361859005edec5e7ae73274c363910f56d7f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jakub=20Van=C4=9Bk?= <linuxtardis@gmail.com>
-Date: Wed, 7 Jul 2021 22:48:20 +0200
-Subject: [PATCH] media: bcm2835-unicam: Forward input status from
- subdevice
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The vidioc_enum_input() v4l2 ioctl is capable of returning
-sensor/input status as well. This is used in current
-GStreamer HEAD for signal detection [1].
-
-bcm2835-unicam does handle this syscall, but it didn't ask
-the subdevice driver about the input status. The input then
-appeared as always present.
-
-This commit adds the necessary query. There is a precedent for
-this - the R-Car VIN V4L2 driver does a similar call [2].
-
-[1]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/blob/ce0be27caf69aa9d96b73bc2b50737451b6f6936/sys/v4l2/gstv4l2src.c#L553
-[2]: https://github.com/raspberrypi/linux/blob/7fb9d006d3ff3baf2e205e0c85c4e4fd0a64fcd0/drivers/media/platform/rcar-vin/rcar-v4l2.c#L548
-
-Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
----
- drivers/media/platform/bcm2835/bcm2835-unicam.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
---- a/drivers/media/platform/bcm2835/bcm2835-unicam.c
-+++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c
-@@ -1806,6 +1806,7 @@ static int unicam_enum_input(struct file
- {
- struct unicam_node *node = video_drvdata(file);
- struct unicam_device *dev = node->dev;
-+ int ret;
-
- if (inp->index != 0)
- return -EINVAL;
-@@ -1822,6 +1823,14 @@ static int unicam_enum_input(struct file
- inp->capabilities = 0;
- inp->std = 0;
- }
-+
-+ if (v4l2_subdev_has_op(dev->sensor, video, g_input_status)) {
-+ ret = v4l2_subdev_call(dev->sensor, video, g_input_status,
-+ &inp->status);
-+ if (ret < 0)
-+ return ret;
-+ }
-+
- snprintf(inp->name, sizeof(inp->name), "Camera 0");
- return 0;
- }