All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.