diff mbox series

usb: gadget: uvc: Rename bmInterfaceFlags -> bmInterlaceFlags

Message ID 20221205145807.1099062-1-dan.scally@ideasonboard.com (mailing list archive)
State Superseded
Headers show
Series usb: gadget: uvc: Rename bmInterfaceFlags -> bmInterlaceFlags | expand

Commit Message

Dan Scally Dec. 5, 2022, 2:58 p.m. UTC
In the specification documents for the Uncompressed and MJPEG USB
Video Payloads, the field name is bmInterlaceFlags - it has been
misnamed within the kernel.

Although renaming the field does break the kernel's interface to
userspace it should be low-risk in this instance. The field is read
only and hardcoded to 0, so there was never any value in anyone
reading it. A search of our uvc-gadget application and all the major
forks that I could find for it did not reveal any users either.

Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
---
 drivers/usb/gadget/function/uvc_configfs.c | 12 ++++++------
 include/uapi/linux/usb/video.h             |  4 ++--
 2 files changed, 8 insertions(+), 8 deletions(-)

Comments

Greg KH Dec. 5, 2022, 3:01 p.m. UTC | #1
On Mon, Dec 05, 2022 at 02:58:07PM +0000, Daniel Scally wrote:
> In the specification documents for the Uncompressed and MJPEG USB
> Video Payloads, the field name is bmInterlaceFlags - it has been
> misnamed within the kernel.
> 
> Although renaming the field does break the kernel's interface to
> userspace it should be low-risk in this instance. The field is read
> only and hardcoded to 0, so there was never any value in anyone
> reading it. A search of our uvc-gadget application and all the major
> forks that I could find for it did not reveal any users either.

Note, if this does break someone, we will have to rename it back, ok?
Greg KH Dec. 5, 2022, 3:02 p.m. UTC | #2
On Mon, Dec 05, 2022 at 02:58:07PM +0000, Daniel Scally wrote:
> In the specification documents for the Uncompressed and MJPEG USB
> Video Payloads, the field name is bmInterlaceFlags - it has been
> misnamed within the kernel.
> 
> Although renaming the field does break the kernel's interface to
> userspace it should be low-risk in this instance. The field is read
> only and hardcoded to 0, so there was never any value in anyone
> reading it. A search of our uvc-gadget application and all the major
> forks that I could find for it did not reveal any users either.
> 
> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>

What commit id does this fix?
Dan Scally Dec. 5, 2022, 3:15 p.m. UTC | #3
Hi Greg

On 05/12/2022 15:01, Greg KH wrote:
> On Mon, Dec 05, 2022 at 02:58:07PM +0000, Daniel Scally wrote:
>> In the specification documents for the Uncompressed and MJPEG USB
>> Video Payloads, the field name is bmInterlaceFlags - it has been
>> misnamed within the kernel.
>>
>> Although renaming the field does break the kernel's interface to
>> userspace it should be low-risk in this instance. The field is read
>> only and hardcoded to 0, so there was never any value in anyone
>> reading it. A search of our uvc-gadget application and all the major
>> forks that I could find for it did not reveal any users either.
> Note, if this does break someone, we will have to rename it back, ok?
>
Sounds reasonable to me. The patch Fixes: cdda479f15cd ("USB gadget: 
video class function driver")
diff mbox series

Patch

diff --git a/drivers/usb/gadget/function/uvc_configfs.c b/drivers/usb/gadget/function/uvc_configfs.c
index 644d87eee164..fbeac2d765c0 100644
--- a/drivers/usb/gadget/function/uvc_configfs.c
+++ b/drivers/usb/gadget/function/uvc_configfs.c
@@ -1565,7 +1565,7 @@  UVCG_UNCOMPRESSED_ATTR(b_bits_per_pixel, bBitsPerPixel, 8);
 UVCG_UNCOMPRESSED_ATTR(b_default_frame_index, bDefaultFrameIndex, 8);
 UVCG_UNCOMPRESSED_ATTR_RO(b_aspect_ratio_x, bAspectRatioX, 8);
 UVCG_UNCOMPRESSED_ATTR_RO(b_aspect_ratio_y, bAspectRatioY, 8);
-UVCG_UNCOMPRESSED_ATTR_RO(bm_interface_flags, bmInterfaceFlags, 8);
+UVCG_UNCOMPRESSED_ATTR_RO(bm_interlace_flags, bmInterlaceFlags, 8);
 
 #undef UVCG_UNCOMPRESSED_ATTR
 #undef UVCG_UNCOMPRESSED_ATTR_RO
@@ -1594,7 +1594,7 @@  static struct configfs_attribute *uvcg_uncompressed_attrs[] = {
 	&uvcg_uncompressed_attr_b_default_frame_index,
 	&uvcg_uncompressed_attr_b_aspect_ratio_x,
 	&uvcg_uncompressed_attr_b_aspect_ratio_y,
-	&uvcg_uncompressed_attr_bm_interface_flags,
+	&uvcg_uncompressed_attr_bm_interlace_flags,
 	&uvcg_uncompressed_attr_bma_controls,
 	NULL,
 };
@@ -1627,7 +1627,7 @@  static struct config_group *uvcg_uncompressed_make(struct config_group *group,
 	h->desc.bDefaultFrameIndex	= 1;
 	h->desc.bAspectRatioX		= 0;
 	h->desc.bAspectRatioY		= 0;
-	h->desc.bmInterfaceFlags	= 0;
+	h->desc.bmInterlaceFlags	= 0;
 	h->desc.bCopyProtect		= 0;
 
 	INIT_LIST_HEAD(&h->fmt.frames);
@@ -1753,7 +1753,7 @@  UVCG_MJPEG_ATTR(b_default_frame_index, bDefaultFrameIndex, 8);
 UVCG_MJPEG_ATTR_RO(bm_flags, bmFlags, 8);
 UVCG_MJPEG_ATTR_RO(b_aspect_ratio_x, bAspectRatioX, 8);
 UVCG_MJPEG_ATTR_RO(b_aspect_ratio_y, bAspectRatioY, 8);
-UVCG_MJPEG_ATTR_RO(bm_interface_flags, bmInterfaceFlags, 8);
+UVCG_MJPEG_ATTR_RO(bm_interlace_flags, bmInterlaceFlags, 8);
 
 #undef UVCG_MJPEG_ATTR
 #undef UVCG_MJPEG_ATTR_RO
@@ -1781,7 +1781,7 @@  static struct configfs_attribute *uvcg_mjpeg_attrs[] = {
 	&uvcg_mjpeg_attr_bm_flags,
 	&uvcg_mjpeg_attr_b_aspect_ratio_x,
 	&uvcg_mjpeg_attr_b_aspect_ratio_y,
-	&uvcg_mjpeg_attr_bm_interface_flags,
+	&uvcg_mjpeg_attr_bm_interlace_flags,
 	&uvcg_mjpeg_attr_bma_controls,
 	NULL,
 };
@@ -1808,7 +1808,7 @@  static struct config_group *uvcg_mjpeg_make(struct config_group *group,
 	h->desc.bDefaultFrameIndex	= 1;
 	h->desc.bAspectRatioX		= 0;
 	h->desc.bAspectRatioY		= 0;
-	h->desc.bmInterfaceFlags	= 0;
+	h->desc.bmInterlaceFlags	= 0;
 	h->desc.bCopyProtect		= 0;
 
 	INIT_LIST_HEAD(&h->fmt.frames);
diff --git a/include/uapi/linux/usb/video.h b/include/uapi/linux/usb/video.h
index bfdae12cdacf..6e8e572c2980 100644
--- a/include/uapi/linux/usb/video.h
+++ b/include/uapi/linux/usb/video.h
@@ -466,7 +466,7 @@  struct uvc_format_uncompressed {
 	__u8  bDefaultFrameIndex;
 	__u8  bAspectRatioX;
 	__u8  bAspectRatioY;
-	__u8  bmInterfaceFlags;
+	__u8  bmInterlaceFlags;
 	__u8  bCopyProtect;
 } __attribute__((__packed__));
 
@@ -522,7 +522,7 @@  struct uvc_format_mjpeg {
 	__u8  bDefaultFrameIndex;
 	__u8  bAspectRatioX;
 	__u8  bAspectRatioY;
-	__u8  bmInterfaceFlags;
+	__u8  bmInterlaceFlags;
 	__u8  bCopyProtect;
 } __attribute__((__packed__));