One of present soc-camera goals is to allow re-use of client (sensor, decoder, etc.) drivers with standard V4L2 bridge (host) drivers, ideally, even with gspca;-) The soc-camera framework has been using the V4L2 subdevice API since a long time, but even until now there are several methods, that soc-camera client drivers have to provide, that are not a part of the V4L2 subdevice API. These methods are collected in
struct soc_camera_ops and include two calls to configure the media bus parameters. Besides, that struct contains a list of V4L2 control descriptors, simplifying their implementation in specific drivers. After a lengthy discussion on the linux-media mailing list a
patch has been accepted, that adds two V4L2 subdevice compatibility operations to allow a smooth soc-camera driver porting.
The V4L2 control support in soc-camera also has to be migrated to the new V4L2 control framework. Hans Verkuil has posted a
patch series back in January 2011 to perform this migration. Unfortunately, since then he hasn't found the time to update it. When updated, this patch series will finally allow supporting of the full driver functionality both within and outside of the soc-camera subsystem.
Another less externally visible, but also very significant change in the soc-camera framework is the
patch, removing the soc-camera bus type and device nodes, that used to reside on that bus. This bus has been a nice abstraction in the past to represent client devices in sysfs and to maintain object life-cycle. However, with the advancements of the V4L2 subdevice, Media Controller and media pad-level APIs, these devices have become redundant. This has been one of those nasty huge patches, simultaneously modifying the API and its users, but changes to specific drivers are really mostly very small and trivial, and doing the conversion "the right way" would have taken too much work. So, I decided to bite the bullet and pull this change through.
As for more remote tasks, soc-camera is heading towards the pad-level API, multi-size buffers, snapshot mode support and many more exciting features, as well as new wonderful and truly amazing drivers, so, stay tuned:-)