|
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 |
|