Re: [PULL] soc-camera and mediabus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Guennadi Liakhovetski wrote:
> On Mon, 14 Dec 2009, Mauro Carvalho Chehab wrote:
> 
>> Guennadi Liakhovetski wrote:
>>> Hi Mauro,
>>>
>>> At last soc-camera and mediabus lot for 2.6.33. Note, that one of this 
>>> patches adds new fourcc codes. A patch for their documentation will be 
>>> submitted immediately.
>>>
>>> Please pull from http://linuxtv.org/hg/~gliakhovetski/v4l-dvb
>>>
>>> for the following 30 changesets:
>>>
>>> 01/30: tw9910: The driver can also handle revision 1 of the chip
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=f1e67c4ca734
>>>
>>> 02/30: soc-camera: remove no longer needed struct members
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=ac42a43c9d3c
>>>
>>> 03/30: v4l: add new v4l2-subdev sensor operations, use g_skip_top_lines in soc-camera
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=f3ce29815a19
>>>
>>> 04/30: soc-camera: fix multi-line comment coding style
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=e893641bb109
>>>
>>> 05/30: sh_mobile_ceu_camera: do not mark host occupied, when adding a client fails
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=9505453960fb
>>>
>>> 06/30: v4l: Add a 10-bit monochrome and missing 8- and 10-bit Bayer fourcc codes
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=fc70aabadc59
>>>
>>> 07/30: soc-camera: add a private field to struct soc_camera_link
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=8144ecd97132
>>>
>>> 08/30: Subject: kernel-sync for arch/sh/boards/mach-ap325rxa/setup.c
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=ea27f790755c
>>>
>>> 09/30: soc-camera: switch drivers and platforms to use .priv in struct soc_camera_link
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=54707961f633
>>>
>>> 10/30: sh_mobile_ceu_camera: document the scaling and cropping algorithm
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=f490679b43c3
>>>
>>> 11/30: tw9910: Add revision control
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=4d27f0bec0f3
>>>
>>> 12/30: tw9910: simplify chip ID calculation
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=b919641bdf84
>>>
>>> 13/30: tw9910: Tri-state pins when idle
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=bb97c53db3c0
>>>
>>> 14/30: tw9910: Add power control
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=2d8774ea617f
>>>
>>> 15/30: tw9910: tw9910_set_hsync clean up
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=669d0a9ca121
>>>
>>> 16/30: tw9910: Add revision control to tw9910_set_hsync
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=d3619f5f5679
>>>
>>> 17/30: v4l: add a media-bus API for configuring v4l2 subdev pixel and frame formats
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=2c60bd900a7a
>>>
>>> 18/30: soc-camera: convert to the new mediabus API
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=2a8289e3de7b
>>>
>>> 19/30: Subject: kernel-sync for arch/sh/boards/mach-kfr2r09/setup.c
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=4e1dcff622e0
>>>
>>> 20/30: rj54n1cb0c: Add cropping, auto white balance, restrict sizes, add platform data
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=c2ede215a03c
>>>
>>> 21/30: mt9t031: make the use of the soc-camera client API optional
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=be8b7a9252d8
>>>
>>> 22/30: sh_mobile_ceu: Add V4L2_FIELD_INTERLACED_BT/TB support
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=1a36ae75bdb1
>>>
>>> 23/30: tw9910: use V4L2_FIELD_INTERLACED_BT
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=be43ab8c8490
>>>
>>> 24/30: sh_mobile_ceu_camera: Add support for sync polarity selection
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=596e9b685f9b
>>>
>>> 25/30: tw9910: modify V/H outpit pin setting to use VALID
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=8e7ca505b942
>>>
>>> 26/30: tw9910: modify output format
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=a42544f649b1
>>>
>>> 27/30: tw9910: remove cropping
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=c141cc75045a
>>>
>>> 28/30: tw9910: Add sync polarity support
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=750376b279e0
>>>
>>> 29/30: soc-camera: Add mt9t112 camera driver
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=37cdd4e97937
>>>
>>> 30/30: sh_mobile_ceu_camera: Remove frame size page alignment
>>> http://linuxtv.org/hg/~gliakhovetski/v4l-dvb?cmd=changeset;node=8da6f7deee9f
>>>
>>>
>>>  a/linux/arch/sh/boards/board-ap325rxa.c                    |  606 ------
>>>  b/linux/Documentation/video4linux/sh_mobile_ceu_camera.txt |  157 +
>>>  b/linux/arch/sh/boards/mach-ap325rxa/setup.c               |  657 +++++++
>>>  b/linux/arch/sh/boards/mach-kfr2r09/setup.c                |  622 ++++++
>>>  b/linux/drivers/media/video/mt9t112.c                      | 1177 +++++++++++++
>>>  b/linux/drivers/media/video/soc_mediabus.c                 |  157 +
>>>  b/linux/include/media/mt9t112.h                            |   30 
>>>  b/linux/include/media/rj54n1cb0c.h                         |   19 
>>>  b/linux/include/media/soc_mediabus.h                       |   65 
>>>  b/linux/include/media/v4l2-mediabus.h                      |   61 
>>>  linux/arch/sh/boards/mach-ap325rxa/setup.c                 |   41 
>>>  linux/arch/sh/boards/mach-kfr2r09/setup.c                  |   13 
>>>  linux/arch/sh/boards/mach-migor/setup.c                    |   32 
>>>  linux/drivers/media/video/Kconfig                          |    6 
>>>  linux/drivers/media/video/Makefile                         |    3 
>>>  linux/drivers/media/video/mt9m001.c                        |  207 +-
>>>  linux/drivers/media/video/mt9m111.c                        |  213 +-
>>>  linux/drivers/media/video/mt9t031.c                        |  281 +--
>>>  linux/drivers/media/video/mt9v022.c                        |  230 +-
>>>  linux/drivers/media/video/mx1_camera.c                     |  126 +
>>>  linux/drivers/media/video/mx3_camera.c                     |  298 +--
>>>  linux/drivers/media/video/ov772x.c                         |  233 +-
>>>  linux/drivers/media/video/ov9640.c                         |  107 -
>>>  linux/drivers/media/video/pxa_camera.c                     |  337 ++-
>>>  linux/drivers/media/video/rj54n1cb0c.c                     |  476 ++++-
>>>  linux/drivers/media/video/sh_mobile_ceu_camera.c           |  524 +++--
>>>  linux/drivers/media/video/soc_camera.c                     |  102 -
>>>  linux/drivers/media/video/soc_camera_platform.c            |   46 
>>>  linux/drivers/media/video/tw9910.c                         |  385 ++--
>>>  linux/include/linux/videodev2.h                            |    7 
>>>  linux/include/media/ov772x.h                               |    4 
>>>  linux/include/media/sh_mobile_ceu.h                        |    2 
>>>  linux/include/media/soc_camera.h                           |   30 
>>>  linux/include/media/soc_camera_platform.h                  |    3 
>>>  linux/include/media/tw9910.h                               |    1 
>>>  linux/include/media/v4l2-chip-ident.h                      |    2 
>>>  linux/include/media/v4l2-subdev.h                          |   40 
>>>  37 files changed, 5233 insertions(+), 2067 deletions(-)
>>>
>> Applied, thanks.
> 
> Thanks!
> 
>> Some comments:
>>
>> 1) Please fix the style as agreed on #irc and send the doc patches also;
> 
> So, is the doc patch, that I've sent to the list ok? Ok, the hunk for the 
> automatically (in hg) generated file will get dropped, and otherwise does 
> it look correct?

It looks correctly on my eyes. The only thing I noticed is that you've added
emacs headers at the end of the new patches:

+
+  <!--
+Local Variables:
+mode: sgml
+sgml-parent-document: "pixfmt.sgml"
+indent-tabs-mode: nil
+End:
+  -->

Please remove those tags when submitting the final version.

> 
>> 2) The better is to add a documentation for the mediabus at V4L2 spec.
>>    currently, the chapter for driver internals is missing there, but feel
>>    free to add one (well the chapter is there, but everything inside is
>>    commented);
> 
> I'll have a look... Maybe will have some help locating exact places where 
> to add stuff.

There's a chapter for it. It is on driver.xml. Currently, everything there is
commented, but feel free to add a section there for mediabus. We can later add
the missing bits.

> 
>> 3) it would be interesting to patch the other sensor drivers to be compatible
>>    with soc_camera (mt9v011/ov7670);
> 
> Well, this could be done, yes, but does it make sense to do this blindly 
> without any hardware to test? I would rather add such conversions on a 
> one-by-one basis as need arises.

I remember someone asking for ov7670 driver to be used on some arch-specific driver.
Not sure if it were for soc_camera or omap.

In the case of mt9v011, I can test if the patches don't screw the driver, but
the only sensors I have are connected to em28xx webcams. However, having all drivers
on the same shape helps to use the other sensors on other drivers. For example, 
some em28xx webcams use mt9m111 driver, so we need to make the driver to work
through mediabus bits, if we want to use the mt9m111 driver, instead of the ugly
hack currently there.

By having one non-soc-camera driver ported, it will also help to give the directions
on how to port other drivers (/me is putting his eyes on gspca) to properly use the
existing sensors drivers, instead of ugly repeating what some other driver's doing.

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

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux