Jiri Slaby 07c6c7
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Jiri Slaby 07c6c7
Date: Tue, 15 Nov 2016 18:44:29 +0200
Jiri Slaby 07c6c7
Subject: [PATCH] media: uvcvideo: Remove format descriptions
Jiri Slaby 07c6c7
References: bsc#1012628
Jiri Slaby 07c6c7
Patch-mainline: 6.2.5
Jiri Slaby 07c6c7
Git-commit: 50459f103edfe47c9a599d766a850ef6014936c5
Jiri Slaby 07c6c7
Jiri Slaby 07c6c7
[ Upstream commit 50459f103edfe47c9a599d766a850ef6014936c5 ]
Jiri Slaby 07c6c7
Jiri Slaby 07c6c7
The V4L2 core overwrites format descriptions in v4l_fill_fmtdesc(),
Jiri Slaby 07c6c7
there's no need to manually set the descriptions in the driver. This
Jiri Slaby 07c6c7
prepares for removal of the format descriptions from the uvc_fmts table.
Jiri Slaby 07c6c7
Jiri Slaby 07c6c7
Unlike V4L2, UVC makes a distinction between the SD-DV, SDL-DV and HD-DV
Jiri Slaby 07c6c7
formats. It also indicates whether the DV format uses 50Hz or 60Hz. This
Jiri Slaby 07c6c7
information is parsed by the driver to construct a format name string
Jiri Slaby 07c6c7
that is printed in a debug message, but serves no other purpose as V4L2
Jiri Slaby 07c6c7
has a single V4L2_PIX_FMT_DV pixel format that covers all those cases.
Jiri Slaby 07c6c7
Jiri Slaby 07c6c7
As the information is available in the UVC descriptors, and thus
Jiri Slaby 07c6c7
accessible to users with lsusb if they really care, don't log it in a
Jiri Slaby 07c6c7
debug message and drop the format name string to simplify the code.
Jiri Slaby 07c6c7
Jiri Slaby 07c6c7
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Jiri Slaby 07c6c7
Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
Jiri Slaby 07c6c7
Reviewed-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Jiri Slaby 07c6c7
Signed-off-by: Sasha Levin <sashal@kernel.org>
Jiri Slaby 07c6c7
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Jiri Slaby 07c6c7
---
Jiri Slaby 07c6c7
 drivers/media/usb/uvc/uvc_driver.c | 24 ++----------------------
Jiri Slaby 07c6c7
 drivers/media/usb/uvc/uvc_v4l2.c   |  2 --
Jiri Slaby 07c6c7
 drivers/media/usb/uvc/uvcvideo.h   |  2 --
Jiri Slaby 07c6c7
 3 files changed, 2 insertions(+), 26 deletions(-)
Jiri Slaby 07c6c7
Jiri Slaby 07c6c7
diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
Jiri Slaby 07c6c7
index d5ff8df2..d30f77d8 100644
Jiri Slaby 07c6c7
--- a/drivers/media/usb/uvc/uvc_driver.c
Jiri Slaby 07c6c7
+++ b/drivers/media/usb/uvc/uvc_driver.c
Jiri Slaby 07c6c7
@@ -252,14 +252,10 @@ static int uvc_parse_format(struct uvc_device *dev,
Jiri Slaby 07c6c7
 		fmtdesc = uvc_format_by_guid(&buffer[5]);
Jiri Slaby 07c6c7
 
Jiri Slaby 07c6c7
 		if (fmtdesc != NULL) {
Jiri Slaby 07c6c7
-			strscpy(format->name, fmtdesc->name,
Jiri Slaby 07c6c7
-				sizeof(format->name));
Jiri Slaby 07c6c7
 			format->fcc = fmtdesc->fcc;
Jiri Slaby 07c6c7
 		} else {
Jiri Slaby 07c6c7
 			dev_info(&streaming->intf->dev,
Jiri Slaby 07c6c7
 				 "Unknown video format %pUl\n", &buffer[5]);
Jiri Slaby 07c6c7
-			snprintf(format->name, sizeof(format->name), "%pUl\n",
Jiri Slaby 07c6c7
-				&buffer[5]);
Jiri Slaby 07c6c7
 			format->fcc = 0;
Jiri Slaby 07c6c7
 		}
Jiri Slaby 07c6c7
 
Jiri Slaby 07c6c7
@@ -271,8 +267,6 @@ static int uvc_parse_format(struct uvc_device *dev,
Jiri Slaby 07c6c7
 		 */
Jiri Slaby 07c6c7
 		if (dev->quirks & UVC_QUIRK_FORCE_Y8) {
Jiri Slaby 07c6c7
 			if (format->fcc == V4L2_PIX_FMT_YUYV) {
Jiri Slaby 07c6c7
-				strscpy(format->name, "Greyscale 8-bit (Y8  )",
Jiri Slaby 07c6c7
-					sizeof(format->name));
Jiri Slaby 07c6c7
 				format->fcc = V4L2_PIX_FMT_GREY;
Jiri Slaby 07c6c7
 				format->bpp = 8;
Jiri Slaby 07c6c7
 				width_multiplier = 2;
Jiri Slaby 07c6c7
@@ -313,7 +307,6 @@ static int uvc_parse_format(struct uvc_device *dev,
Jiri Slaby 07c6c7
 			return -EINVAL;
Jiri Slaby 07c6c7
 		}
Jiri Slaby 07c6c7
 
Jiri Slaby 07c6c7
-		strscpy(format->name, "MJPEG", sizeof(format->name));
Jiri Slaby 07c6c7
 		format->fcc = V4L2_PIX_FMT_MJPEG;
Jiri Slaby 07c6c7
 		format->flags = UVC_FMT_FLAG_COMPRESSED;
Jiri Slaby 07c6c7
 		format->bpp = 0;
Jiri Slaby 07c6c7
@@ -329,17 +322,7 @@ static int uvc_parse_format(struct uvc_device *dev,
Jiri Slaby 07c6c7
 			return -EINVAL;
Jiri Slaby 07c6c7
 		}
Jiri Slaby 07c6c7
 
Jiri Slaby 07c6c7
-		switch (buffer[8] & 0x7f) {
Jiri Slaby 07c6c7
-		case 0:
Jiri Slaby 07c6c7
-			strscpy(format->name, "SD-DV", sizeof(format->name));
Jiri Slaby 07c6c7
-			break;
Jiri Slaby 07c6c7
-		case 1:
Jiri Slaby 07c6c7
-			strscpy(format->name, "SDL-DV", sizeof(format->name));
Jiri Slaby 07c6c7
-			break;
Jiri Slaby 07c6c7
-		case 2:
Jiri Slaby 07c6c7
-			strscpy(format->name, "HD-DV", sizeof(format->name));
Jiri Slaby 07c6c7
-			break;
Jiri Slaby 07c6c7
-		default:
Jiri Slaby 07c6c7
+		if ((buffer[8] & 0x7f) > 2) {
Jiri Slaby 07c6c7
 			uvc_dbg(dev, DESCR,
Jiri Slaby 07c6c7
 				"device %d videostreaming interface %d: unknown DV format %u\n",
Jiri Slaby 07c6c7
 				dev->udev->devnum,
Jiri Slaby 07c6c7
@@ -347,9 +330,6 @@ static int uvc_parse_format(struct uvc_device *dev,
Jiri Slaby 07c6c7
 			return -EINVAL;
Jiri Slaby 07c6c7
 		}
Jiri Slaby 07c6c7
 
Jiri Slaby 07c6c7
-		strlcat(format->name, buffer[8] & (1 << 7) ? " 60Hz" : " 50Hz",
Jiri Slaby 07c6c7
-			sizeof(format->name));
Jiri Slaby 07c6c7
-
Jiri Slaby 07c6c7
 		format->fcc = V4L2_PIX_FMT_DV;
Jiri Slaby 07c6c7
 		format->flags = UVC_FMT_FLAG_COMPRESSED | UVC_FMT_FLAG_STREAM;
Jiri Slaby 07c6c7
 		format->bpp = 0;
Jiri Slaby 07c6c7
@@ -376,7 +356,7 @@ static int uvc_parse_format(struct uvc_device *dev,
Jiri Slaby 07c6c7
 		return -EINVAL;
Jiri Slaby 07c6c7
 	}
Jiri Slaby 07c6c7
 
Jiri Slaby 07c6c7
-	uvc_dbg(dev, DESCR, "Found format %s\n", format->name);
Jiri Slaby 07c6c7
+	uvc_dbg(dev, DESCR, "Found format %p4cc", &format->fcc);
Jiri Slaby 07c6c7
 
Jiri Slaby 07c6c7
 	buflen -= buffer[0];
Jiri Slaby 07c6c7
 	buffer += buffer[0];
Jiri Slaby 07c6c7
diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c
Jiri Slaby 07c6c7
index 0774a113..950b42d7 100644
Jiri Slaby 07c6c7
--- a/drivers/media/usb/uvc/uvc_v4l2.c
Jiri Slaby 07c6c7
+++ b/drivers/media/usb/uvc/uvc_v4l2.c
Jiri Slaby 07c6c7
@@ -661,8 +661,6 @@ static int uvc_ioctl_enum_fmt(struct uvc_streaming *stream,
Jiri Slaby 07c6c7
 	fmt->flags = 0;
Jiri Slaby 07c6c7
 	if (format->flags & UVC_FMT_FLAG_COMPRESSED)
Jiri Slaby 07c6c7
 		fmt->flags |= V4L2_FMT_FLAG_COMPRESSED;
Jiri Slaby 07c6c7
-	strscpy(fmt->description, format->name, sizeof(fmt->description));
Jiri Slaby 07c6c7
-	fmt->description[sizeof(fmt->description) - 1] = 0;
Jiri Slaby 07c6c7
 	fmt->pixelformat = format->fcc;
Jiri Slaby 07c6c7
 	return 0;
Jiri Slaby 07c6c7
 }
Jiri Slaby 07c6c7
diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
Jiri Slaby 07c6c7
index 1227ae63..4c89bf08 100644
Jiri Slaby 07c6c7
--- a/drivers/media/usb/uvc/uvcvideo.h
Jiri Slaby 07c6c7
+++ b/drivers/media/usb/uvc/uvcvideo.h
Jiri Slaby 07c6c7
@@ -264,8 +264,6 @@ struct uvc_format {
Jiri Slaby 07c6c7
 	u32 fcc;
Jiri Slaby 07c6c7
 	u32 flags;
Jiri Slaby 07c6c7
 
Jiri Slaby 07c6c7
-	char name[32];
Jiri Slaby 07c6c7
-
Jiri Slaby 07c6c7
 	unsigned int nframes;
Jiri Slaby 07c6c7
 	struct uvc_frame *frame;
Jiri Slaby 07c6c7
 };
Jiri Slaby 07c6c7
-- 
Jiri Slaby 07c6c7
2.35.3
Jiri Slaby 07c6c7