media: uvcvideo: Remove format descriptions
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Tue, 15 Nov 2016 16:44:29 +0000 (18:44 +0200)
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sun, 15 Jan 2023 21:45:04 +0000 (23:45 +0200)
The V4L2 core overwrites format descriptions in v4l_fill_fmtdesc(),
there's no need to manually set the descriptions in the driver. This
prepares for removal of the format descriptions from the uvc_fmts table.

Unlike V4L2, UVC makes a distinction between the SD-DV, SDL-DV and HD-DV
formats. It also indicates whether the DV format uses 50Hz or 60Hz. This
information is parsed by the driver to construct a format name string
that is printed in a debug message, but serves no other purpose as V4L2
has a single V4L2_PIX_FMT_DV pixel format that covers all those cases.

As the information is available in the UVC descriptors, and thus
accessible to users with lsusb if they really care, don't log it in a
debug message and drop the format name string to simplify the code.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
Reviewed-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
drivers/media/usb/uvc/uvc_driver.c
drivers/media/usb/uvc/uvc_v4l2.c
drivers/media/usb/uvc/uvcvideo.h

index e4bcb50113607ae8589bd37a569ce11d4dfe7f21..0a35d7c0d0a0a1017e2d610628cc6dbeaccda285 100644 (file)
@@ -251,14 +251,10 @@ static int uvc_parse_format(struct uvc_device *dev,
                fmtdesc = uvc_format_by_guid(&buffer[5]);
 
                if (fmtdesc != NULL) {
-                       strscpy(format->name, fmtdesc->name,
-                               sizeof(format->name));
                        format->fcc = fmtdesc->fcc;
                } else {
                        dev_info(&streaming->intf->dev,
                                 "Unknown video format %pUl\n", &buffer[5]);
-                       snprintf(format->name, sizeof(format->name), "%pUl\n",
-                               &buffer[5]);
                        format->fcc = 0;
                }
 
@@ -270,8 +266,6 @@ static int uvc_parse_format(struct uvc_device *dev,
                 */
                if (dev->quirks & UVC_QUIRK_FORCE_Y8) {
                        if (format->fcc == V4L2_PIX_FMT_YUYV) {
-                               strscpy(format->name, "Greyscale 8-bit (Y8  )",
-                                       sizeof(format->name));
                                format->fcc = V4L2_PIX_FMT_GREY;
                                format->bpp = 8;
                                width_multiplier = 2;
@@ -312,7 +306,6 @@ static int uvc_parse_format(struct uvc_device *dev,
                        return -EINVAL;
                }
 
-               strscpy(format->name, "MJPEG", sizeof(format->name));
                format->fcc = V4L2_PIX_FMT_MJPEG;
                format->flags = UVC_FMT_FLAG_COMPRESSED;
                format->bpp = 0;
@@ -328,17 +321,7 @@ static int uvc_parse_format(struct uvc_device *dev,
                        return -EINVAL;
                }
 
-               switch (buffer[8] & 0x7f) {
-               case 0:
-                       strscpy(format->name, "SD-DV", sizeof(format->name));
-                       break;
-               case 1:
-                       strscpy(format->name, "SDL-DV", sizeof(format->name));
-                       break;
-               case 2:
-                       strscpy(format->name, "HD-DV", sizeof(format->name));
-                       break;
-               default:
+               if ((buffer[8] & 0x7f) > 2) {
                        uvc_dbg(dev, DESCR,
                                "device %d videostreaming interface %d: unknown DV format %u\n",
                                dev->udev->devnum,
@@ -346,9 +329,6 @@ static int uvc_parse_format(struct uvc_device *dev,
                        return -EINVAL;
                }
 
-               strlcat(format->name, buffer[8] & (1 << 7) ? " 60Hz" : " 50Hz",
-                       sizeof(format->name));
-
                format->fcc = V4L2_PIX_FMT_DV;
                format->flags = UVC_FMT_FLAG_COMPRESSED | UVC_FMT_FLAG_STREAM;
                format->bpp = 0;
@@ -375,7 +355,7 @@ static int uvc_parse_format(struct uvc_device *dev,
                return -EINVAL;
        }
 
-       uvc_dbg(dev, DESCR, "Found format %s\n", format->name);
+       uvc_dbg(dev, DESCR, "Found format %p4cc", &format->fcc);
 
        buflen -= buffer[0];
        buffer += buffer[0];
index f4d4c33b6dfbd7ef86f2bef050eeab6ff2615ebf..dcd178d249b6bf1b0dd6a5a839e1739a44de618d 100644 (file)
@@ -660,8 +660,6 @@ static int uvc_ioctl_enum_fmt(struct uvc_streaming *stream,
        fmt->flags = 0;
        if (format->flags & UVC_FMT_FLAG_COMPRESSED)
                fmt->flags |= V4L2_FMT_FLAG_COMPRESSED;
-       strscpy(fmt->description, format->name, sizeof(fmt->description));
-       fmt->description[sizeof(fmt->description) - 1] = 0;
        fmt->pixelformat = format->fcc;
        return 0;
 }
index df93db259312e7877a1874c8eaba62daf4d21176..b60e4ae95e8157344a220412c512772200cba70c 100644 (file)
@@ -264,8 +264,6 @@ struct uvc_format {
        u32 fcc;
        u32 flags;
 
-       char name[32];
-
        unsigned int nframes;
        struct uvc_frame *frame;
 };