public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [GIT PATCHES FOR 2.6.39] Make the UVC API public (and bug fixes)
@ 2011-02-27 17:36 Laurent Pinchart
  2011-03-21 19:39 ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 4+ messages in thread
From: Laurent Pinchart @ 2011-02-27 17:36 UTC (permalink / raw)
  To: linux-media

Hi Mauro,

These patches move the uvcvideo.h header file from drivers/media/video/uvc
to include/linux, making the UVC API public.

Martin Rubli has committed support for the public API to libwebcam, so
userspace support is up to date.

The following changes since commit 9e650fdb12171a5a5839152863eaab9426984317:

  [media] drivers:media:radio: Update Kconfig and Makefile for wl128x FM driver (2011-02-27 07:50:42 -0300)

are available in the git repository at:
  git://linuxtv.org/pinchartl/uvcvideo.git uvcvideo-next

Laurent Pinchart (6):
      uvcvideo: Deprecate UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET}
      uvcvideo: Rename UVC_CONTROL_* flags to UVC_CTRL_FLAG_*
      uvcvideo: Include linux/types.h in uvcvideo.h
      uvcvideo: Move uvcvideo.h to include/linux
      uvcvideo: Fix descriptor parsing for video output devices
      v4l: videobuf2: Typo fix

Martin Rubli (2):
      uvcvideo: Add UVCIOC_CTRL_QUERY ioctl
      uvcvideo: Add driver documentation

Stephan Lachowsky (1):
      uvcvideo: Fix uvc_fixup_video_ctrl() format search

 Documentation/feature-removal-schedule.txt         |   23 ++
 Documentation/ioctl/ioctl-number.txt               |    2 +-
 Documentation/video4linux/uvcvideo.txt             |  239 ++++++++++++++
 drivers/media/video/uvc/uvc_ctrl.c                 |  334 ++++++++++++--------
 drivers/media/video/uvc/uvc_driver.c               |   11 +-
 drivers/media/video/uvc/uvc_isight.c               |    3 +-
 drivers/media/video/uvc/uvc_queue.c                |    3 +-
 drivers/media/video/uvc/uvc_status.c               |    3 +-
 drivers/media/video/uvc/uvc_v4l2.c                 |   45 +++-
 drivers/media/video/uvc/uvc_video.c                |   17 +-
 include/linux/Kbuild                               |    1 +
 .../media/video/uvc => include/linux}/uvcvideo.h   |   43 ++-
 include/media/videobuf2-core.h                     |    2 +-
 13 files changed, 550 insertions(+), 176 deletions(-)
 create mode 100644 Documentation/video4linux/uvcvideo.txt
 rename {drivers/media/video/uvc => include/linux}/uvcvideo.h (95%)

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PATCHES FOR 2.6.39] Make the UVC API public (and bug fixes)
  2011-02-27 17:36 [GIT PATCHES FOR 2.6.39] Make the UVC API public (and bug fixes) Laurent Pinchart
@ 2011-03-21 19:39 ` Mauro Carvalho Chehab
  2011-03-22  9:17   ` Laurent Pinchart
  0 siblings, 1 reply; 4+ messages in thread
From: Mauro Carvalho Chehab @ 2011-03-21 19:39 UTC (permalink / raw)
  To: Laurent Pinchart; +Cc: linux-media, Martin Rubli

Em 27-02-2011 14:36, Laurent Pinchart escreveu:
> Hi Mauro,
> 
> These patches move the uvcvideo.h header file from drivers/media/video/uvc
> to include/linux, making the UVC API public.
> 
> Martin Rubli has committed support for the public API to libwebcam, so
> userspace support is up to date.
> 
> The following changes since commit 9e650fdb12171a5a5839152863eaab9426984317:
> 
>   [media] drivers:media:radio: Update Kconfig and Makefile for wl128x FM driver (2011-02-27 07:50:42 -0300)
> 
> are available in the git repository at:
>   git://linuxtv.org/pinchartl/uvcvideo.git uvcvideo-next
> 
> Laurent Pinchart (6):
>       uvcvideo: Deprecate UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET}

There are some places there saying that the removal will happen at 2.6.39.

>       uvcvideo: Rename UVC_CONTROL_* flags to UVC_CTRL_FLAG_*
>       uvcvideo: Include linux/types.h in uvcvideo.h
>       uvcvideo: Move uvcvideo.h to include/linux

-'U'    00-0F   drivers/media/video/uvc/uvcvideo.h      conflict!
+'U'    00-0F   linux/uvcvideo.h        conflict!

Please avoid conflicts at userspace API's.

>       uvcvideo: Fix descriptor parsing for video output devices

This one seems independent from API changes. Applying it.

>       v4l: videobuf2: Typo fix
> 
> Martin Rubli (2):
>       uvcvideo: Add UVCIOC_CTRL_QUERY ioctl
>       uvcvideo: Add driver documentation

Please, don't use "enum" at the public API:

+       __u32   id              V4L2 control identifier
+       __u8    name[32]        V4L2 control name
+       __u8    entity[16]      UVC extension unit GUID
+       __u8    selector        UVC control selector
+       __u8    size            V4L2 control size (in bits)
+       __u8    offset          V4L2 control offset (in bits)
+       enum v4l2_ctrl_type
+               v4l2_type       V4L2 control type
+       enum uvc_control_data_type
+               data_type       UVC control data type
+       struct uvc_menu_info
+               *menu_info      Array of menu entries (for menu controls only)
+       __u32   menu_count      Number of menu entries (for menu controls only)
+
+       * struct uvc_menu_info
+
+       __u32   value           Menu entry value used by the device
+       __u8    name[32]        Menu entry name


enum size is not portable. (OK, I know that V4L2 API has some enum's, but let's
not add new stuff using it). Also, please be sure that the new API won't require
any compat32 bits.

> 
> Stephan Lachowsky (1):
>       uvcvideo: Fix uvc_fixup_video_ctrl() format search

This one seems independent from API changes. Applying it.

> 
>  Documentation/feature-removal-schedule.txt         |   23 ++
>  Documentation/ioctl/ioctl-number.txt               |    2 +-
>  Documentation/video4linux/uvcvideo.txt             |  239 ++++++++++++++
>  drivers/media/video/uvc/uvc_ctrl.c                 |  334 ++++++++++++--------
>  drivers/media/video/uvc/uvc_driver.c               |   11 +-
>  drivers/media/video/uvc/uvc_isight.c               |    3 +-
>  drivers/media/video/uvc/uvc_queue.c                |    3 +-
>  drivers/media/video/uvc/uvc_status.c               |    3 +-
>  drivers/media/video/uvc/uvc_v4l2.c                 |   45 +++-
>  drivers/media/video/uvc/uvc_video.c                |   17 +-
>  include/linux/Kbuild                               |    1 +
>  .../media/video/uvc => include/linux}/uvcvideo.h   |   43 ++-
>  include/media/videobuf2-core.h                     |    2 +-
>  13 files changed, 550 insertions(+), 176 deletions(-)
>  create mode 100644 Documentation/video4linux/uvcvideo.txt
>  rename {drivers/media/video/uvc => include/linux}/uvcvideo.h (95%)
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PATCHES FOR 2.6.39] Make the UVC API public (and bug fixes)
  2011-03-21 19:39 ` Mauro Carvalho Chehab
@ 2011-03-22  9:17   ` Laurent Pinchart
  2011-03-22  9:55     ` Mauro Carvalho Chehab
  0 siblings, 1 reply; 4+ messages in thread
From: Laurent Pinchart @ 2011-03-22  9:17 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: linux-media, Martin Rubli

Hi Mauro,

Thanks for the review.

On Monday 21 March 2011 20:39:17 Mauro Carvalho Chehab wrote:
> Em 27-02-2011 14:36, Laurent Pinchart escreveu:
> > Hi Mauro,
> > 
> > These patches move the uvcvideo.h header file from
> > drivers/media/video/uvc to include/linux, making the UVC API public.
> > 
> > Martin Rubli has committed support for the public API to libwebcam, so
> > userspace support is up to date.
> > 
> > The following changes since commit 
9e650fdb12171a5a5839152863eaab9426984317:
> >   [media] drivers:media:radio: Update Kconfig and Makefile for wl128x FM
> >   driver (2011-02-27 07:50:42 -0300)
> > 
> > are available in the git repository at:
> >   git://linuxtv.org/pinchartl/uvcvideo.git uvcvideo-next
> > 
> > Laurent Pinchart (6):
> >       uvcvideo: Deprecate UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET}
> 
> There are some places there saying that the removal will happen at 2.6.39.

I'll fix that.

> >       uvcvideo: Rename UVC_CONTROL_* flags to UVC_CTRL_FLAG_*
> >       uvcvideo: Include linux/types.h in uvcvideo.h
> >       uvcvideo: Move uvcvideo.h to include/linux
> 
> -'U'    00-0F   drivers/media/video/uvc/uvcvideo.h      conflict!
> +'U'    00-0F   linux/uvcvideo.h        conflict!
> 
> Please avoid conflicts at userspace API's.

The uvcvideo driver already uses 'U'. I can change it, but it will break the 
ABI.

> >       uvcvideo: Fix descriptor parsing for video output devices
> 
> This one seems independent from API changes. Applying it.
> 
> >       v4l: videobuf2: Typo fix

What about this one ?

> > Martin Rubli (2):
> >       uvcvideo: Add UVCIOC_CTRL_QUERY ioctl
> >       uvcvideo: Add driver documentation
> 
> Please, don't use "enum" at the public API:
> 
> +       __u32   id              V4L2 control identifier
> +       __u8    name[32]        V4L2 control name
> +       __u8    entity[16]      UVC extension unit GUID
> +       __u8    selector        UVC control selector
> +       __u8    size            V4L2 control size (in bits)
> +       __u8    offset          V4L2 control offset (in bits)
> +       enum v4l2_ctrl_type
> +               v4l2_type       V4L2 control type
> +       enum uvc_control_data_type
> +               data_type       UVC control data type
> +       struct uvc_menu_info
> +               *menu_info      Array of menu entries (for menu controls
> only) +       __u32   menu_count      Number of menu entries (for menu
> controls only) +
> +       * struct uvc_menu_info
> +
> +       __u32   value           Menu entry value used by the device
> +       __u8    name[32]        Menu entry name
> 
> 
> enum size is not portable. (OK, I know that V4L2 API has some enum's, but
> let's not add new stuff using it). Also, please be sure that the new API
> won't require any compat32 bits.

OK I'll fix that.

> > Stephan Lachowsky (1):
> >       uvcvideo: Fix uvc_fixup_video_ctrl() format search
> 
> This one seems independent from API changes. Applying it.

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [GIT PATCHES FOR 2.6.39] Make the UVC API public (and bug fixes)
  2011-03-22  9:17   ` Laurent Pinchart
@ 2011-03-22  9:55     ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 4+ messages in thread
From: Mauro Carvalho Chehab @ 2011-03-22  9:55 UTC (permalink / raw)
  To: Laurent Pinchart; +Cc: linux-media, Martin Rubli

Em 22-03-2011 06:17, Laurent Pinchart escreveu:
> Hi Mauro,
> 
> Thanks for the review.
> 
> On Monday 21 March 2011 20:39:17 Mauro Carvalho Chehab wrote:
>> Em 27-02-2011 14:36, Laurent Pinchart escreveu:
>>> Hi Mauro,
>>>
>>> These patches move the uvcvideo.h header file from
>>> drivers/media/video/uvc to include/linux, making the UVC API public.
>>>
>>> Martin Rubli has committed support for the public API to libwebcam, so
>>> userspace support is up to date.
>>>
>>> The following changes since commit 
> 9e650fdb12171a5a5839152863eaab9426984317:
>>>   [media] drivers:media:radio: Update Kconfig and Makefile for wl128x FM
>>>   driver (2011-02-27 07:50:42 -0300)
>>>
>>> are available in the git repository at:
>>>   git://linuxtv.org/pinchartl/uvcvideo.git uvcvideo-next
>>>
>>> Laurent Pinchart (6):
>>>       uvcvideo: Deprecate UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET}
>>
>> There are some places there saying that the removal will happen at 2.6.39.
> 
> I'll fix that.
> 
>>>       uvcvideo: Rename UVC_CONTROL_* flags to UVC_CTRL_FLAG_*
>>>       uvcvideo: Include linux/types.h in uvcvideo.h
>>>       uvcvideo: Move uvcvideo.h to include/linux
>>
>> -'U'    00-0F   drivers/media/video/uvc/uvcvideo.h      conflict!
>> +'U'    00-0F   linux/uvcvideo.h        conflict!
>>
>> Please avoid conflicts at userspace API's.
> 
> The uvcvideo driver already uses 'U'. I can change it, but it will break the 
> ABI.

Yes, but, as we've discussed on IRC, API will be broken anyway, with the
removal of the 4 old ioctls. This is not so serious here, as the API is defined
on an internal header (drivers/media/video/uvc/uvcvideo.h) that are not exported
via make headers-install. Yet, we'll need to keep the old set of ioctls during
some kernel versions.
> 
>>>       uvcvideo: Fix descriptor parsing for video output devices
>>
>> This one seems independent from API changes. Applying it.
>>
>>>       v4l: videobuf2: Typo fix
> 
> What about this one ?

Were already applied:

commit 4c3e702cf541a6bee8afb345f22300b1e3c2fe08
Author:     Laurent Pinchart <laurent.pinchart@ideasonboard.com>
AuthorDate: Sun Feb 27 14:38:19 2011 -0300
Commit:     Mauro Carvalho Chehab <mchehab@redhat.com>
CommitDate: Wed Mar 2 17:37:16 2011 -0300

> 
>>> Martin Rubli (2):
>>>       uvcvideo: Add UVCIOC_CTRL_QUERY ioctl
>>>       uvcvideo: Add driver documentation
>>
>> Please, don't use "enum" at the public API:
>>
>> +       __u32   id              V4L2 control identifier
>> +       __u8    name[32]        V4L2 control name
>> +       __u8    entity[16]      UVC extension unit GUID
>> +       __u8    selector        UVC control selector
>> +       __u8    size            V4L2 control size (in bits)
>> +       __u8    offset          V4L2 control offset (in bits)
>> +       enum v4l2_ctrl_type
>> +               v4l2_type       V4L2 control type
>> +       enum uvc_control_data_type
>> +               data_type       UVC control data type
>> +       struct uvc_menu_info
>> +               *menu_info      Array of menu entries (for menu controls
>> only) +       __u32   menu_count      Number of menu entries (for menu
>> controls only) +
>> +       * struct uvc_menu_info
>> +
>> +       __u32   value           Menu entry value used by the device
>> +       __u8    name[32]        Menu entry name
>>
>>
>> enum size is not portable. (OK, I know that V4L2 API has some enum's, but
>> let's not add new stuff using it). Also, please be sure that the new API
>> won't require any compat32 bits.
> 
> OK I'll fix that.
> 
>>> Stephan Lachowsky (1):
>>>       uvcvideo: Fix uvc_fixup_video_ctrl() format search
>>
>> This one seems independent from API changes. Applying it.
> 

Mauro.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-03-22  9:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-27 17:36 [GIT PATCHES FOR 2.6.39] Make the UVC API public (and bug fixes) Laurent Pinchart
2011-03-21 19:39 ` Mauro Carvalho Chehab
2011-03-22  9:17   ` Laurent Pinchart
2011-03-22  9:55     ` Mauro Carvalho Chehab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox