soc-camera: status, roadmap

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

 



Hi all

for those interested here's a (not so) short status report and a proposed 
roadmap for general soc-camera development, and, of course, its ongoing 
conversion to v4l2-subdev API.

1. v4l2-subdev conversion. I have posted several versions of the 
conversion patch series to the list, of which the last takes an IMHO 
correct approach of a graduate conversion, avoiding mega-patches, 
modifying multiple platforms and drivers at once. With this approach the 
roadmap consists of the following steps:

1.1. preparatory patch to soc-camera core, allowing parallel existence of 
"legacy" (all in the mainline) platforms and converted platforms (pcm037 
i.MX31 platform so far) by introducing some backwards compatibility code. 
This patch is currently in v4l next and in linux-next, i.e., it is going 
in with 2.6.31.

1.2. convert all (around 7) mainline platforms to the new layout. This 
step is necessary for further conversions, but it depends on 1.1. 
Therefore this can only be done later in 2.6.31 merge window, when 1.1. is 
in the mainline.

1.3. convert soc-camera core and drivers to an intermediate state, with 
which all cameras are registered by platforms as platform devices, later 
soc-camera core probes them and dynamically registers respective i2c (or 
other, as in soc_camera_platform.c case) devices. This patch depends on 
1.2., and it is hard to expect to be able to push these three steps within 
the 2.6.31 merge window. It could be possible, we could request to accept 
this patch after -rc1, maybe we would be allowed to do this, but

1.4. this is the actual conversion to v4l2-subdev. It depends on some bits 
and pieces in the v4l2-subdev framework, which are still in progress 
(e.g. v4l2_i2c_new_subdev_board), I believe (Hans, am I right? or what's 
the outcome of Mauro's last reply to you in the "[PULL] 
http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-subdev"; thread?), so, it 
becomes practically impossible to also pull it for 2.6.31.

Now, I do not want to have soc-camera in the intermediate 1.3. state for a 
whole 2.6.31 kernel, which means, we have to postpone 1.3. and 1.4. until 
2.6.32.

2. The above means, I'll have to maintain and update my patches for a 
whole 2.6.31 development cycle. In this time I'll try to update and upload 
them as a quilt patch series and announce it on the list a couple of 
times.

3. This also means, development will become more difficult, new features 
and drivers will only be accepted on the top of my patch stack, bugfixes 
will have to be accpeted against the mainline, which then will mean extra 
porting work for me.

4. In a message I posted a few minutes ago

http://www.mail-archive.com/linux-media@xxxxxxxxxxxxxxx/msg06294.html

I'm asking about a correct interpretation of S_CROP and S_FMT operations. 
I suspect, what soc-camera framework and all drivers thereunder are doing 
is wrong, and have to be fixed rather sooner than later. However, I'd be 
very much against fixing this in the present stack, because that would 
mean a _lot_ of porting. So, this will remain standard-non-compliant until 
2.6.32 too.

5. The conversion described in (1) is only partial, in its current form it 
does not replace the existing soc-camera API between sensor drivers and 
the soc-camera core with v4l2-subdev operations completely. Partly because 
many of the current soc-camera methods are still missing in v4l2-subdev, 
partly because it just makes more sense to first push the principle 
conversion in the mainline, which at least removes soc-camera device 
registration and switches to i2c driver autoloading and replaces some 
trivially replaceable methods, like [gs]_fmt, [gs]_register, [gs]_control. 
Some of the missing methods, like [gs]_crop should be easy to add, others, 
like pixel format and bus parameter negotiations would require some 
thinking and substantial work. Which makes this all some 2.6.33 
material... but who wants to think that far...

6. As you see, this all looks like a lot of work, and I so far have been 
doing all of this in my free time. But it would become difficult with 
these amounts of work. So, I would welcome if either someone would step 
forward to help with this work, or if some company would volunteer to 
support this work financially.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
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