[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250605-uvc-orientation-v2-12-5710f9d030aa@chromium.org>
Date: Thu, 05 Jun 2025 17:53:05 +0000
From: Ricardo Ribalda <ribalda@...omium.org>
To: Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Hans de Goede <hdegoede@...hat.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Hans Verkuil <hverkuil@...all.nl>,
Sakari Ailus <sakari.ailus@...ux.intel.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Linus Walleij <linus.walleij@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>,
"Rafael J. Wysocki" <rafael@...nel.org>, Len Brown <lenb@...nel.org>
Cc: linux-media@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-usb@...r.kernel.org, devicetree@...r.kernel.org,
linux-gpio@...r.kernel.org, linux-acpi@...r.kernel.org,
Ricardo Ribalda <ribalda@...omium.org>
Subject: [PATCH v2 12/12] media: uvcvideo: Do not create MC entities for
virtual entities
Neither the GPIO nor the SWENTITY entities form part of the device
pipeline. We just create them to hold emulated uvc controls.
When the device initializes, a warning is thrown by the v4l2 core:
uvcvideo 1-1:1.0: Entity type for entity SWENTITY was not initialized!
There are no entity function that matches what we are doing here, and
it does not make to much sense to create a function for entities that
do not really exist.
Do not create MC entities for them and pretend nothing happened here.
Signed-off-by: Ricardo Ribalda <ribalda@...omium.org>
---
drivers/media/usb/uvc/uvc_entity.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/media/usb/uvc/uvc_entity.c b/drivers/media/usb/uvc/uvc_entity.c
index d1a652ef35ec34801bd39a5124b834edf838a79e..2dbeb4ab0c4c8cc763ff2dcd2d836a50f3c6a040 100644
--- a/drivers/media/usb/uvc/uvc_entity.c
+++ b/drivers/media/usb/uvc/uvc_entity.c
@@ -72,6 +72,16 @@ static int uvc_mc_init_entity(struct uvc_video_chain *chain,
{
int ret;
+ /*
+ * Do not initialize virtual entities, they do not really exist
+ * and are not connected to any other entities.
+ */
+ switch (UVC_ENTITY_TYPE(entity)) {
+ case UVC_EXT_GPIO_UNIT:
+ case UVC_SWENTITY_UNIT:
+ return 0;
+ }
+
if (UVC_ENTITY_TYPE(entity) != UVC_TT_STREAMING) {
u32 function;
--
2.50.0.rc0.642.g800a2b2222-goog
Powered by blists - more mailing lists