Re: [GIT PATCHES FOR 2.6.39] Make the UVC API public (and bug fixes)
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)
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)
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