Re: [PATCH 3/5] usb: uvc: make uvc_format_desc table const

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

 



Hi Michael,

Thank you for the patch.

On Mon, Dec 12, 2022 at 08:47:14PM +0100, Michael Grzeschik wrote:
> Since the uvc_fmts array can not be modified we declare it const and
> change every user of the uvc_format_by_guid function aswell.
> 
> Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx>

Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>

> ---
>  drivers/media/common/uvc.c             | 4 ++--
>  drivers/media/usb/uvc/uvc_driver.c     | 2 +-
>  drivers/usb/gadget/function/uvc_v4l2.c | 8 ++++----
>  include/linux/usb/uvc.h                | 2 +-
>  4 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/media/common/uvc.c b/drivers/media/common/uvc.c
> index a3cf40215a0754..a6787f1999becd 100644
> --- a/drivers/media/common/uvc.c
> +++ b/drivers/media/common/uvc.c
> @@ -9,7 +9,7 @@
>   * Video formats
>   */
>  
> -static struct uvc_format_desc uvc_fmts[] = {
> +static const struct uvc_format_desc uvc_fmts[] = {
>  	{
>  		.name		= "YUV 4:2:2 (YUYV)",
>  		.guid		= UVC_GUID_FORMAT_YUY2,
> @@ -197,7 +197,7 @@ static struct uvc_format_desc uvc_fmts[] = {
>  	},
>  };
>  
> -struct uvc_format_desc *uvc_format_by_guid(const u8 guid[16])
> +const struct uvc_format_desc *uvc_format_by_guid(const u8 guid[16])
>  {
>  	unsigned int len = ARRAY_SIZE(uvc_fmts);
>  	unsigned int i;
> diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> index 13023cdd37e50b..12b6ad0966d94a 100644
> --- a/drivers/media/usb/uvc/uvc_driver.c
> +++ b/drivers/media/usb/uvc/uvc_driver.c
> @@ -224,7 +224,7 @@ static int uvc_parse_format(struct uvc_device *dev,
>  {
>  	struct usb_interface *intf = streaming->intf;
>  	struct usb_host_interface *alts = intf->cur_altsetting;
> -	struct uvc_format_desc *fmtdesc;
> +	const struct uvc_format_desc *fmtdesc;
>  	struct uvc_frame *frame;
>  	const unsigned char *start = buffer;
>  	unsigned int width_multiplier = 1;
> diff --git a/drivers/usb/gadget/function/uvc_v4l2.c b/drivers/usb/gadget/function/uvc_v4l2.c
> index 7435df0cf2a847..21e573e628f4e7 100644
> --- a/drivers/usb/gadget/function/uvc_v4l2.c
> +++ b/drivers/usb/gadget/function/uvc_v4l2.c
> @@ -27,10 +27,10 @@
>  #include "uvc_v4l2.h"
>  #include "uvc_configfs.h"
>  
> -static struct uvc_format_desc *to_uvc_format(struct uvcg_format *uformat)
> +static const struct uvc_format_desc *to_uvc_format(struct uvcg_format *uformat)
>  {
>  	char guid[16] = UVC_GUID_FORMAT_MJPEG;
> -	struct uvc_format_desc *format;
> +	const struct uvc_format_desc *format;
>  	struct uvcg_uncompressed *unc;
>  
>  	if (uformat->type == UVCG_UNCOMPRESSED) {
> @@ -119,7 +119,7 @@ static struct uvcg_format *find_format_by_pix(struct uvc_device *uvc,
>  	struct uvcg_format *uformat = NULL;
>  
>  	list_for_each_entry(format, &uvc->header->formats, entry) {
> -		struct uvc_format_desc *fmtdesc = to_uvc_format(format->fmt);
> +		const struct uvc_format_desc *fmtdesc = to_uvc_format(format->fmt);
>  
>  		if (fmtdesc->fcc == pixelformat) {
>  			uformat = format->fmt;
> @@ -364,7 +364,7 @@ uvc_v4l2_enum_format(struct file *file, void *fh, struct v4l2_fmtdesc *f)
>  {
>  	struct video_device *vdev = video_devdata(file);
>  	struct uvc_device *uvc = video_get_drvdata(vdev);
> -	struct uvc_format_desc *fmtdesc;
> +	const struct uvc_format_desc *fmtdesc;
>  	struct uvcg_format *uformat;
>  
>  	if (f->index >= uvc->header->num_fmt)
> diff --git a/include/linux/usb/uvc.h b/include/linux/usb/uvc.h
> index a2dae2b40a2318..227a03f252a5c0 100644
> --- a/include/linux/usb/uvc.h
> +++ b/include/linux/usb/uvc.h
> @@ -151,6 +151,6 @@ struct uvc_format_desc {
>  	u32 fcc;
>  };
>  
> -struct uvc_format_desc *uvc_format_by_guid(const u8 guid[16]);
> +const struct uvc_format_desc *uvc_format_by_guid(const u8 guid[16]);
>  
>  #endif /* __LINUX_V4L2_UVC_H */

-- 
Regards,

Laurent Pinchart



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux