From: Michael Jones <michael.jones@matrix-vision.de>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Alex Gershgorin <alexg@meprolight.com>,
"'linux-media@vger.kernel.org'" <linux-media@vger.kernel.org>,
"'sakari.ailus@iki.fi'" <sakari.ailus@iki.fi>,
"'agersh@rambler.ru'" <agersh@rambler.ru>
Subject: Re: FW: OMAP 3 ISP
Date: Thu, 19 May 2011 16:24:29 +0200 [thread overview]
Message-ID: <4DD5281D.40103@matrix-vision.de> (raw)
In-Reply-To: <201105191556.07323.laurent.pinchart@ideasonboard.com>
On 05/19/2011 03:56 PM, Laurent Pinchart wrote:
> Hi Michael,
>
> On Thursday 19 May 2011 15:44:18 Michael Jones wrote:
>> On 05/19/2011 03:02 PM, Laurent Pinchart wrote:
>>> On Thursday 19 May 2011 14:51:16 Alex Gershgorin wrote:
>>>> Thanks Laurent,
>>>>
>>>> My video source is not the video camera and performs many other
>>>> functions. For this purpose I have RS232 port.
>>>> As for the video, it runs continuously and is not subject to control
>>>> except for the power supply.
>>>
>>> As a quick hack, you can create an I2C driver for your video source that
>>> doesn't access the device and just returns fixed format and frame size.
>>>
>>> The correct fix is to implement support for platform subdevs in the V4L2
>>> core.
>>
>> I recently implemented support for platform V4L2 subdevs. Now that it
>> sounds like others would be interested in this, I will try to polish it
>> up and submit the patch for review in the next week or so.
>
> Great. This has been discussed during the V4L meeting in Warsaw, here are a
> couple of pointers, to make sure we're going in the same direction.
>
> Bridge drivers should not care whether the subdev sits on an I2C, SPI,
> platform or other bus. To achieve that, an abstraction layer must be provided
> by the V4L2 core. Here's what I got in one of my trees:
>
> /* V4L2 core */
>
> struct v4l2_subdev_i2c_board_info {
> struct i2c_board_info *board_info;
> int i2c_adapter_id;
> };
>
> enum v4l2_subdev_bus_type {
> V4L2_SUBDEV_BUS_TYPE_NONE,
> V4L2_SUBDEV_BUS_TYPE_I2C,
> V4L2_SUBDEV_BUS_TYPE_SPI,
> };
>
> struct v4l2_subdev_board_info {
> enum v4l2_subdev_bus_type type;
> union {
> struct v4l2_subdev_i2c_board_info i2c;
> struct spi_board_info *spi;
> } info;
> };
>
> /* OMAP3 ISP */
>
> struct isp_v4l2_subdevs_group {
> struct v4l2_subdev_board_info *subdevs;
> enum isp_interface_type interface;
> union {
> struct isp_parallel_platform_data parallel;
> struct isp_ccp2_platform_data ccp2;
> struct isp_csi2_platform_data csi2;
> } bus; /* gcc < 4.6.0 chokes on anonymous union initializers */
> };
>
> struct isp_platform_data {
> struct isp_v4l2_subdevs_group *subdevs;
> };
>
> The V4L2 core would need to provide a function to register a subdev based on a
> v4l2_subdev_board_info structure.
>
> Is that in line with what you've done ? I can provide a patch that implements
> this for I2C and SPI, and let you add platform subdevs if that can help you.
>
Hi Laurent,
Yes, that looks very similar to what I've done. I was going to submit
SPI support, too, which I also have, but it sounds like you've already
done that? I'm currently still using a 2.6.38 tree based on an older
media branch of yours, so I'm not familiar with any new changes there yet.
I just need to know what I should use as my baseline. I don't need to
step on toes and submit something you've already done, so maybe you want
to point me to a branch with the SPI stuff, and I'll just put the
platform stuff on top of it?
-Michael
MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
next prev parent reply other threads:[~2011-05-19 14:24 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-19 11:36 FW: FW: OMAP 3 ISP Alex Gershgorin
2011-05-19 12:51 ` Alex Gershgorin
2011-05-19 13:02 ` Laurent Pinchart
2011-05-19 13:44 ` Michael Jones
2011-05-19 13:56 ` Laurent Pinchart
2011-05-19 14:24 ` Michael Jones [this message]
2011-05-19 14:27 ` Laurent Pinchart
2011-05-19 15:13 ` Alex Gershgorin
2011-05-19 15:32 ` Sakari Ailus
2011-05-24 14:11 ` Alex Gershgorin
2011-05-25 7:22 ` Laurent Pinchart
2011-05-25 9:58 ` Alex Gershgorin
2011-05-25 10:01 ` Laurent Pinchart
2011-05-25 10:54 ` Alex Gershgorin
2011-06-28 7:47 ` Alex Gershgorin
2011-06-28 22:35 ` Laurent Pinchart
[not found] <4875438356E7CA4A8F2145FCD3E61C0B2A5D211E42@MEP-EXCH.meprolight.com>
2011-06-29 11:32 ` Laurent Pinchart
[not found] <4875438356E7CA4A8F2145FCD3E61C0B2A5D211E43@MEP-EXCH.meprolight.com>
2011-06-29 15:55 ` Laurent Pinchart
2011-06-29 16:16 ` Alex Gershgorin
2011-06-29 16:34 ` Alex Gershgorin
[not found] <B9D34818-CE30-4125-997B-71C50CFC4F0D@yahoo.com>
2012-05-29 7:08 ` Alex Gershgorin
2012-05-29 8:15 ` jean-philippe francois
[not found] ` <CA+2YH7s9F+4WQuQ9zioCetpJ5f8_3pihf5wcNVp5SjLuiq3k3g@mail.gmail.com>
2012-05-29 10:22 ` Laurent Pinchart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DD5281D.40103@matrix-vision.de \
--to=michael.jones@matrix-vision.de \
--cc=agersh@rambler.ru \
--cc=alexg@meprolight.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=sakari.ailus@iki.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox