mbox series

[v3,0/7] UVC Gadget: Extend color matching support

Message ID 20230130142639.217885-1-dan.scally@ideasonboard.com (mailing list archive)
Headers show
Series UVC Gadget: Extend color matching support | expand

Message

Dan Scally Jan. 30, 2023, 2:26 p.m. UTC
The current UVC gadget implementation hardcodes a single color matching
descriptor and includes it in the payload of USB descriptors a single time
following all the format and frame descriptors. This is inflexible, and
additionally applies only to the _last_ format in the array of descriptors.

This series extends the support such that the default descriptor can be amended
and is included once-per-format instead of once-only, it then adds the ability
to create new color matching descriptors and associate them with particular formats.
The default color matching descriptor is retained and used where the user does not
link a new color matching descriptor to the format, so the default interaction
with userspace is unchanged from the current implementation.

Daniel Scally (7):
  usb: gadget: usb: Remove "default" from color matching attributes
  usb: uvc: Enumerate valid values for color matching
  usb: gadget: uvc: Add struct for color matching in configs
  usb: gadget: uvc: Copy color matching descriptor for each frame
  usb: gadget: uvc: Remove the hardcoded default color matching
  usb: gadget: uvc: Make color matching attributes read/write
  usb: gadget: uvc: Allow creating new color matching descriptors

 .../ABI/testing/configfs-usb-gadget-uvc       |  19 +-
 drivers/usb/gadget/function/f_uvc.c           |   9 -
 drivers/usb/gadget/function/u_uvc.h           |   1 -
 drivers/usb/gadget/function/uvc_configfs.c    | 282 ++++++++++++++++--
 drivers/usb/gadget/function/uvc_configfs.h    |  22 +-
 include/uapi/linux/usb/video.h                |  30 ++
 6 files changed, 315 insertions(+), 48 deletions(-)

Comments

Greg Kroah-Hartman Feb. 2, 2023, 10:18 a.m. UTC | #1
On Mon, Jan 30, 2023 at 02:26:32PM +0000, Daniel Scally wrote:
> The current UVC gadget implementation hardcodes a single color matching
> descriptor and includes it in the payload of USB descriptors a single time
> following all the format and frame descriptors. This is inflexible, and
> additionally applies only to the _last_ format in the array of descriptors.
> 
> This series extends the support such that the default descriptor can be amended
> and is included once-per-format instead of once-only, it then adds the ability
> to create new color matching descriptors and associate them with particular formats.
> The default color matching descriptor is retained and used where the user does not
> link a new color matching descriptor to the format, so the default interaction
> with userspace is unchanged from the current implementation.
> 
> Daniel Scally (7):
>   usb: gadget: usb: Remove "default" from color matching attributes
>   usb: uvc: Enumerate valid values for color matching
>   usb: gadget: uvc: Add struct for color matching in configs
>   usb: gadget: uvc: Copy color matching descriptor for each frame
>   usb: gadget: uvc: Remove the hardcoded default color matching
>   usb: gadget: uvc: Make color matching attributes read/write
>   usb: gadget: uvc: Allow creating new color matching descriptors
> 
>  .../ABI/testing/configfs-usb-gadget-uvc       |  19 +-
>  drivers/usb/gadget/function/f_uvc.c           |   9 -
>  drivers/usb/gadget/function/u_uvc.h           |   1 -
>  drivers/usb/gadget/function/uvc_configfs.c    | 282 ++++++++++++++++--
>  drivers/usb/gadget/function/uvc_configfs.h    |  22 +-
>  include/uapi/linux/usb/video.h                |  30 ++
>  6 files changed, 315 insertions(+), 48 deletions(-)
> 
> -- 
> 2.34.1
> 

This series does not apply against my tree at all, what was it made
against?

thanks,

greg k-h
Dan Scally Feb. 2, 2023, 10:20 a.m. UTC | #2
Morning Greg

On 02/02/2023 10:18, Greg KH wrote:
> On Mon, Jan 30, 2023 at 02:26:32PM +0000, Daniel Scally wrote:
>> The current UVC gadget implementation hardcodes a single color matching
>> descriptor and includes it in the payload of USB descriptors a single time
>> following all the format and frame descriptors. This is inflexible, and
>> additionally applies only to the _last_ format in the array of descriptors.
>>
>> This series extends the support such that the default descriptor can be amended
>> and is included once-per-format instead of once-only, it then adds the ability
>> to create new color matching descriptors and associate them with particular formats.
>> The default color matching descriptor is retained and used where the user does not
>> link a new color matching descriptor to the format, so the default interaction
>> with userspace is unchanged from the current implementation.
>>
>> Daniel Scally (7):
>>    usb: gadget: usb: Remove "default" from color matching attributes
>>    usb: uvc: Enumerate valid values for color matching
>>    usb: gadget: uvc: Add struct for color matching in configs
>>    usb: gadget: uvc: Copy color matching descriptor for each frame
>>    usb: gadget: uvc: Remove the hardcoded default color matching
>>    usb: gadget: uvc: Make color matching attributes read/write
>>    usb: gadget: uvc: Allow creating new color matching descriptors
>>
>>   .../ABI/testing/configfs-usb-gadget-uvc       |  19 +-
>>   drivers/usb/gadget/function/f_uvc.c           |   9 -
>>   drivers/usb/gadget/function/u_uvc.h           |   1 -
>>   drivers/usb/gadget/function/uvc_configfs.c    | 282 ++++++++++++++++--
>>   drivers/usb/gadget/function/uvc_configfs.h    |  22 +-
>>   include/uapi/linux/usb/video.h                |  30 ++
>>   6 files changed, 315 insertions(+), 48 deletions(-)
>>
>> -- 
>> 2.34.1
>>
> This series does not apply against my tree at all, what was it made
> against?


I thought I had rebased it against usb-linus, was that the wrong branch 
to use? If not then I probably messed it up somehow, I can rebase and 
resend.

> thanks,
>
> greg k-h
Greg Kroah-Hartman Feb. 2, 2023, 10:29 a.m. UTC | #3
On Thu, Feb 02, 2023 at 10:20:20AM +0000, Dan Scally wrote:
> Morning Greg
> 
> On 02/02/2023 10:18, Greg KH wrote:
> > On Mon, Jan 30, 2023 at 02:26:32PM +0000, Daniel Scally wrote:
> > > The current UVC gadget implementation hardcodes a single color matching
> > > descriptor and includes it in the payload of USB descriptors a single time
> > > following all the format and frame descriptors. This is inflexible, and
> > > additionally applies only to the _last_ format in the array of descriptors.
> > > 
> > > This series extends the support such that the default descriptor can be amended
> > > and is included once-per-format instead of once-only, it then adds the ability
> > > to create new color matching descriptors and associate them with particular formats.
> > > The default color matching descriptor is retained and used where the user does not
> > > link a new color matching descriptor to the format, so the default interaction
> > > with userspace is unchanged from the current implementation.
> > > 
> > > Daniel Scally (7):
> > >    usb: gadget: usb: Remove "default" from color matching attributes
> > >    usb: uvc: Enumerate valid values for color matching
> > >    usb: gadget: uvc: Add struct for color matching in configs
> > >    usb: gadget: uvc: Copy color matching descriptor for each frame
> > >    usb: gadget: uvc: Remove the hardcoded default color matching
> > >    usb: gadget: uvc: Make color matching attributes read/write
> > >    usb: gadget: uvc: Allow creating new color matching descriptors
> > > 
> > >   .../ABI/testing/configfs-usb-gadget-uvc       |  19 +-
> > >   drivers/usb/gadget/function/f_uvc.c           |   9 -
> > >   drivers/usb/gadget/function/u_uvc.h           |   1 -
> > >   drivers/usb/gadget/function/uvc_configfs.c    | 282 ++++++++++++++++--
> > >   drivers/usb/gadget/function/uvc_configfs.h    |  22 +-
> > >   include/uapi/linux/usb/video.h                |  30 ++
> > >   6 files changed, 315 insertions(+), 48 deletions(-)
> > > 
> > > -- 
> > > 2.34.1
> > > 
> > This series does not apply against my tree at all, what was it made
> > against?
> 
> 
> I thought I had rebased it against usb-linus, was that the wrong branch to
> use? If not then I probably messed it up somehow, I can rebase and resend.

usb-linus is not the right branch for new features, please use usb-next.
Although for the next 24 hours, you should probably use usb-testing as
that has your other changes in it already, before I merge it into
usb-next.

thanks,

greg k-h
Dan Scally Feb. 2, 2023, 10:33 a.m. UTC | #4
On 02/02/2023 10:29, Greg KH wrote:
> On Thu, Feb 02, 2023 at 10:20:20AM +0000, Dan Scally wrote:
>> Morning Greg
>>
>> On 02/02/2023 10:18, Greg KH wrote:
>>> On Mon, Jan 30, 2023 at 02:26:32PM +0000, Daniel Scally wrote:
>>>> The current UVC gadget implementation hardcodes a single color matching
>>>> descriptor and includes it in the payload of USB descriptors a single time
>>>> following all the format and frame descriptors. This is inflexible, and
>>>> additionally applies only to the _last_ format in the array of descriptors.
>>>>
>>>> This series extends the support such that the default descriptor can be amended
>>>> and is included once-per-format instead of once-only, it then adds the ability
>>>> to create new color matching descriptors and associate them with particular formats.
>>>> The default color matching descriptor is retained and used where the user does not
>>>> link a new color matching descriptor to the format, so the default interaction
>>>> with userspace is unchanged from the current implementation.
>>>>
>>>> Daniel Scally (7):
>>>>     usb: gadget: usb: Remove "default" from color matching attributes
>>>>     usb: uvc: Enumerate valid values for color matching
>>>>     usb: gadget: uvc: Add struct for color matching in configs
>>>>     usb: gadget: uvc: Copy color matching descriptor for each frame
>>>>     usb: gadget: uvc: Remove the hardcoded default color matching
>>>>     usb: gadget: uvc: Make color matching attributes read/write
>>>>     usb: gadget: uvc: Allow creating new color matching descriptors
>>>>
>>>>    .../ABI/testing/configfs-usb-gadget-uvc       |  19 +-
>>>>    drivers/usb/gadget/function/f_uvc.c           |   9 -
>>>>    drivers/usb/gadget/function/u_uvc.h           |   1 -
>>>>    drivers/usb/gadget/function/uvc_configfs.c    | 282 ++++++++++++++++--
>>>>    drivers/usb/gadget/function/uvc_configfs.h    |  22 +-
>>>>    include/uapi/linux/usb/video.h                |  30 ++
>>>>    6 files changed, 315 insertions(+), 48 deletions(-)
>>>>
>>>> -- 
>>>> 2.34.1
>>>>
>>> This series does not apply against my tree at all, what was it made
>>> against?
>>
>> I thought I had rebased it against usb-linus, was that the wrong branch to
>> use? If not then I probably messed it up somehow, I can rebase and resend.
> usb-linus is not the right branch for new features, please use usb-next.
> Although for the next 24 hours, you should probably use usb-testing as
> that has your other changes in it already, before I merge it into
> usb-next.


Ack. I'll resend the series shortly.

>
> thanks,
>
> greg k-h