Re: [PATCH v1 1/4] media: uvcvideo: Rename uvc_streaming 'format' field to 'formats'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Laurent

On Thu, 20 Apr 2023 at 12:09, Laurent Pinchart
<laurent.pinchart@xxxxxxxxxxxxxxxx> wrote:
>
> The uvc_streaming 'format' field points to an array of formats. Rename
> it to 'formats' to make this clearer.
>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
Reviewed-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>
> ---
>  drivers/media/usb/uvc/uvc_driver.c |  4 ++--
>  drivers/media/usb/uvc/uvc_v4l2.c   | 16 ++++++++--------
>  drivers/media/usb/uvc/uvc_video.c  |  6 +++---
>  drivers/media/usb/uvc/uvcvideo.h   |  2 +-
>  4 files changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> index 25b8199f4e82..77d4403b0b4f 100644
> --- a/drivers/media/usb/uvc/uvc_driver.c
> +++ b/drivers/media/usb/uvc/uvc_driver.c
> @@ -184,7 +184,7 @@ static void uvc_stream_delete(struct uvc_streaming *stream)
>
>         usb_put_intf(stream->intf);
>
> -       kfree(stream->format);
> +       kfree(stream->formats);
>         kfree(stream->header.bmaControls);
>         kfree(stream);
>  }
> @@ -677,7 +677,7 @@ static int uvc_parse_streaming(struct uvc_device *dev,
>         frame = (struct uvc_frame *)&format[nformats];
>         interval = (u32 *)&frame[nframes];
>
> -       streaming->format = format;
> +       streaming->formats = format;
>         streaming->nformats = nformats;

Unrelated question:
For:
size = nformats * sizeof(*format) + nframes * sizeof(*frame)
     + nintervals * sizeof(*interval);
frame = (struct uvc_frame *)&format[nformats];
interval = (u32 *)&frame[nframes];

streaming->format = format;
streaming->nformats = nformats;

We are very lucky that (*format) (*frame) and (*interval) are cache
aligned right?

Maybe we should make 3 allocations?


>
>         /* Parse the format descriptors. */
> diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c
> index 35453f81c1d9..6960d7ebd904 100644
> --- a/drivers/media/usb/uvc/uvc_v4l2.c
> +++ b/drivers/media/usb/uvc/uvc_v4l2.c
> @@ -235,7 +235,7 @@ static int uvc_v4l2_try_format(struct uvc_streaming *stream,
>          * format otherwise.
>          */
>         for (i = 0; i < stream->nformats; ++i) {
> -               format = &stream->format[i];
> +               format = &stream->formats[i];
>                 if (format->fcc == fmt->fmt.pix.pixelformat)
>                         break;
>         }
> @@ -319,8 +319,8 @@ static int uvc_v4l2_try_format(struct uvc_streaming *stream,
>          * accepted the requested format as-is.
>          */
>         for (i = 0; i < stream->nformats; ++i) {
> -               if (probe->bFormatIndex == stream->format[i].index) {
> -                       format = &stream->format[i];
> +               if (probe->bFormatIndex == stream->formats[i].index) {
> +                       format = &stream->formats[i];
>                         break;
>                 }
>         }
> @@ -708,7 +708,7 @@ static int uvc_ioctl_enum_fmt(struct uvc_streaming *stream,
>         fmt->index = index;
>         fmt->type = type;
>
> -       format = &stream->format[fmt->index];
> +       format = &stream->formats[fmt->index];
>         fmt->flags = 0;
>         if (format->flags & UVC_FMT_FLAG_COMPRESSED)
>                 fmt->flags |= V4L2_FMT_FLAG_COMPRESSED;
> @@ -1256,8 +1256,8 @@ static int uvc_ioctl_enum_framesizes(struct file *file, void *fh,
>
>         /* Look for the given pixel format */
>         for (i = 0; i < stream->nformats; i++) {
> -               if (stream->format[i].fcc == fsize->pixel_format) {
> -                       format = &stream->format[i];
> +               if (stream->formats[i].fcc == fsize->pixel_format) {
> +                       format = &stream->formats[i];
>                         break;
>                 }
>         }
> @@ -1297,8 +1297,8 @@ static int uvc_ioctl_enum_frameintervals(struct file *file, void *fh,
>
>         /* Look for the given pixel format and frame size */
>         for (i = 0; i < stream->nformats; i++) {
> -               if (stream->format[i].fcc == fival->pixel_format) {
> -                       format = &stream->format[i];
> +               if (stream->formats[i].fcc == fival->pixel_format) {
> +                       format = &stream->formats[i];
>                         break;
>                 }
>         }
> diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c
> index d4b023d4de7c..af540f435099 100644
> --- a/drivers/media/usb/uvc/uvc_video.c
> +++ b/drivers/media/usb/uvc/uvc_video.c
> @@ -166,8 +166,8 @@ static void uvc_fixup_video_ctrl(struct uvc_streaming *stream,
>         }
>
>         for (i = 0; i < stream->nformats; ++i) {
> -               if (stream->format[i].index == ctrl->bFormatIndex) {
> -                       format = &stream->format[i];
> +               if (stream->formats[i].index == ctrl->bFormatIndex) {
> +                       format = &stream->formats[i];
>                         break;
>                 }
>         }
> @@ -2161,7 +2161,7 @@ int uvc_video_init(struct uvc_streaming *stream)
>          * available format otherwise.
>          */
>         for (i = stream->nformats; i > 0; --i) {
> -               format = &stream->format[i-1];
> +               format = &stream->formats[i-1];
>                 if (format->index == probe->bFormatIndex)
>                         break;
>         }
> diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
> index 50f171e7381b..9c8bea8d405c 100644
> --- a/drivers/media/usb/uvc/uvcvideo.h
> +++ b/drivers/media/usb/uvc/uvcvideo.h
> @@ -438,7 +438,7 @@ struct uvc_streaming {
>         enum v4l2_buf_type type;
>
>         unsigned int nformats;
> -       struct uvc_format *format;
> +       struct uvc_format *formats;
>
>         struct uvc_streaming_control ctrl;
>         struct uvc_format *def_format;
> --
> Regards,
>
> Laurent Pinchart
>


-- 
Ricardo Ribalda



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux