* [GIT PATCHES FOR 2.6.40] Make the UVC API public (and minor enhancements)
@ 2011-04-27 10:38 Laurent Pinchart
2011-05-05 11:33 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 5+ messages in thread
From: Laurent Pinchart @ 2011-04-27 10:38 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. Support for the old API is kept
and will be removed in 2.6.42.
The following changes since commit a4761a092fd3b6bf8b5f9cfe361670c86cdcc8ca:
[media] tm6000: fix vbuf may be used uninitialized (2011-04-19 21:13:59 -0300)
are available in the git repository at:
git://linuxtv.org/pinchartl/uvcvideo.git uvcvideo-next
Laurent Pinchart (5):
uvcvideo: Deprecate UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET}
uvcvideo: Rename UVC_CONTROL_* flags to UVC_CTRL_FLAG_*
uvcvideo: Make the API public
uvcvideo: Add support for V4L2_PIX_FMT_RGB565
uvcvideo: Add support for JMicron USB2.0 XGA WebCam
Martin Rubli (2):
uvcvideo: Add UVCIOC_CTRL_QUERY ioctl
uvcvideo: Add driver documentation
Documentation/feature-removal-schedule.txt | 23 ++
Documentation/ioctl/ioctl-number.txt | 2 +-
Documentation/video4linux/uvcvideo.txt | 239 ++++++++++++++++++++
drivers/media/video/uvc/uvc_ctrl.c | 332 +++++++++++++++++-----------
drivers/media/video/uvc/uvc_driver.c | 14 ++
drivers/media/video/uvc/uvc_v4l2.c | 51 ++++-
drivers/media/video/uvc/uvcvideo.h | 57 ++++--
include/linux/Kbuild | 1 +
include/linux/uvcvideo.h | 69 ++++++
9 files changed, 625 insertions(+), 163 deletions(-)
create mode 100644 Documentation/video4linux/uvcvideo.txt
create mode 100644 include/linux/uvcvideo.h
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [GIT PATCHES FOR 2.6.40] Make the UVC API public (and minor enhancements)
2011-04-27 10:38 [GIT PATCHES FOR 2.6.40] Make the UVC API public (and minor enhancements) Laurent Pinchart
@ 2011-05-05 11:33 ` Mauro Carvalho Chehab
2011-05-05 11:40 ` Laurent Pinchart
0 siblings, 1 reply; 5+ messages in thread
From: Mauro Carvalho Chehab @ 2011-05-05 11:33 UTC (permalink / raw)
To: Laurent Pinchart; +Cc: linux-media
Em 27-04-2011 07:38, 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. Support for the old API is kept
> and will be removed in 2.6.42.
>
> The following changes since commit a4761a092fd3b6bf8b5f9cfe361670c86cdcc8ca:
>
> [media] tm6000: fix vbuf may be used uninitialized (2011-04-19 21:13:59 -0300)
>
> are available in the git repository at:
> git://linuxtv.org/pinchartl/uvcvideo.git uvcvideo-next
>
> Laurent Pinchart (5):
> uvcvideo: Deprecate UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET}
> uvcvideo: Rename UVC_CONTROL_* flags to UVC_CTRL_FLAG_*
> uvcvideo: Make the API public
Why are you declaring this twice:
Index: patchwork/drivers/media/video/uvc/uvcvideo.h
...
+#ifndef __KERNEL__
#define UVCIOC_CTRL_ADD _IOW('U', 1, struct uvc_xu_control_info)
#define UVCIOC_CTRL_MAP_OLD _IOWR('U', 2, struct uvc_xu_control_mapping_old)
#define UVCIOC_CTRL_MAP _IOWR('U', 2, struct uvc_xu_control_mapping)
#define UVCIOC_CTRL_GET _IOWR('U', 3, struct uvc_xu_control)
#define UVCIOC_CTRL_SET _IOW('U', 4, struct uvc_xu_control)
-#define UVCIOC_CTRL_QUERY _IOWR('U', 5, struct uvc_xu_control_query)
+#else
+#define __UVCIOC_CTRL_ADD _IOW('U', 1, struct uvc_xu_control_info)
+#define __UVCIOC_CTRL_MAP_OLD _IOWR('U', 2, struct uvc_xu_control_mapping_old)
+#define __UVCIOC_CTRL_MAP _IOWR('U', 2, struct uvc_xu_control_mapping)
+#define __UVCIOC_CTRL_GET _IOWR('U', 3, struct uvc_xu_control)
+#define __UVCIOC_CTRL_SET _IOW('U', 4, struct uvc_xu_control)
+#endif
You shouldn't need to do that. In fact, the better would be to have two separate
headers: one with just the public API under include/linux, and another with the
extra uvc-internal bits, as we did in the past with videobuf2.h.
As the other patches don't depend on this one, I'm applying the remaining patches,
in order to save me the time of review the entire series again.
> uvcvideo: Add support for V4L2_PIX_FMT_RGB565
> uvcvideo: Add support for JMicron USB2.0 XGA WebCam
>
> Martin Rubli (2):
> uvcvideo: Add UVCIOC_CTRL_QUERY ioctl
> uvcvideo: Add driver documentation
>
> Documentation/feature-removal-schedule.txt | 23 ++
> Documentation/ioctl/ioctl-number.txt | 2 +-
> Documentation/video4linux/uvcvideo.txt | 239 ++++++++++++++++++++
> drivers/media/video/uvc/uvc_ctrl.c | 332 +++++++++++++++++-----------
> drivers/media/video/uvc/uvc_driver.c | 14 ++
> drivers/media/video/uvc/uvc_v4l2.c | 51 ++++-
> drivers/media/video/uvc/uvcvideo.h | 57 ++++--
> include/linux/Kbuild | 1 +
> include/linux/uvcvideo.h | 69 ++++++
> 9 files changed, 625 insertions(+), 163 deletions(-)
> create mode 100644 Documentation/video4linux/uvcvideo.txt
> create mode 100644 include/linux/uvcvideo.h
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [GIT PATCHES FOR 2.6.40] Make the UVC API public (and minor enhancements)
2011-05-05 11:33 ` Mauro Carvalho Chehab
@ 2011-05-05 11:40 ` Laurent Pinchart
2011-05-05 12:17 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 5+ messages in thread
From: Laurent Pinchart @ 2011-05-05 11:40 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: linux-media
Hi Mauro,
On Thursday 05 May 2011 13:33:20 Mauro Carvalho Chehab wrote:
> Em 27-04-2011 07:38, 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.
> > Support for the old API is kept and will be removed in 2.6.42.
> >
> > The following changes since commit
a4761a092fd3b6bf8b5f9cfe361670c86cdcc8ca:
> > [media] tm6000: fix vbuf may be used uninitialized (2011-04-19 21:13:59
> > -0300)
> >
> > are available in the git repository at:
> > git://linuxtv.org/pinchartl/uvcvideo.git uvcvideo-next
> >
> > Laurent Pinchart (5):
> > uvcvideo: Deprecate UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET}
> > uvcvideo: Rename UVC_CONTROL_* flags to UVC_CTRL_FLAG_*
> > uvcvideo: Make the API public
>
> Why are you declaring this twice:
>
> Index: patchwork/drivers/media/video/uvc/uvcvideo.h
>
> ...
>
>+#ifndef __KERNEL__
> #define UVCIOC_CTRL_ADD _IOW('U', 1, struct uvc_xu_control_info)
> #define UVCIOC_CTRL_MAP_OLD _IOWR('U', 2, struct uvc_xu_control_mapping_old)
> #define UVCIOC_CTRL_MAP _IOWR('U', 2, struct uvc_xu_control_mapping)
> #define UVCIOC_CTRL_GET _IOWR('U', 3, struct uvc_xu_control)
> #define UVCIOC_CTRL_SET _IOW('U', 4, struct uvc_xu_control)
>-#define UVCIOC_CTRL_QUERY _IOWR('U', 5, struct uvc_xu_control_query)
>+#else
>+#define __UVCIOC_CTRL_ADD _IOW('U', 1, struct uvc_xu_control_info)
>+#define __UVCIOC_CTRL_MAP_OLD _IOWR('U', 2, struct
uvc_xu_control_mapping_old)
>+#define __UVCIOC_CTRL_MAP _IOWR('U', 2, struct uvc_xu_control_mapping)
>+#define __UVCIOC_CTRL_GET _IOWR('U', 3, struct uvc_xu_control)
>+#define __UVCIOC_CTRL_SET _IOW('U', 4, struct uvc_xu_control)
>+#endif
For compatibility with existing applications. Applications should now include
linux/uvcvideo.h instead of drivers/media/video/uvc/uvcvideo.h, but existing
applications include the later. I want to make sure they will still compile. A
warning will be printed, and this will be removed in 2.6.42.
> You shouldn't need to do that. In fact, the better would be to have two
> separate headers: one with just the public API under include/linux, and
> another with the extra uvc-internal bits, as we did in the past with
> videobuf2.h.
That's how linux/uvcvideo.h and drivers/media/video/uvc/uvcvideo.h are
partitioned by this patch set, except that the private header still contains
userspace API to avoid breaking applications during the transition period.
> As the other patches don't depend on this one, I'm applying the remaining
> patches, in order to save me the time of review the entire series again.
>
> > uvcvideo: Add support for V4L2_PIX_FMT_RGB565
> > uvcvideo: Add support for JMicron USB2.0 XGA WebCam
> >
> > Martin Rubli (2):
> > uvcvideo: Add UVCIOC_CTRL_QUERY ioctl
> > uvcvideo: Add driver documentation
> >
> > Documentation/feature-removal-schedule.txt | 23 ++
> > Documentation/ioctl/ioctl-number.txt | 2 +-
> > Documentation/video4linux/uvcvideo.txt | 239 ++++++++++++++++++++
> > drivers/media/video/uvc/uvc_ctrl.c | 332
> > +++++++++++++++++----------- drivers/media/video/uvc/uvc_driver.c
> > | 14 ++
> > drivers/media/video/uvc/uvc_v4l2.c | 51 ++++-
> > drivers/media/video/uvc/uvcvideo.h | 57 ++++--
> > include/linux/Kbuild | 1 +
> > include/linux/uvcvideo.h | 69 ++++++
> > 9 files changed, 625 insertions(+), 163 deletions(-)
> > create mode 100644 Documentation/video4linux/uvcvideo.txt
> > create mode 100644 include/linux/uvcvideo.h
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [GIT PATCHES FOR 2.6.40] Make the UVC API public (and minor enhancements)
2011-05-05 11:40 ` Laurent Pinchart
@ 2011-05-05 12:17 ` Mauro Carvalho Chehab
2011-05-05 12:27 ` Laurent Pinchart
0 siblings, 1 reply; 5+ messages in thread
From: Mauro Carvalho Chehab @ 2011-05-05 12:17 UTC (permalink / raw)
To: Laurent Pinchart; +Cc: linux-media
Em 05-05-2011 08:40, Laurent Pinchart escreveu:
> Hi Mauro,
>
> On Thursday 05 May 2011 13:33:20 Mauro Carvalho Chehab wrote:
>> Em 27-04-2011 07:38, 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.
>>> Support for the old API is kept and will be removed in 2.6.42.
>>>
>>> The following changes since commit
> a4761a092fd3b6bf8b5f9cfe361670c86cdcc8ca:
>>> [media] tm6000: fix vbuf may be used uninitialized (2011-04-19 21:13:59
>>> -0300)
>>>
>>> are available in the git repository at:
>>> git://linuxtv.org/pinchartl/uvcvideo.git uvcvideo-next
>>>
>>> Laurent Pinchart (5):
>>> uvcvideo: Deprecate UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET}
>>> uvcvideo: Rename UVC_CONTROL_* flags to UVC_CTRL_FLAG_*
>>> uvcvideo: Make the API public
>>
>> Why are you declaring this twice:
>>
>> Index: patchwork/drivers/media/video/uvc/uvcvideo.h
>>
>> ...
>>
>> +#ifndef __KERNEL__
>> #define UVCIOC_CTRL_ADD _IOW('U', 1, struct uvc_xu_control_info)
>> #define UVCIOC_CTRL_MAP_OLD _IOWR('U', 2, struct uvc_xu_control_mapping_old)
>> #define UVCIOC_CTRL_MAP _IOWR('U', 2, struct uvc_xu_control_mapping)
>> #define UVCIOC_CTRL_GET _IOWR('U', 3, struct uvc_xu_control)
>> #define UVCIOC_CTRL_SET _IOW('U', 4, struct uvc_xu_control)
>> -#define UVCIOC_CTRL_QUERY _IOWR('U', 5, struct uvc_xu_control_query)
>> +#else
>> +#define __UVCIOC_CTRL_ADD _IOW('U', 1, struct uvc_xu_control_info)
>> +#define __UVCIOC_CTRL_MAP_OLD _IOWR('U', 2, struct
> uvc_xu_control_mapping_old)
>> +#define __UVCIOC_CTRL_MAP _IOWR('U', 2, struct uvc_xu_control_mapping)
>> +#define __UVCIOC_CTRL_GET _IOWR('U', 3, struct uvc_xu_control)
>> +#define __UVCIOC_CTRL_SET _IOW('U', 4, struct uvc_xu_control)
>> +#endif
>
> For compatibility with existing applications. Applications should now include
> linux/uvcvideo.h instead of drivers/media/video/uvc/uvcvideo.h, but existing
> applications include the later. I want to make sure they will still compile. A
> warning will be printed, and this will be removed in 2.6.42.
>> You shouldn't need to do that. In fact, the better would be to have two
>> separate headers: one with just the public API under include/linux, and
>> another with the extra uvc-internal bits, as we did in the past with
>> videobuf2.h.
>
> That's how linux/uvcvideo.h and drivers/media/video/uvc/uvcvideo.h are
> partitioned by this patch set, except that the private header still contains
> userspace API to avoid breaking applications during the transition period.
Ok, so I'm understanding that, on 2.6.42, you'll be removing the checks for
__KERNEL__ from uvcvideo.h, right?
Mauro.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [GIT PATCHES FOR 2.6.40] Make the UVC API public (and minor enhancements)
2011-05-05 12:17 ` Mauro Carvalho Chehab
@ 2011-05-05 12:27 ` Laurent Pinchart
0 siblings, 0 replies; 5+ messages in thread
From: Laurent Pinchart @ 2011-05-05 12:27 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: linux-media
Hi Mauro,
On Thursday 05 May 2011 14:17:39 Mauro Carvalho Chehab wrote:
> Em 05-05-2011 08:40, Laurent Pinchart escreveu:
> > On Thursday 05 May 2011 13:33:20 Mauro Carvalho Chehab wrote:
> >> Em 27-04-2011 07:38, Laurent Pinchart escreveu:
> >>> These patches move the uvcvideo.h header file from
> >>> drivers/media/video/uvc to include/linux, making the UVC API public.
> >>> Support for the old API is kept and will be removed in 2.6.42.
> >>>
> >>> The following changes since commit
> >
> > a4761a092fd3b6bf8b5f9cfe361670c86cdcc8ca:
> >>> [media] tm6000: fix vbuf may be used uninitialized (2011-04-19
> >>> 21:13:59 -0300)
> >>>
> >>> are available in the git repository at:
> >>> git://linuxtv.org/pinchartl/uvcvideo.git uvcvideo-next
> >>>
> >>> Laurent Pinchart (5):
> >>> uvcvideo: Deprecate UVCIOC_CTRL_{ADD,MAP_OLD,GET,SET}
> >>> uvcvideo: Rename UVC_CONTROL_* flags to UVC_CTRL_FLAG_*
> >>> uvcvideo: Make the API public
> >>
> >> Why are you declaring this twice:
> >>
> >> Index: patchwork/drivers/media/video/uvc/uvcvideo.h
> >>
> >> ...
> >>
> >> +#ifndef __KERNEL__
> >> #define UVCIOC_CTRL_ADD _IOW('U', 1, struct uvc_xu_control_info)
> >> #define UVCIOC_CTRL_MAP_OLD _IOWR('U', 2, struct
> >> uvc_xu_control_mapping_old) #define UVCIOC_CTRL_MAP _IOWR('U', 2,
> >> struct uvc_xu_control_mapping) #define UVCIOC_CTRL_GET _IOWR('U',
> >> 3, struct uvc_xu_control) #define UVCIOC_CTRL_SET _IOW('U', 4,
> >> struct uvc_xu_control) -#define UVCIOC_CTRL_QUERY _IOWR('U', 5,
> >> struct uvc_xu_control_query) +#else
> >> +#define __UVCIOC_CTRL_ADD _IOW('U', 1, struct uvc_xu_control_info)
> >> +#define __UVCIOC_CTRL_MAP_OLD _IOWR('U', 2, struct
> >
> > uvc_xu_control_mapping_old)
> >
> >> +#define __UVCIOC_CTRL_MAP _IOWR('U', 2, struct
> >> uvc_xu_control_mapping) +#define __UVCIOC_CTRL_GET _IOWR('U', 3,
> >> struct uvc_xu_control) +#define __UVCIOC_CTRL_SET _IOW('U', 4, struct
> >> uvc_xu_control) +#endif
> >
> > For compatibility with existing applications. Applications should now
> > include linux/uvcvideo.h instead of drivers/media/video/uvc/uvcvideo.h,
> > but existing applications include the later. I want to make sure they
> > will still compile. A warning will be printed, and this will be removed
> > in 2.6.42.
> >
> >> You shouldn't need to do that. In fact, the better would be to have two
> >> separate headers: one with just the public API under include/linux, and
> >> another with the extra uvc-internal bits, as we did in the past with
> >> videobuf2.h.
> >
> > That's how linux/uvcvideo.h and drivers/media/video/uvc/uvcvideo.h are
> > partitioned by this patch set, except that the private header still
> > contains userspace API to avoid breaking applications during the
> > transition period.
>
> Ok, so I'm understanding that, on 2.6.42, you'll be removing the checks for
> __KERNEL__ from uvcvideo.h, right?
Yes, and I will remove all ioctl definitions from the private header.
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-05-05 12:26 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-27 10:38 [GIT PATCHES FOR 2.6.40] Make the UVC API public (and minor enhancements) Laurent Pinchart
2011-05-05 11:33 ` Mauro Carvalho Chehab
2011-05-05 11:40 ` Laurent Pinchart
2011-05-05 12:17 ` Mauro Carvalho Chehab
2011-05-05 12:27 ` Laurent Pinchart
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.