Re: [GIT PATCHES FOR 2.6.39] Make the UVC API public (and bug fixes)

2011-03-21 Thread Mauro Carvalho Chehab
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.hconflict!

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
+   __u8name[32]V4L2 control name
+   __u8entity[16]  UVC extension unit GUID
+   __u8selectorUVC control selector
+   __u8sizeV4L2 control size (in bits)
+   __u8offset  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
+   __u8name[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%)
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PATCHES FOR 2.6.39] Make the UVC API public (and bug fixes)

2011-03-22 Thread Laurent Pinchart
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.hconflict!
> 
> 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
> +   __u8name[32]V4L2 control name
> +   __u8entity[16]  UVC extension unit GUID
> +   __u8selectorUVC control selector
> +   __u8sizeV4L2 control size (in bits)
> +   __u8offset  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
> +   __u8name[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
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [GIT PATCHES FOR 2.6.39] Make the UVC API public (and bug fixes)

2011-03-22 Thread Mauro Carvalho Chehab
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.hconflict!
>>
>> 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 
AuthorDate: Sun Feb 27 14:38:19 2011 -0300
Commit: Mauro Carvalho Chehab 
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
>> +   __u8name[32]V4L2 control name
>> +   __u8entity[16]  UVC extension unit GUID
>> +   __u8selectorUVC control selector
>> +   __u8sizeV4L2 control size (in bits)
>> +   __u8offset  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
>> +   __u8name[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.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html